Jenkins build is still unstable: moose-latest-dev #960

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
56 messages Options
123
Reply | Threaded
Open this post in threaded view
|

Build failed in Jenkins: moose-latest-dev #988

admin-2
See <http://hudson.moosetechnology.org/job/moose-latest-dev/988/>

------------------------------------------
Started by timer
[workspace] $ /bin/sh -xe /tmp/hudson5602641179927831831.sh
+ rm -rf <http://hudson.moosetechnology.org/job/moose-latest-dev/ws/moose> <http://hudson.moosetechnology.org/job/moose-latest-dev/ws/moose-tests> <http://hudson.moosetechnology.org/job/moose-latest-dev/988/artifact/moose_suite-4_7_dev.zip>
+ /srv/hudson.moosetechnology.org/builder/build.sh -i Pharo-1.4 -s nautilus -s moose -s glamorous-theme -s moose-clean -s glamorous-toolkit -s cleanupforrelease -o moose
/srv/hudson.moosetechnology.org/builder/build.sh: fork: Cannot allocate memory
Process leaked file descriptors. See http://wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build for more information
Recording test results
Archiving artifacts

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Jenkins build is unstable: moose-latest-dev #989

admin-2
Reply | Threaded
Open this post in threaded view
|

Jenkins build is still unstable: moose-latest-dev #990

admin-2
Reply | Threaded
Open this post in threaded view
|

Jenkins build is still unstable: moose-latest-dev #991

admin-2
Reply | Threaded
Open this post in threaded view
|

Build failed in Jenkins: moose-latest-dev #992

admin-2
See <http://hudson.moosetechnology.org/job/moose-latest-dev/992/>

------------------------------------------
[...truncated 608 lines...]
  organization: ('installing' installSourceFile: installSourceFiles)
  ('loading' l...etc...
  subclasses: nil
  name: #BasicCodeLoader
  classPool: nil
  sharedPools: nil
  environment: a SystemDictionary(lots of globals)
  category: #'System-Download'
  traitComposition: {}
  localSelectors: nil
 
 
  [:each |
  | actionBlock conditionBlock |
  conditionBlock := each key.
  actionBlock := each value.
  (conditionBlock value: anUserInput)
  ifTrue: [actionBlock value: anUserInput]] in CommandLine class(AbstractUserInput class)>>dispatch:
  Receiver: CommandLine
  Arguments and temporary variables:
  anUserInput: [:commandLine | BasicCodeLoader commandLineHandlerCondition: comma...etc...
  each: a CommandLine
  actionBlock: [:commandLine | BasicCodeLoader commandLineHandlerAction: commandL...etc...
  conditionBlock: [:commandLine | BasicCodeLoader commandLineHandlerCondition: co...etc...
  Receiver's instance variables:
  superclass: AbstractUserInput
  methodDict: a MethodDictionary()
  format: 136
  instanceVariables: nil
  organization: ('as yet unclassified')
 
  subclasses: nil
  name: #CommandLine
  classPool: nil
  sharedPools: nil
  environment: a SystemDictionary(lots of globals)
  category: #'System-Support'
  traitComposition: {}
  localSelectors: nil
  registrations: a Dictionary(#BasicCodeLoader->[:commandLine | BasicCodeLoader c...etc...
  singleton: a CommandLine
 
 
  [:association | aBlock value: association value] in Dictionary>>valuesDo:
  Receiver: a Dictionary(#BasicCodeLoader->[:commandLine | BasicCodeLoader commandLineHandlerCondition...etc...
  Arguments and temporary variables:
  aBlock: #BasicCodeLoader->[:commandLine | BasicCodeLoader commandLineHandlerCon...etc...
  association: [:each |
  | actionBlock conditionBlock |
  conditionBlock := each ke...etc...
  Receiver's instance variables:
  tally: 1
  array: an Array(nil nil nil nil nil nil #BasicCodeLoader->[:commandLine | Basic...etc...
 
 
  [:each | each
  ifNotNil: [aBlock value: each]] in Dictionary>>associationsDo:
  Receiver: a Dictionary(#BasicCodeLoader->[:commandLine | BasicCodeLoader commandLineHandlerCondition...etc...
  Arguments and temporary variables:
  aBlock: #BasicCodeLoader->[:commandLine | BasicCodeLoader commandLineHandlerCon...etc...
  each: [:association | aBlock value: association value]
  Receiver's instance variables:
  tally: 1
  array: an Array(nil nil nil nil nil nil #BasicCodeLoader->[:commandLine | Basic...etc...
 
 
  Array(SequenceableCollection)>>do:
  Receiver: an Array(nil nil nil nil nil nil #BasicCodeLoader->[:commandLine | BasicCodeLoader command...etc...
  Arguments and temporary variables:
  aBlock: [:each | each
  ifNotNil: [aBlock value: each]]
  index: 7
  indexLimiT: 7
  Receiver's instance variables:
  an Array(nil nil nil nil nil nil #BasicCodeLoader->[:commandLine | BasicCodeLoader command...etc...
 
 
  --- The full stack ---
  UndefinedObject(Object)>>doesNotUnderstand: #new
  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: [(self class evaluatorClass evaluate: self nextChunk logged: false)
  scanFrom: self]
  ifFalse: [chunk := self nextChunk.
  self checkForPreamble: chunk.
  self class evaluatorClass evaluate: chunk logged: true]] in [:bar |
  [self atEnd]
  whileFalse: [bar value: self position.
  self skipSeparators.
  [| chunk | val := (self peekFor: $!)
  ifTrue: [(self class evaluatorClass evaluate: self nextChunk logged: false)
  scanFrom: self]
  ifFalse: [chunk := self nextChunk.
  self checkForPreamble: chunk.
  self class evaluatorClass evaluate: chunk logged: true]]
  on: InMidstOfFileinNotification
  do: [:ex | ex resume: true].
  self skipStyleChunk].
  self close] in FileSystemFileStream(PositionableStream)>>fileInAnnouncing:
  BlockClosure>>on:do:
  [:bar |
  [self atEnd]
  whileFalse: [bar value: self position.
  self skipSeparators.
  [| chunk | val := (self peekFor: $!)
  ifTrue: [(self class evaluatorClass evaluate: self nextChunk logged: false)
  scanFrom: self]
  ifFalse: [chunk := self nextChunk.
  self checkForPreamble: chunk.
  self class evaluatorClass evaluate: chunk logged: true]]
  on: InMidstOfFileinNotification
  do: [:ex | ex resume: true].
  self skipStyleChunk].
  self close] in FileSystemFileStream(PositionableStream)>>fileInAnnouncing:
  NonInteractiveUIManager(CommandLineUIManager)>>progressInitiationExceptionDefaultAction:
  ProgressInitiationException>>defaultAction
  UndefinedObject>>handleSignal:
  MethodContext(ContextPart)>>handleSignal:
  MethodContext(ContextPart)>>handleSignal:
  MethodContext(ContextPart)>>handleSignal:
  ProgressInitiationException(Exception)>>signal
  ProgressInitiationException>>display:at:from:to:during:
  ProgressInitiationException class>>display:at:from:to:during:
  ByteString(String)>>displayProgressFrom:to:during:
  FileSystemFileStream(PositionableStream)>>fileInAnnouncing:
  FileSystemFileStream(PositionableStream)>>fileIn
  [^ (FileSystemFileStream with: stream contents asString) reset fileIn] in [:stream | [^ (FileSystemFileStream with: stream contents asString) reset fileIn]
  on: Error , ParserNotification
  do: [:e | self handleError: e reference: aReference]] in BasicCodeLoader>>installSourceFile:
  BlockClosure>>on:do:
  [:stream | [^ (FileSystemFileStream with: stream contents asString) reset fileIn]
  on: Error , ParserNotification
  do: [:e | self handleError: e reference: aReference]] in BasicCodeLoader>>installSourceFile:
  [aBlock value: stream] in FileReference>>readStreamDo:
  BlockClosure>>ensure:
  FileReference>>readStreamDo:
  BasicCodeLoader>>installSourceFile:
  [:reference | self installSourceFile: reference] in [sourceFiles
  do: [:reference | self installSourceFile: reference]] in BasicCodeLoader>>installSourceFiles
  Array(SequenceableCollection)>>do:
  [sourceFiles
  do: [:reference | self installSourceFile: reference]] in BasicCodeLoader>>installSourceFiles
  BlockClosure>>ensure:
  BasicCodeLoader>>installSourceFiles
  BasicCodeLoader class>>commandLineHandlerAction:
  [:commandLine | BasicCodeLoader commandLineHandlerAction: commandLine] in BasicCodeLoader class>>initialize
  [:each |
  | actionBlock conditionBlock |
  conditionBlock := each key.
  actionBlock := each value.
  (conditionBlock value: anUserInput)
  ifTrue: [actionBlock value: anUserInput]] in CommandLine class(AbstractUserInput class)>>dispatch:
  [:association | aBlock value: association value] in Dictionary>>valuesDo:
  [:each | each
  ifNotNil: [aBlock value: each]] in Dictionary>>associationsDo:
  Array(SequenceableCollection)>>do:
   - - - - - - - - - - - - - - -  
  - - - - - - - - - - - - - - - - - -
  Dictionary>>associationsDo:
  Dictionary>>valuesDo:
  Dictionary>>do:
  CommandLine class(AbstractUserInput class)>>dispatch:
  [self dispatch: singleton] in CommandLine class>>dispatch
  BlockClosure>>cull:
  [each cull: resuming] in [:each | self
  logStartUpErrorDuring: [each cull: resuming]
  into: errors
  tryDebugger: self isInteractive] in SmalltalkImage>>executeDeferredStartupActions:
  BlockClosure>>on:do:
  SmalltalkImage>>logStartUpErrorDuring:into:tryDebugger:
  [:each | self
  logStartUpErrorDuring: [each cull: resuming]
  into: errors
  tryDebugger: self isInteractive] in SmalltalkImage>>executeDeferredStartupActions:
  OrderedCollection>>do:
  SmalltalkImage>>executeDeferredStartupActions:
  SmalltalkImage>>snapshot:andQuit:
  [Smalltalk snapshot: true andQuit: true] in WorldState class>>saveAndQuit
  BlockClosure>>ensure:
  CursorWithMask(Cursor)>>showWhile:
  WorldState class>>saveAndQuit
  [| selArgCount |
  (selArgCount := selector numArgs) = 0
  ifTrue: [target perform: selector]
  ifFalse: [selArgCount = arguments size
  ifTrue: [target perform: selector withArguments: arguments]
  ifFalse: [target
  perform: selector
  withArguments: (arguments copyWith: evt)]].
  self changed] in ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent:
  BlockClosure>>ensure:
  CursorWithMask(Cursor)>>showWhile:
  ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent:
  ToggleMenuItemMorph(MenuItemMorph)>>mouseUp:
  ToggleMenuItemMorph(MenuItemMorph)>>handleMouseUp:
  MouseButtonEvent>>sentTo:
  ToggleMenuItemMorph(Morph)>>handleEvent:
  MorphicEventDispatcher>>dispatchDefault:with:
  MorphicEventDispatcher>>dispatchEvent:with:
  ToggleMenuItemMorph(Morph)>>processEvent:using:
  MorphicEventDispatcher>>dispatchDefault:with:
  MorphicEventDispatcher>>dispatchEvent:with:
  MenuMorph(Morph)>>processEvent:using:
  MenuMorph(Morph)>>processEvent:
  MenuMorph>>handleFocusEvent:
  [ActiveHand := self.
  ActiveEvent := anEvent.
  result := focusHolder
  handleFocusEvent: (anEvent
  transformedBy: (focusHolder transformedFrom: self))] in HandMorph>>sendFocusEvent:to:clear:
  [aBlock value] in PasteUpMorph>>becomeActiveDuring:
  BlockClosure>>on:do:
  PasteUpMorph>>becomeActiveDuring:
  HandMorph>>sendFocusEvent:to:clear:
  HandMorph>>sendEvent:focus:clear:
  HandMorph>>sendMouseEvent:
  HandMorph>>handleEvent:
  HandMorph>>processEvents
  [:h |
  ActiveHand := h.
  h processEvents.
  ActiveHand := nil] in WorldState>>doOneCycleNowFor:
  Array(SequenceableCollection)>>do:
  WorldState>>handsDo:
  WorldState>>doOneCycleNowFor:
  WorldState>>doOneCycleFor:
  PasteUpMorph>>doOneCycle
  [[World doOneCycle.
  Processor yield.
  false] whileFalse.
  nil] in MorphicUIManager>>spawnNewProcess
  [self value.
  Processor terminateActive] in BlockClosure>>newProcess
  -------------------------------------------------------------------------------
 
  THERE_BE_DRAGONS_HERE
  Got startup errors:
  -------------------------------------------------------------------------------
 
  THERE_BE_DRAGONS_HERE
      MessageNotUnderstood: receiver of "new" is nil
  -------------------------------------------------------------------------------
 
Recording test results
Archiving artifacts

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Jenkins build is unstable: moose-latest-dev #993

admin-2
Reply | Threaded
Open this post in threaded view
|

Build failed in Jenkins: moose-latest-dev #994

admin-2
See <http://hudson.moosetechnology.org/job/moose-latest-dev/994/>

------------------------------------------
[...truncated 556 lines...]
  [self atEnd]
  whileFalse: [bar value: self position.
  self ...etc...
  pc: 17
  stackp: 3
  method: (BlockClosure>>#on:do: "a CompiledMethod(869793792)")
  closureOrNil: nil
  receiver: [| chunk | val := (self peekFor: $!)
  ifTrue: [(self class evaluat...etc...
 
 
 
  --- The full stack ---
  RBInternalSpellChecker(Object)>>error:
  RBInternalSpellChecker>>loadData
  RBInternalSpellChecker>>initialize
  RBInternalSpellChecker class(Behavior)>>new
  [:cl | cl new] in ConfigurationOfRefactoringBrowser>>postLoadRBSpelling
  BlockClosure>>cull:
  SystemDictionary(Dictionary)>>at:ifPresent:
  SmalltalkImage>>at:ifPresent:
  ConfigurationOfRefactoringBrowser>>postLoadRBSpelling
  [self project configuration perform: selector] in MetacelloPackageSpec(MetacelloSpec)>>doItBlock:
  BlockClosure>>valueWithPossibleArgs:
  [block
  valueWithPossibleArgs: (Array with: aPostloadDirective loader with: aPostloadDirective spec)] in MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadPostloadDirective:
  MetacelloPostLoadDirective(MetacelloPrePostLoadDirective)>>evaluateSupplyingAnswers:
  MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadPostloadDirective:
  MetacelloPostLoadDirective>>loadUsing:gofer:
  [:directive | directive loadUsing: aLoaderDirective gofer: aGofer] in MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
  OrderedCollection>>do:
  MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
  MetacelloLinearLoadDirective>>loadUsing:gofer:
  [:directive | directive loadUsing: aLoaderDirective gofer: aGofer] in MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
  OrderedCollection>>do:
  MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
  MetacelloLinearLoadDirective>>loadUsing:gofer:
  [:directive | directive loadUsing: aLoaderDirective gofer: aGofer] in MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
  OrderedCollection>>do:
  MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
  MetacelloLinearLoadDirective>>loadUsing:gofer:
  MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadWithPolicy:
  MetacelloLoaderPolicy>>load
  MetacelloFetchingMCSpecLoader>>doLoad
  [fetchLoader doLoad] in [| fetchLoader |
  fetchLoader := self
  fetchRequiredFromArray: (self defaultPackageNamesToLoad: anArray).
  MetacelloPlatform current
  do: [fetchLoader doLoad]
  displaying: 'Loading ' , displayString.
  Transcript cr; show: '...finished ' , self versionNumber printString.
  ^ fetchLoader] in MetacelloMCVersion>>doLoadRequiredFromArray:
  [:bar |
  bar value: 1.
  aBlock value.
  bar value: 2] in MetacelloPharoPlatform>>do:displaying:
  NonInteractiveUIManager(CommandLineUIManager)>>progressInitiationExceptionDefaultAction:
  ProgressInitiationException>>defaultAction
  UndefinedObject>>handleSignal:
  MethodContext(ContextPart)>>handleSignal:
  MethodContext(ContextPart)>>handleSignal:
  MethodContext(ContextPart)>>handleSignal:
  MethodContext(ContextPart)>>handleSignal:
   - - - - - - - - - - - - - - -  
  - - - - - - - - - - - - - - - - - -
  ProgressInitiationException(Exception)>>signal
  ProgressInitiationException>>display:at:from:to:during:
  ProgressInitiationException class>>display:at:from:to:during:
  ByteString(String)>>displayProgressAt:from:to:during:
  MetacelloPharoPlatform>>do:displaying:
  [| fetchLoader |
  fetchLoader := self
  fetchRequiredFromArray: (self defaultPackageNamesToLoad: 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: [(self class evaluatorClass evaluate: self nextChunk logged: false)
  scanFrom: self]
  ifFalse: [chunk := self nextChunk.
  self checkForPreamble: chunk.
  self class evaluatorClass evaluate: chunk logged: true]] in [:bar |
  [self atEnd]
  whileFalse: [bar value: self position.
  self skipSeparators.
  [| chunk | val := (self peekFor: $!)
  ifTrue: [(self class evaluatorClass evaluate: self nextChunk logged: false)
  scanFrom: self]
  ifFalse: [chunk := self nextChunk.
  self checkForPreamble: chunk.
  self class evaluatorClass evaluate: chunk logged: true]]
  on: InMidstOfFileinNotification
  do: [:ex | ex resume: true].
  self skipStyleChunk].
  self close] in FileSystemFileStream(PositionableStream)>>fileInAnnouncing:
  BlockClosure>>on:do:
  [:bar |
  [self atEnd]
  whileFalse: [bar value: self position.
  self skipSeparators.
  [| chunk | val := (self peekFor: $!)
  ifTrue: [(self class evaluatorClass evaluate: self nextChunk logged: false)
  scanFrom: self]
  ifFalse: [chunk := self nextChunk.
  self checkForPreamble: chunk.
  self class evaluatorClass evaluate: chunk logged: true]]
  on: InMidstOfFileinNotification
  do: [:ex | ex resume: true].
  self skipStyleChunk].
  self close] in FileSystemFileStream(PositionableStream)>>fileInAnnouncing:
  NonInteractiveUIManager(CommandLineUIManager)>>progressInitiationExceptionDefaultAction:
  ProgressInitiationException>>defaultAction
  UndefinedObject>>handleSignal:
  MethodContext(ContextPart)>>handleSignal:
  MethodContext(ContextPart)>>handleSignal:
  MethodContext(ContextPart)>>handleSignal:
  ProgressInitiationException(Exception)>>signal
  ProgressInitiationException>>display:at:from:to:during:
  ProgressInitiationException class>>display:at:from:to:during:
  ByteString(String)>>displayProgressFrom:to:during:
  FileSystemFileStream(PositionableStream)>>fileInAnnouncing:
  FileSystemFileStream(PositionableStream)>>fileIn
  [^ (FileSystemFileStream with: stream contents asString) reset fileIn] in [:stream | [^ (FileSystemFileStream with: stream contents asString) reset fileIn]
  on: Error , ParserNotification
  do: [:e | self handleError: e reference: aReference]] in BasicCodeLoader>>installSourceFile:
  BlockClosure>>on:do:
  [:stream | [^ (FileSystemFileStream with: stream contents asString) reset fileIn]
  on: Error , ParserNotification
  do: [:e | self handleError: e reference: aReference]] in BasicCodeLoader>>installSourceFile:
  [aBlock value: stream] in FileReference>>readStreamDo:
  BlockClosure>>ensure:
  FileReference>>readStreamDo:
  BasicCodeLoader>>installSourceFile:
  [:reference | self installSourceFile: reference] in [sourceFiles
  do: [:reference | self installSourceFile: reference]] in BasicCodeLoader>>installSourceFiles
  Array(SequenceableCollection)>>do:
  [sourceFiles
  do: [:reference | self installSourceFile: reference]] in BasicCodeLoader>>installSourceFiles
  BlockClosure>>ensure:
  BasicCodeLoader>>installSourceFiles
  BasicCodeLoader class>>commandLineHandlerAction:
  [:commandLine | BasicCodeLoader commandLineHandlerAction: commandLine] in BasicCodeLoader class>>initialize
  [:each |
  | actionBlock conditionBlock |
  conditionBlock := each key.
  actionBlock := each value.
  (conditionBlock value: anUserInput)
  ifTrue: [actionBlock value: anUserInput]] in CommandLine class(AbstractUserInput class)>>dispatch:
  [:association | aBlock value: association value] in Dictionary>>valuesDo:
  [:each | each
  ifNotNil: [aBlock value: each]] in Dictionary>>associationsDo:
  Array(SequenceableCollection)>>do:
  Dictionary>>associationsDo:
  Dictionary>>valuesDo:
  Dictionary>>do:
  CommandLine class(AbstractUserInput class)>>dispatch:
  [self dispatch: singleton] in CommandLine class>>dispatch
  BlockClosure>>cull:
  [each cull: resuming] in [:each | self
  logStartUpErrorDuring: [each cull: resuming]
  into: errors
  tryDebugger: self isInteractive] in SmalltalkImage>>executeDeferredStartupActions:
  BlockClosure>>on:do:
  SmalltalkImage>>logStartUpErrorDuring:into:tryDebugger:
  [:each | self
  logStartUpErrorDuring: [each cull: resuming]
  into: errors
  tryDebugger: self isInteractive] in SmalltalkImage>>executeDeferredStartupActions:
  OrderedCollection>>do:
  SmalltalkImage>>executeDeferredStartupActions:
  SmalltalkImage>>snapshot:andQuit:
  [Smalltalk snapshot: true andQuit: true] in WorldState class>>saveAndQuit
  BlockClosure>>ensure:
  CursorWithMask(Cursor)>>showWhile:
  WorldState class>>saveAndQuit
  [| selArgCount |
  (selArgCount := selector numArgs) = 0
  ifTrue: [target perform: selector]
  ifFalse: [selArgCount = arguments size
  ifTrue: [target perform: selector withArguments: arguments]
  ifFalse: [target
  perform: selector
  withArguments: (arguments copyWith: evt)]].
  self changed] in ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent:
  BlockClosure>>ensure:
  CursorWithMask(Cursor)>>showWhile:
  ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent:
  ToggleMenuItemMorph(MenuItemMorph)>>mouseUp:
  ToggleMenuItemMorph(MenuItemMorph)>>handleMouseUp:
  MouseButtonEvent>>sentTo:
  ToggleMenuItemMorph(Morph)>>handleEvent:
  MorphicEventDispatcher>>dispatchDefault:with:
  MorphicEventDispatcher>>dispatchEvent:with:
  ToggleMenuItemMorph(Morph)>>processEvent:using:
  MorphicEventDispatcher>>dispatchDefault:with:
  MorphicEventDispatcher>>dispatchEvent:with:
  MenuMorph(Morph)>>processEvent:using:
  MenuMorph(Morph)>>processEvent:
  MenuMorph>>handleFocusEvent:
  [ActiveHand := self.
  ActiveEvent := anEvent.
  result := focusHolder
  handleFocusEvent: (anEvent
  transformedBy: (focusHolder transformedFrom: self))] in HandMorph>>sendFocusEvent:to:clear:
  [aBlock value] in PasteUpMorph>>becomeActiveDuring:
  BlockClosure>>on:do:
  PasteUpMorph>>becomeActiveDuring:
  HandMorph>>sendFocusEvent:to:clear:
  HandMorph>>sendEvent:focus:clear:
  HandMorph>>sendMouseEvent:
  HandMorph>>handleEvent:
  HandMorph>>processEvents
  [:h |
  ActiveHand := h.
  h processEvents.
  ActiveHand := nil] in WorldState>>doOneCycleNowFor:
  Array(SequenceableCollection)>>do:
  WorldState>>handsDo:
  WorldState>>doOneCycleNowFor:
  WorldState>>doOneCycleFor:
  PasteUpMorph>>doOneCycle
  [[World doOneCycle.
  Processor yield.
  false] whileFalse.
  nil] in MorphicUIManager>>spawnNewProcess
  [self value.
  Processor terminateActive] in BlockClosure>>newProcess
  -------------------------------------------------------------------------------
 
  THERE_BE_DRAGONS_HERE
  Got startup errors:
  -------------------------------------------------------------------------------
 
  THERE_BE_DRAGONS_HERE
      Error: The spelling dictionary cannot be downloaded from <http://www.lukas-renggli.ch/smalltalk/rb-spelling.dat>.
  -------------------------------------------------------------------------------
 
Recording test results
Archiving artifacts

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Build failed in Jenkins: moose-latest-dev #995

admin-2
See <http://hudson.moosetechnology.org/job/moose-latest-dev/995/>

------------------------------------------
[...truncated 608 lines...]
  organization: ('installing' installSourceFile: installSourceFiles)
  ('loading' l...etc...
  subclasses: nil
  name: #BasicCodeLoader
  classPool: nil
  sharedPools: nil
  environment: a SystemDictionary(lots of globals)
  category: #'System-Download'
  traitComposition: {}
  localSelectors: nil
 
 
  [:each |
  | actionBlock conditionBlock |
  conditionBlock := each key.
  actionBlock := each value.
  (conditionBlock value: anUserInput)
  ifTrue: [actionBlock value: anUserInput]] in CommandLine class(AbstractUserInput class)>>dispatch:
  Receiver: CommandLine
  Arguments and temporary variables:
  anUserInput: [:commandLine | BasicCodeLoader commandLineHandlerCondition: comma...etc...
  each: a CommandLine
  actionBlock: [:commandLine | BasicCodeLoader commandLineHandlerAction: commandL...etc...
  conditionBlock: [:commandLine | BasicCodeLoader commandLineHandlerCondition: co...etc...
  Receiver's instance variables:
  superclass: AbstractUserInput
  methodDict: a MethodDictionary()
  format: 136
  instanceVariables: nil
  organization: ('as yet unclassified')
 
  subclasses: nil
  name: #CommandLine
  classPool: nil
  sharedPools: nil
  environment: a SystemDictionary(lots of globals)
  category: #'System-Support'
  traitComposition: {}
  localSelectors: nil
  registrations: a Dictionary(#BasicCodeLoader->[:commandLine | BasicCodeLoader c...etc...
  singleton: a CommandLine
 
 
  [:association | aBlock value: association value] in Dictionary>>valuesDo:
  Receiver: a Dictionary(#BasicCodeLoader->[:commandLine | BasicCodeLoader commandLineHandlerCondition...etc...
  Arguments and temporary variables:
  aBlock: #BasicCodeLoader->[:commandLine | BasicCodeLoader commandLineHandlerCon...etc...
  association: [:each |
  | actionBlock conditionBlock |
  conditionBlock := each ke...etc...
  Receiver's instance variables:
  tally: 1
  array: an Array(nil nil nil nil nil nil #BasicCodeLoader->[:commandLine | Basic...etc...
 
 
  [:each | each
  ifNotNil: [aBlock value: each]] in Dictionary>>associationsDo:
  Receiver: a Dictionary(#BasicCodeLoader->[:commandLine | BasicCodeLoader commandLineHandlerCondition...etc...
  Arguments and temporary variables:
  aBlock: #BasicCodeLoader->[:commandLine | BasicCodeLoader commandLineHandlerCon...etc...
  each: [:association | aBlock value: association value]
  Receiver's instance variables:
  tally: 1
  array: an Array(nil nil nil nil nil nil #BasicCodeLoader->[:commandLine | Basic...etc...
 
 
  Array(SequenceableCollection)>>do:
  Receiver: an Array(nil nil nil nil nil nil #BasicCodeLoader->[:commandLine | BasicCodeLoader command...etc...
  Arguments and temporary variables:
  aBlock: [:each | each
  ifNotNil: [aBlock value: each]]
  index: 7
  indexLimiT: 7
  Receiver's instance variables:
  an Array(nil nil nil nil nil nil #BasicCodeLoader->[:commandLine | BasicCodeLoader command...etc...
 
 
  --- The full stack ---
  UndefinedObject(Object)>>doesNotUnderstand: #new
  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: [(self class evaluatorClass evaluate: self nextChunk logged: false)
  scanFrom: self]
  ifFalse: [chunk := self nextChunk.
  self checkForPreamble: chunk.
  self class evaluatorClass evaluate: chunk logged: true]] in [:bar |
  [self atEnd]
  whileFalse: [bar value: self position.
  self skipSeparators.
  [| chunk | val := (self peekFor: $!)
  ifTrue: [(self class evaluatorClass evaluate: self nextChunk logged: false)
  scanFrom: self]
  ifFalse: [chunk := self nextChunk.
  self checkForPreamble: chunk.
  self class evaluatorClass evaluate: chunk logged: true]]
  on: InMidstOfFileinNotification
  do: [:ex | ex resume: true].
  self skipStyleChunk].
  self close] in FileSystemFileStream(PositionableStream)>>fileInAnnouncing:
  BlockClosure>>on:do:
  [:bar |
  [self atEnd]
  whileFalse: [bar value: self position.
  self skipSeparators.
  [| chunk | val := (self peekFor: $!)
  ifTrue: [(self class evaluatorClass evaluate: self nextChunk logged: false)
  scanFrom: self]
  ifFalse: [chunk := self nextChunk.
  self checkForPreamble: chunk.
  self class evaluatorClass evaluate: chunk logged: true]]
  on: InMidstOfFileinNotification
  do: [:ex | ex resume: true].
  self skipStyleChunk].
  self close] in FileSystemFileStream(PositionableStream)>>fileInAnnouncing:
  NonInteractiveUIManager(CommandLineUIManager)>>progressInitiationExceptionDefaultAction:
  ProgressInitiationException>>defaultAction
  UndefinedObject>>handleSignal:
  MethodContext(ContextPart)>>handleSignal:
  MethodContext(ContextPart)>>handleSignal:
  MethodContext(ContextPart)>>handleSignal:
  ProgressInitiationException(Exception)>>signal
  ProgressInitiationException>>display:at:from:to:during:
  ProgressInitiationException class>>display:at:from:to:during:
  ByteString(String)>>displayProgressFrom:to:during:
  FileSystemFileStream(PositionableStream)>>fileInAnnouncing:
  FileSystemFileStream(PositionableStream)>>fileIn
  [^ (FileSystemFileStream with: stream contents asString) reset fileIn] in [:stream | [^ (FileSystemFileStream with: stream contents asString) reset fileIn]
  on: Error , ParserNotification
  do: [:e | self handleError: e reference: aReference]] in BasicCodeLoader>>installSourceFile:
  BlockClosure>>on:do:
  [:stream | [^ (FileSystemFileStream with: stream contents asString) reset fileIn]
  on: Error , ParserNotification
  do: [:e | self handleError: e reference: aReference]] in BasicCodeLoader>>installSourceFile:
  [aBlock value: stream] in FileReference>>readStreamDo:
  BlockClosure>>ensure:
  FileReference>>readStreamDo:
  BasicCodeLoader>>installSourceFile:
  [:reference | self installSourceFile: reference] in [sourceFiles
  do: [:reference | self installSourceFile: reference]] in BasicCodeLoader>>installSourceFiles
  Array(SequenceableCollection)>>do:
  [sourceFiles
  do: [:reference | self installSourceFile: reference]] in BasicCodeLoader>>installSourceFiles
  BlockClosure>>ensure:
  BasicCodeLoader>>installSourceFiles
  BasicCodeLoader class>>commandLineHandlerAction:
  [:commandLine | BasicCodeLoader commandLineHandlerAction: commandLine] in BasicCodeLoader class>>initialize
  [:each |
  | actionBlock conditionBlock |
  conditionBlock := each key.
  actionBlock := each value.
  (conditionBlock value: anUserInput)
  ifTrue: [actionBlock value: anUserInput]] in CommandLine class(AbstractUserInput class)>>dispatch:
  [:association | aBlock value: association value] in Dictionary>>valuesDo:
  [:each | each
  ifNotNil: [aBlock value: each]] in Dictionary>>associationsDo:
  Array(SequenceableCollection)>>do:
   - - - - - - - - - - - - - - -  
  - - - - - - - - - - - - - - - - - -
  Dictionary>>associationsDo:
  Dictionary>>valuesDo:
  Dictionary>>do:
  CommandLine class(AbstractUserInput class)>>dispatch:
  [self dispatch: singleton] in CommandLine class>>dispatch
  BlockClosure>>cull:
  [each cull: resuming] in [:each | self
  logStartUpErrorDuring: [each cull: resuming]
  into: errors
  tryDebugger: self isInteractive] in SmalltalkImage>>executeDeferredStartupActions:
  BlockClosure>>on:do:
  SmalltalkImage>>logStartUpErrorDuring:into:tryDebugger:
  [:each | self
  logStartUpErrorDuring: [each cull: resuming]
  into: errors
  tryDebugger: self isInteractive] in SmalltalkImage>>executeDeferredStartupActions:
  OrderedCollection>>do:
  SmalltalkImage>>executeDeferredStartupActions:
  SmalltalkImage>>snapshot:andQuit:
  [Smalltalk snapshot: true andQuit: true] in WorldState class>>saveAndQuit
  BlockClosure>>ensure:
  CursorWithMask(Cursor)>>showWhile:
  WorldState class>>saveAndQuit
  [| selArgCount |
  (selArgCount := selector numArgs) = 0
  ifTrue: [target perform: selector]
  ifFalse: [selArgCount = arguments size
  ifTrue: [target perform: selector withArguments: arguments]
  ifFalse: [target
  perform: selector
  withArguments: (arguments copyWith: evt)]].
  self changed] in ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent:
  BlockClosure>>ensure:
  CursorWithMask(Cursor)>>showWhile:
  ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent:
  ToggleMenuItemMorph(MenuItemMorph)>>mouseUp:
  ToggleMenuItemMorph(MenuItemMorph)>>handleMouseUp:
  MouseButtonEvent>>sentTo:
  ToggleMenuItemMorph(Morph)>>handleEvent:
  MorphicEventDispatcher>>dispatchDefault:with:
  MorphicEventDispatcher>>dispatchEvent:with:
  ToggleMenuItemMorph(Morph)>>processEvent:using:
  MorphicEventDispatcher>>dispatchDefault:with:
  MorphicEventDispatcher>>dispatchEvent:with:
  MenuMorph(Morph)>>processEvent:using:
  MenuMorph(Morph)>>processEvent:
  MenuMorph>>handleFocusEvent:
  [ActiveHand := self.
  ActiveEvent := anEvent.
  result := focusHolder
  handleFocusEvent: (anEvent
  transformedBy: (focusHolder transformedFrom: self))] in HandMorph>>sendFocusEvent:to:clear:
  [aBlock value] in PasteUpMorph>>becomeActiveDuring:
  BlockClosure>>on:do:
  PasteUpMorph>>becomeActiveDuring:
  HandMorph>>sendFocusEvent:to:clear:
  HandMorph>>sendEvent:focus:clear:
  HandMorph>>sendMouseEvent:
  HandMorph>>handleEvent:
  HandMorph>>processEvents
  [:h |
  ActiveHand := h.
  h processEvents.
  ActiveHand := nil] in WorldState>>doOneCycleNowFor:
  Array(SequenceableCollection)>>do:
  WorldState>>handsDo:
  WorldState>>doOneCycleNowFor:
  WorldState>>doOneCycleFor:
  PasteUpMorph>>doOneCycle
  [[World doOneCycle.
  Processor yield.
  false] whileFalse.
  nil] in MorphicUIManager>>spawnNewProcess
  [self value.
  Processor terminateActive] in BlockClosure>>newProcess
  -------------------------------------------------------------------------------
 
  THERE_BE_DRAGONS_HERE
  Got startup errors:
  -------------------------------------------------------------------------------
 
  THERE_BE_DRAGONS_HERE
      MessageNotUnderstood: receiver of "new" is nil
  -------------------------------------------------------------------------------
 
Recording test results
Archiving artifacts

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Jenkins build is unstable: moose-latest-dev #996

admin-2
Reply | Threaded
Open this post in threaded view
|

Jenkins build is still unstable: moose-latest-dev #997

admin-2
Reply | Threaded
Open this post in threaded view
|

Jenkins build is still unstable: moose-latest-dev #998

admin-2
Reply | Threaded
Open this post in threaded view
|

Jenkins build is still unstable: moose-latest-dev #999

admin-2
Reply | Threaded
Open this post in threaded view
|

Jenkins build is still unstable: moose-latest-dev #1000

admin-2
Reply | Threaded
Open this post in threaded view
|

Build failed in Jenkins: moose-latest-dev #1001

admin-2
See <http://hudson.moosetechnology.org/job/moose-latest-dev/1001/>

------------------------------------------
Started by timer
[workspace] $ /bin/sh -xe /tmp/hudson3261893125649837938.sh
+ rm -rf <http://hudson.moosetechnology.org/job/moose-latest-dev/ws/moose> <http://hudson.moosetechnology.org/job/moose-latest-dev/ws/moose-tests> <http://hudson.moosetechnology.org/job/moose-latest-dev/1001/artifact/moose_suite-4_7_dev.zip>
+ /srv/hudson.moosetechnology.org/builder/build.sh -i Pharo-1.4 -s nautilus -s moose -s glamorous-theme -s moose-clean -s glamorous-toolkit -s cleanupforrelease -o moose

===============================================================================
Notice: Errors in script loaded from <http://hudson.moosetechnology.org/job/moose-latest-dev/1001/artifact/moose/moose.st>
===============================================================================
==== Startup Error: ZnHttpUnsuccessful: 502 Bad Gateway
ZnClient>>handleResponse
ZnClient>>executeWithRedirectsRemaining:
ZnClient>>executeWithRetriesRemaining: in Block: [self executeWithRedirectsRemaining: self maxNumbe...etc...
BlockClosure>>on:do:
ZnClient>>executeWithRetriesRemaining:
ZnClient>>executeWithRetriesRemaining: in Block: [:exception | retryCount > 0...
BlockClosure>>cull:
MethodContext(ContextPart)>>handleSignal: in Block: [(self tempAt: 2)...
BlockClosure>>ensure:
MethodContext(ContextPart)>>handleSignal:
Got startup errors:
    ZnHttpUnsuccessful: 502 Bad Gateway

blockNoContextSwitchOffset != null 9102
+ /srv/hudson.moosetechnology.org/builder/build.sh -i moose -s patch-inputsensor -s testrunner -s moose-tests -o moose-tests

===============================================================================
Notice: Errors in script loaded from <http://hudson.moosetechnology.org/job/moose-latest-dev/ws/moose-tests/moose-tests.st>
===============================================================================
==== Startup Error: MessageNotUnderstood: receiver of "new" is nil
UndefinedObject(Object)>>doesNotUnderstand: #new
UndefinedObject>>DoIt
Compiler>>evaluate:in:to:notifying:ifFail:logged:
Compiler class>>evaluate:for:notifying:logged:
Compiler class>>evaluate:for:logged:
Compiler class>>evaluate:logged:
FileSystemFileStream(PositionableStream)>>fileInAnnouncing: in Block: [| chunk | val := (self peekFor: $!)...
BlockClosure>>on:do:
FileSystemFileStream(PositionableStream)>>fileInAnnouncing: in Block: [:bar | ...
NonInteractiveUIManager(CommandLineUIManager)>>progressInitiationExceptionDefaultAction:
Got startup errors:
    MessageNotUnderstood: receiver of "new" is nil

blockNoContextSwitchOffset != null 9102
+ /srv/hudson.moosetechnology.org/builder/build-oneclick.sh -i moose -o moose_suite-4_7_dev -n Moose -t 'Moose Suite 4.7 Development ' -v 4.7 -c Moose
cp: cannot stat `/srv/ci.moosetechnology.org/builder/oneclick-icons/Moose.png': No such file or directory
cp: cannot stat `/srv/ci.moosetechnology.org/builder/oneclick-icons/Moose.ico': No such file or directory
cp: cannot stat `/srv/ci.moosetechnology.org/builder/oneclick-icons/Moose.icns': No such file or directory
Recording test results
No test report files were found. Configuration error?
Archiving artifacts


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Jenkins build is unstable: moose-latest-dev #1002

admin-2
Reply | Threaded
Open this post in threaded view
|

Re: Collection>>difference: behaviour in 1.4 (was Re: Jenkins build is still unstable: moose-latest-dev #972 )

Ben Coman
In reply to this post by Ben Coman
FYI... FixReviewNeeded refer
http://code.google.com/p/pharo/issues/detail?id=6019

Ben Coman wrote:

> This discussion originates from Mondrian on Moose 4.7 where layouts which
> previously were exactly reproducible now randomly alternate between two
> arrangements.  I have cross-posted since upstream behaviour of
> Collection>>difference: has changed between Pharo 1.3 and 1.4.  
>
> The issue in Mondrian has been isolated so that it can be observed using the
> attached changeset 'isolate-unstable-972.2.cs' against a fresh Moose 4.7 image
> downloaded a few moments ago.
> After loading the cs, open a Transcript and then <Generate> the following script
> in Modrian Easel a dozen times.
>             view shape label.
>             view nodes: #(1 2 3 4 ).
>             view edgesFromAssociations: { 1 -> 2. 1 ->3 . 3 -> 4}.
>             view treeLayout
>
> At some point you will see a change in the order that nodes are drawn between
> runs as reflected in lines B2 and A2 shown below...
> ------------------------------RUN 1
> B1>an OrderedCollection(a MONode model: 2 a MONode model: 3)
> B2>an OrderedCollection(a MONode model: 3 a MONode model: 2)
> A2>a MONode model: 1
> A2>a MONode model: 3
> A2>a MONode model: 4
> A2>a MONode model: 2
> ------------------------------RUN 2
> B1>an OrderedCollection(a MONode model: 2 a MONode model: 3)
> B2>an OrderedCollection(a MONode model: 2 a MONode model: 3)
> A2>a MONode model: 1
> A2>a MONode model: 2
> A2>a MONode model: 3
> A2>a MONode model: 4
> ------------------------------END
>
>
> The cause of this is a change in behaviour of Collection>>#difference: between
> Pharo 1.3 & 1.4.  This can be observed by executing the following in Workspace...
>     20 timesRepeat:
>     [
>         one := TextMorph new newContents: '1'.
>         two := TextMorph new newContents: '2'.
>         collection := (OrderedCollection with: one with: two).
>         diff := collection difference: OrderedCollection new.
>        Transcript crShow: diff first text, diff second text.
>     ]
>
> In Pharo 1.3 the result never deviates from '12'.
> In Pharo 1.4 the result is sometimes '21'.
>
> Pharo 1.3 has...
> Collection>>difference: aCollection
>     "Answer the set theoretic difference of two collections."
>     ^ self reject: [:each | aCollection includes: each]
>
> Pharo 1.4 has...
> Collection>>difference: aCollection
>     "Answer the set theoretic difference of two collections."
>     | set|
>     set := self asSet.
>     aCollection do: [ :each|
>         set remove: each ifAbsent: []].
>     ^ self species withAll: set asArray
>
>
> Your thoughts?
>
> cheers -ben
>
>
> Tudor Girba wrote:
> > Could it be a Pharo issue, because I think it happened since we moved to Pharo 1.4.
> >
> > Doru
> >
> >
> > On 15 May 2012, at 21:51, Alexandre Bergel wrote:
> >
> >  
> >> Well… this happens since the changes in the collection hierarchy a few weeks ago.
> >> The tree layout should indeed preserver the order. I spent some time but I could not see where the problem came from. I should spent some more time on this.
> >>
> >> Alexandre
> >> --
> >> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> >> Alexandre Bergel  http://www.bergel.eu
> >> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> >>
> >>
> >>
> >> On May 13, 2012, at 11:21 PM, Tudor Girba wrote:
> >>
> >>    
> >>> Thanks, Alex.
> >>>
> >>> But, it is not good in this case to fix the tests because the rendering should remain the same :(.
> >>>
> >>> For example, in the MetaBrowser I rely on the fact that the tree rendering remains the same to highlight the currently selected property.
> >>>
> >>> We need to investigate this issue closer because it is an important bug.
> >>>
> >>> Cheers,
> >>> Doru
> >>>
> >>>
> >>> On 14 May 2012, at 04:04, Alexandre Bergel wrote:
> >>>
> >>>      
> >>>>>> I've seen you committed in the Mondrian rep about the rubber band drag and drop facilities. This is indeed an interesting feature. However, I feel a bit more work is necessary. Here are my suggestions:
> >>>>>>  - can you make sure all the Mondrian tests are green. Apparently MORoot>>resetFormCacheResursively disappeared.
> >>>>>>
> >>>>>>            
> >>>>> Do you mean MONode>>resetFormCacheResursively which was renamed in Mondrian-Core-AlexandreBergel.79 ?
> >>>>> I've searched back a few Mondrian-Core mcz files and not found MORoot>>resetFormCacheResursively.
> >>>>> I fixed a few remaining references to this in Mondrian-Core-BenComan.80 et al.
> >>>>>
> >>>>>          
> >>>> Ok, I've produced a new version of Mondrian that includes your changes.
> >>>>
> >>>>        
> >>>>> I fixed MOLayoutTest>>testTreeLayout failure in Mondrian-Tests-BenComan.101.
> >>>>> There is one remaining failure that I can't work out. TestRunner cannot open a debugger on it and after inserting 'self halt' it steps through to the end of the method without a failure.  Makes no sense to me.  I need to leave this one to others.
> >>>>>
> >>>>>          
> >>>> The tree layout seems to randomly order the nodes. Type the following script in an easel:
> >>>> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> >>>> view shape rectangle withText.
> >>>> view nodes: #(1 2 3 4 ).
> >>>> view edgesFromAssociations: { 1 -> 2. 1 ->3 . 3 -> 4}.
> >>>> view treeLayout
> >>>> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> >>>>
> >>>> Times to times it produces:
> >>>> <Screen Shot 2012-05-13 at 10.02.08 PM.png>
> >>>>
> >>>> times to times it produces:
> >>>> <Screen Shot 2012-05-13 at 10.02.16 PM.png>
> >>>>
> >>>> A few weeks ago, it had always produced the same rendering, and tests had been written accordingly. Now it varies, so tests have to be adjusted. I fixed this.
> >>>> The test is now green.
> >>>>        
> >>>>>>  - add new tests that capture your change of MOCanvas>>mouseUp: , MOCanvas>>mouseOver:, and possibly for MOCanvas>>drawOn:. Those methods are central to Mondrian, they need to be robust.
> >>>>>>            
> >>>>> I will now start thinking about some tests for these.
> >>>>>
> >>>>>          
> >>>> Cool!
> >>>>
> >>>> Alexandre
> >>>>
> >>>>        
> >>>>>> Let me know how it goes. Currently the tests of Mondrian are yellow.
> >>>>>>
> >>>>>> Cheers,
> >>>>>> Alexandre
> >>>>>>
> >>>>>>
> >>>>>> On 8 May 2012, at 16:42,
> >>>>>> [hidden email]
> >>>>>> wrote:
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>            
> >>>>>>> See <http://hudson.moosetechnology.org/job/moose-latest-dev/972/>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> _______________________________________________
> >>>>>>> Moose-dev mailing list
> >>>>>>>
> >>>>>>> [hidden email]
> >>>>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>              
> >>>>>>
> >>>>>>            
> >>>>> _______________________________________________
> >>>>> Moose-dev mailing list
> >>>>> [hidden email]
> >>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> >>>>>          
> >>>> _______________________________________________
> >>>> Moose-dev mailing list
> >>>> [hidden email]
> >>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> >>>>        
> >>> --
> >>> www.tudorgirba.com
> >>>
> >>> "Don't give to get. Just give."
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> Moose-dev mailing list
> >>> [hidden email]
> >>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> >>>      
> >> _______________________________________________
> >> Moose-dev mailing list
> >> [hidden email]
> >> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> >>    
> >
> > --
> > www.tudorgirba.com
> >
> > Innovation comes in least expected form.
> > That is, if it is expected, it already happened.
> >
> >
> > _______________________________________________
> > Moose-dev mailing list
> > [hidden email]
> > https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> >
> >  
>
>  

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
123