On 10 February 2011 18:10, Dale Henrichs <dhenrich@vmware.com> wrote:
Marcus,
Since there are truncated lines in the mail message, it isn't possible to tell precisely what broke, but I did look at the console output:
 https://pharo-ic.lille.inria.fr/hudson/job/Pharo%201.3/16/console
and according to the stack on the console it looks like the top of the stack was:
 UndefinedObject(Object)>>doesNotUnderstand: #readStream  MCScanner class>>scanTokens:  MCMczReader>>parseMember:
and this is the typical signature of a failed mcz download ... where the file was created with little or no content ...
If I recall correctly, there may be a corrupted file in the package-cache, so the package-cache needs to be cleared before retrying ...
i wonder why MC don't throws something like 'DownloadFailedError' , and returning nil instead.
Dale
On 02/10/2011 08:17 AM, Marcus Denker wrote:
We should really fix the 1.3 build....
Begin forwarded message:
From: hudson@pharo-ic.lille.inria.fr Date: February 10, 2011 7:06:37 AM PST To: marcus.denker@inria.fr, Pharo-project@lists.gforge.inria.fr Subject: Build failed in Hudson: Pharo 1.3 #16
See<https://pharo-ic.lille.inria.fr/hudson/job/Pharo%201.3/16/>
------------------------------------------ [...truncated 775 lines...]  MetacelloMCProjectSpec>>load  MetacelloProjectReferenceSpec>>loadUsing:gofer:  [:pkg | pkg loadUsing: self gofer: gofer] in MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>linearLoadPackageSpecs:repositories:  OrderedCollection>>do:
 MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>linearLoadPackageSpecs:repositories:  [super linearLoadPackageSpecs: packageSpecs repositories: repositories] in MetacelloFetchingMCSpecLoader>>linearLoadPackageSpecs:repositories:  BlockClosure>>ensure:  MetacelloLoaderPolicy>>pushLoadDirective:during:  MetacelloLoaderPolicy>>pushLinearLoadDirectivesDuring:for:  MetacelloFetchingMCSpecLoader>>linearLoadPackageSpecs:repositories:  MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>load  MetacelloMCVersionSpecLoader>>load  MetacelloMCVersion>>executeLoadFromArray:  [self versionSpec loader: newLoader.    ^ self executeLoadFromArray: anArray] in [[self versionSpec loader: newLoader.    ^ self executeLoadFromArray: anArray]        ensure: [self versionSpec loader: originalLoader]] in MetacelloMCVersion>>fetchRequiredFromArray:  BlockClosure>>ensure:  [[self versionSpec loader: newLoader.    ^ self executeLoadFromArray: anArray]        ensure: [self versionSpec loader: originalLoader]] in MetacelloMCVersion>>fetchRequiredFromArray:  MetacelloPharoPlatform(MetacelloPlatform)>>do:displaying:  MetacelloPharoPlatform>>do:displaying:  MetacelloMCVersion>>fetchRequiredFromArray:  [| fetchLoader |  fetchLoader := self fetchRequiredFromArray: anArray.    MetacelloPlatform current        do: [fetchLoader doLoad]        displaying: 'Loading ' , displayString.    Transcript cr; show: '...finished ' , self versionNumber printString.    ^ fetchLoader] in MetacelloMCVersion>>doLoadRequiredFromArray:  BlockClosure>>ensure:  MetacelloMCVersion>>doLoadRequiredFromArray:  MetacelloMCVersion>>load  UndefinedObject>>DoIt  Compiler>>evaluate:in:to:notifying:ifFail:logged:  Compiler class>>evaluate:for:notifying:logged:  Compiler class>>evaluate:for:logged:  Compiler class>>evaluate:logged:  [| chunk | val := (self peekFor: $!)                ifTrue: [(Compiler evaluate: self nextChunk logged: false)                        scanFrom: self]                ifFalse: [chunk := self nextChunk.                    self checkForPreamble: chunk.                    Compiler evaluate: chunk logged: true]] in [:bar |  [self atEnd]        whileFalse: [bar value: self position.            self skipSeparators.            [| chunk | val := (self peekFor: $!)                        ifTrue: [(Compiler evaluate: self nextChunk logged: false)                                scanFrom: self]                        ifFalse: [chunk := self nextChunk.                            self checkForPreamble: chunk.                            Compiler evaluate: chunk logged: true]]                on: InMidstOfFileinNotification                do: [:ex | ex resume: true].            self skipStyleChunk].    self close] in RWBinaryOrTextStream(PositionableStream)>>fileInAnnouncing:  BlockClosure>>on:do:  [:bar |  [self atEnd]        whileFalse: [bar value: self position.            self skipSeparators.            [| chunk | val := (self peekFor: $!)                        ifTrue: [(Compiler evaluate: self nextChunk logged: false)                                scanFrom: self]                        ifFalse: [chunk := self nextChunk.                            self checkForPreamble: chunk.                            Compiler evaluate: chunk logged: true]]                on: InMidstOfFileinNotification                do: [:ex | ex resume: true].            self skipStyleChunk].    self close] in RWBinaryOrTextStream(PositionableStream)>>fileInAnnouncing:  NonInteractiveUIManager>>progressInitiationExceptionDefaultAction:  ProgressInitiationException>>defaultAction  UndefinedObject>>handleSignal:  ProgressInitiationException(Exception)>>signal  ProgressInitiationException>>display:at:from:to:during:  ProgressInitiationException class>>display:at:from:to:during:  ByteString(String)>>displayProgressAt:from:to:during:  RWBinaryOrTextStream(PositionableStream)>>fileInAnnouncing:  RWBinaryOrTextStream(PositionableStream)>>fileIn  CodeLoader>>installSourceFile:  [:req | self installSourceFile: req contentStream] in CodeLoader>>installSourceFiles  Array(SequenceableCollection)>>do:  CodeLoader>>installSourceFiles  ProjectLauncher>>startUpAfterLogin  ProjectLauncher>>startUp  [launcher startUp] in [:launcher | ws        addDeferredUIMessage: [launcher startUp]] in AutoStart class>>startUp:  WorldState>>runStepMethodsIn:  PasteUpMorph>>runStepMethods  WorldState>>doOneCycleNowFor:  WorldState>>doOneCycleFor:  PasteUpMorph>>doOneCycle  [[World doOneCycle.    Processor yield.    false] whileFalse.    nil] in Project class>>spawnNewProcess  [self value.    Processor terminateActive] in BlockClosure>>newProcess  ------------------------------------------------------------
 Processes and their stacks:  Process: a Process in nil   stack:
 Array(SequenceableCollection)>>do:  [:logger |  logger nextPutAll: 'Processes and their stacks: ';         cr.    Process allInstances        do: [:each |            | ctx |            logger nextPutAll: 'Process: ';                 print: each;                 cr;                 nextPutAll: '  stack:';                 cr;                 cr.            ctx := each isActiveProcess                        ifTrue: [thisContext sender]                        ifFalse: [each suspendedContext].            ctx                ifNotNil: [(ctx stackOfSize: 20)                        do: [:s | logger print: s;                                 cr]].            logger nextPutAll: '------------------------------';                 cr;                 cr]] in [Smalltalk logError: aString inContext: aContext.    Smalltalk        logDuring: [:logger |            logger nextPutAll: 'Processes and their stacks: ';                 cr.            Process allInstances                do: [:each |                    | ctx |                    logger nextPutAll: 'Process: ';                         print: each;                         cr;                         nextPutAll: '  stack:';                         cr;                         cr.                    ctx := each isActiveProcess                                ifTrue: [thisContext sender]                                ifFalse: [each suspendedContext].                    ctx                        ifNotNil: [(ctx stackOfSize: 20)                                do: [:s | logger print: s;
   cr]].                    logger nextPutAll: '------------------------------';                         cr;                         cr]]] in NonInteractiveUIManager>>quitFrom:withMessage:  [logStream := self openLog.    aMonadicBlock value: logStream] in SmalltalkImage>>logDuring:  BlockClosure>>ensure:  SmalltalkImage>>logDuring:  [Smalltalk logError: aString inContext: aContext.    Smalltalk        logDuring: [:logger |            logger nextPutAll: 'Processes and their stacks: ';                 cr.            Process allInstances                do: [:each |                    | ctx |                    logger nextPutAll: 'Process: ';                         print: each;                         cr;                         nextPutAll: '  stack:';                         cr;                         cr.                    ctx := each isActiveProcess                                ifTrue: [thisContext sender]                                ifFalse: [each suspendedContext].                    ctx                        ifNotNil: [(ctx stackOfSize: 20)                                do: [:s | logger print: s;
   cr]].                    logger nextPutAll: '------------------------------';                         cr;                         cr]]] in NonInteractiveUIManager>>quitFrom:withMessage:  BlockClosure>>ensure:  NonInteractiveUIManager>>quitFrom:withMessage:  NonInteractiveUIManager>>unhandledErrorDefaultAction:  UnhandledError>>defaultAction  UndefinedObject>>handleSignal:  MethodContext(ContextPart)>>handleSignal:  MethodContext(ContextPart)>>handleSignal:  MethodContext(ContextPart)>>handleSignal:  UnhandledError(Exception)>>signal  UnhandledError class>>signalForException:  MessageNotUnderstood(Error)>>defaultAction  MessageNotUnderstood>>defaultAction  UndefinedObject>>handleSignal:  MethodContext(ContextPart)>>handleSignal:  ------------------------------
 Process: a Process in Delay class>>handleTimerEvent   stack:
 Delay class>>handleTimerEvent  Delay class>>runTimerEventLoop  [self runTimerEventLoop] in Delay class>>startTimerEventLoop  [self value.    Processor terminateActive] in BlockClosure>>newProcess  ------------------------------
 Process: a Process in SmalltalkImage>>lowSpaceWatcher   stack:
 SmalltalkImage>>lowSpaceWatcher  [self lowSpaceWatcher] in SmalltalkImage>>installLowSpaceWatcher  [self value.    Processor terminateActive] in BlockClosure>>newProcess  ------------------------------
 Process: a Process in ProcessorScheduler class>>idleProcess   stack:
 ProcessorScheduler class>>idleProcess  [self idleProcess] in ProcessorScheduler class>>startUp  [self value.    Processor terminateActive] in BlockClosure>>newProcess  ------------------------------
 Process: a Process in [delaySemaphore wait] in Delay>>wait   stack:
 [delaySemaphore wait] in Delay>>wait  BlockClosure>>ifCurtailed:  Delay>>wait  InputEventPollingFetcher>>waitForInput  InputEventPollingFetcher(InputEventFetcher)>>eventLoop  [self eventLoop] in InputEventPollingFetcher(InputEventFetcher)>>installEventLoop  [self value.    Processor terminateActive] in BlockClosure>>newProcess  ------------------------------
 Process: a Process in WeakArray class>>finalizationProcess   stack:
 WeakArray class>>finalizationProcess  [self finalizationProcess] in WeakArray class>>restartFinalizationProcess  [self value.    Processor terminateActive] in BlockClosure>>newProcess  ------------------------------
Archiving artifacts Enregistrement des résultats des tests
-- Marcus Denker  -- http://www.marcusdenker.de INRIA Lille -- Nord Europe. Team RMoD.
-- Best regards, Igor Stasenko AKA sig.