=============================================================================== Notice: Cannot read stored value of #notExistingClassStoredSettingSTONString. Exception: KeyNotFound: key #MockNotExistingClass not found in SystemDictionary =============================================================================== =============================================================================== Notice: There are references to, 'RPackageNewStubClass' from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, 'RPackageNewStubClass' from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, 'RPackageNewStubClass' from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, 'RPackageNewStubClass' from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, 'RPackageNewStubClass' from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, 'RPackageNewStubClass' from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #ClassForTestToBeDeleted11 from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #TraitForTestToBeDeleted1 from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #ClassForTestToBeDeleted44 from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #TraitForTestToBeDeleted1 from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #ClassForTestToBeDeleted79 from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #TraitForTestToBeDeleted1 from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: Filed out to: /System/Volumes/Data/builds/workspace/pharo-vm_pharo-10/runTests/Traits-Tests-FileOut.st Click to open location =============================================================================== =============================================================================== Notice: Filed out to: /System/Volumes/Data/builds/workspace/pharo-vm_pharo-10/runTests/T6.st Click to open location =============================================================================== =============================================================================== Notice: **Debugger opening error** Original error: test session. Debugger error: a UndefinedObject =============================================================================== THERE_BE_DRAGONS_HERE Original error: test session. Debugger error: a UndefinedObject 16 August 2023 8:48:39.058028 pm VM: Mac OS - x86_64 - 1000 - CoInterpreter VMMaker-tonel.1 uuid: ccd8ac00-6fbf-0d00-8734-c2cc06f641dd Aug 16 2023 StackToRegisterMappingCogit VMMaker-tonel.1 uuid: ccd8ac00-6fbf-0d00-8734-c2cc06f641dd Aug 16 2023 v10.0.6 - Commit: b67609b9 - Date: 2023-08-16 18:51:13 +0200 Image: Pharo11.0.0 [Build information: Pharo-11.0.0+build.704.sha.7e0219e7f720faf2cfd6083adef507741de47cf2 (64 Bit)] [ Set new ] in OupsDummyDebugger class>>dummySession Receiver: OupsDummyDebugger Arguments and temporary variables: context: nil process: nil session: nil Receiver's instance variables: superclass: Object methodDict: a MethodDictionary(#beError->OupsDummyDebugger>>#beError #beUnu[..] format: 65541 layout: a FixedLayout organization: a ClassOrganization commentSourcePointer: nil subclasses: nil name: #OupsDummyDebugger classPool: nil sharedPools: an OrderedCollection() environment: a SystemDictionary(lots of globals) category: #'Debugger-Oups-Tests-Utils' --- The full stack --- [ Set new ] in OupsDummyDebugger class>>dummySession ------------------------------------------------------------------------------- =============================================================================== Notice: **Debugger opening error** Original error: test session. Debugger error: Error =============================================================================== THERE_BE_DRAGONS_HERE Original error: test session. Debugger error: Error 16 August 2023 8:48:39.087163 pm VM: Mac OS - x86_64 - 1000 - CoInterpreter VMMaker-tonel.1 uuid: ccd8ac00-6fbf-0d00-8734-c2cc06f641dd Aug 16 2023 StackToRegisterMappingCogit VMMaker-tonel.1 uuid: ccd8ac00-6fbf-0d00-8734-c2cc06f641dd Aug 16 2023 v10.0.6 - Commit: b67609b9 - Date: 2023-08-16 18:51:13 +0200 Image: Pharo11.0.0 [Build information: Pharo-11.0.0+build.704.sha.7e0219e7f720faf2cfd6083adef507741de47cf2 (64 Bit)] [ Set new ] in OupsDummyDebugger class>>dummySession Receiver: OupsDummyDebugger Arguments and temporary variables: context: nil process: nil session: nil Receiver's instance variables: superclass: Object methodDict: a MethodDictionary(#beError->OupsDummyDebugger>>#beError #beUnu[..] format: 65541 layout: a FixedLayout organization: a ClassOrganization commentSourcePointer: nil subclasses: nil name: #OupsDummyDebugger classPool: nil sharedPools: an OrderedCollection() environment: a SystemDictionary(lots of globals) category: #'Debugger-Oups-Tests-Utils' --- The full stack --- [ Set new ] in OupsDummyDebugger class>>dummySession ------------------------------------------------------------------------------- =============================================================================== Notice: **Debugger opening error** Original error: test session. Debugger error: Error =============================================================================== THERE_BE_DRAGONS_HERE Original error: test session. Debugger error: Error 16 August 2023 8:48:39.089678 pm VM: Mac OS - x86_64 - 1000 - CoInterpreter VMMaker-tonel.1 uuid: ccd8ac00-6fbf-0d00-8734-c2cc06f641dd Aug 16 2023 StackToRegisterMappingCogit VMMaker-tonel.1 uuid: ccd8ac00-6fbf-0d00-8734-c2cc06f641dd Aug 16 2023 v10.0.6 - Commit: b67609b9 - Date: 2023-08-16 18:51:13 +0200 Image: Pharo11.0.0 [Build information: Pharo-11.0.0+build.704.sha.7e0219e7f720faf2cfd6083adef507741de47cf2 (64 Bit)] [ Set new ] in OupsDummyDebugger class>>dummySession Receiver: OupsDummyDebugger Arguments and temporary variables: context: nil process: nil session: nil Receiver's instance variables: superclass: Object methodDict: a MethodDictionary(#beError->OupsDummyDebugger>>#beError #beUnu[..] format: 65541 layout: a FixedLayout organization: a ClassOrganization commentSourcePointer: nil subclasses: nil name: #OupsDummyDebugger classPool: nil sharedPools: an OrderedCollection() environment: a SystemDictionary(lots of globals) category: #'Debugger-Oups-Tests-Utils' --- The full stack --- [ Set new ] in OupsDummyDebugger class>>dummySession ------------------------------------------------------------------------------- =============================================================================== Notice: No users found. =============================================================================== THERE_BE_DRAGONS_HERE SubscriptOutOfBounds: 1 16 August 2023 8:48:51.042981 pm VM: Mac OS - x86_64 - 1000 - CoInterpreter VMMaker-tonel.1 uuid: ccd8ac00-6fbf-0d00-8734-c2cc06f641dd Aug 16 2023 StackToRegisterMappingCogit VMMaker-tonel.1 uuid: ccd8ac00-6fbf-0d00-8734-c2cc06f641dd Aug 16 2023 v10.0.6 - Commit: b67609b9 - Date: 2023-08-16 18:51:13 +0200 Image: Pharo11.0.0 [Build information: Pharo-11.0.0+build.704.sha.7e0219e7f720faf2cfd6083adef507741de47cf2 (64 Bit)] [:err | "Handle a drawing error" | errCtx errMorph | errCtx := thisContext. [ errCtx := errCtx sender. "Search the sender chain to find the morph causing the problem" [errCtx notNil and:[(errCtx receiver isMorph) not]] whileTrue:[errCtx := errCtx sender]. "If we're at the root of the context chain then we have a fatal drawing problem" errCtx ifNil:[^self handleFatalDrawingError: err description]. errMorph := errCtx receiver. "If the morph causing the problem has already the #drawError flag set, then search for the next morph above in the caller chain." errMorph hasProperty: #errorOnDraw ] whileTrue. errMorph setProperty: #errorOnDraw toValue: true. "Install the old error handler, so we can re-raise the error" err signal. ] in WorldState>>displayWorldSafely: Receiver: a WorldState Arguments and temporary variables: aWorld: a WorldMorph(687437312) [world] err: SubscriptOutOfBounds: 1 errCtx: [ :ex | "This should do it unless you don't screw up the bounds"[..] errMorph: a SpWindow(838670848) named: Code Receiver's instance variables: hands: an Array(a HandMorph(535783424)) damageRecorder: a DamageRecorder stepList: a Heap() lastStepTime: 301572 lastStepMessage: nil alarms: a Heap(MorphicAlarm(#hideShow -> a RubCursor(513608704)) MorphicAla[..] lastAlarmTime: 442051 activeHand: a HandMorph(535783424) currentCursor: ((CursorWithMask extent: (16@16) depth: 1 fromArray: #( [..] worldRenderer: a NullWorldRenderer realWindowExtent: nil deferredUIMessages: WaitfreeQueue with 0 items FullBlockClosure(BlockClosure)>>cull: Receiver: [:err | "Handle a drawing error" | errCtx errMorph | errCtx := thisContext. [ [..] Arguments and temporary variables: anArg: SubscriptOutOfBounds: 1 Receiver's instance variables: outerContext: WorldState>>displayWorldSafely: compiledBlock: a CompiledBlock: [:err | "Handle a drawing error" | errC[..] numArgs: 1 receiver: a WorldState [:ex | errorHandlerBlock cull: ex] in FullBlockClosure(BlockClosure)>>onErrorDo: Receiver: [aWorld displayWorld] Arguments and temporary variables: errorHandlerBlock: [:err | "Handle a drawing error" | errCtx errMorph |[..] ex: SubscriptOutOfBounds: 1 Receiver's instance variables: outerContext: WorldState>>displayWorldSafely: compiledBlock: a CompiledBlock: [aWorld displayWorld] numArgs: 0 receiver: a WorldState FullBlockClosure(BlockClosure)>>cull: Receiver: [:ex | errorHandlerBlock cull: ex] Arguments and temporary variables: anArg: SubscriptOutOfBounds: 1 Receiver's instance variables: outerContext: FullBlockClosure(BlockClosure)>>onErrorDo: compiledBlock: a CompiledBlock: [:ex | errorHandlerBlock cull: ex] numArgs: 1 receiver: [aWorld displayWorld] Context>>evaluateSignal: Receiver: FullBlockClosure(BlockClosure)>>on:do: Arguments and temporary variables: exception: SubscriptOutOfBounds: 1 value: nil Receiver's instance variables: sender: FullBlockClosure(BlockClosure)>>onErrorDo: pc: 30 stackp: 2 method: BlockClosure>>#on:do: closureOrNil: nil receiver: [aWorld displayWorld] Context>>handleSignal: Receiver: FullBlockClosure(BlockClosure)>>on:do: Arguments and temporary variables: exception: SubscriptOutOfBounds: 1 Receiver's instance variables: sender: FullBlockClosure(BlockClosure)>>onErrorDo: pc: 30 stackp: 2 method: BlockClosure>>#on:do: closureOrNil: nil receiver: [aWorld displayWorld] SubscriptOutOfBounds(Exception)>>pass Receiver: SubscriptOutOfBounds: 1 Arguments and temporary variables: nextHandler: FullBlockClosure(BlockClosure)>>on:do: Receiver's instance variables: messageText: '1' tag: nil signaler: an OrderedCollection() signalContext: SubscriptOutOfBounds(Exception)>>signal handlerContext: FullBlockClosure(BlockClosure)>>on:do: outerContext: nil subscript: 1 lowerBound: nil upperBound: nil [ :ex | "This should do it unless you don't screw up the bounds" fullBounds := bounds. ex pass ] in SpWindow(Morph)>>computeFullBounds Receiver: a SpWindow(838670848) named: Code Arguments and temporary variables: ex: SubscriptOutOfBounds: 1 Receiver's instance variables: bounds: (0.0@18.0) corner: (240.0@98.0) owner: a WorldMorph(687437312) [world] submorphs: an Array(a WindowEdgeGripMorph(43636736) a WindowEdgeGripMorph(3[..] fullBounds: (0.0@18.0) corner: (240.0@98.0) color: (Color r: 0.823069403714565 g: 0.823069403714565 b: 0.82306940371456[..] extension: a MorphExtension (948680192) [other: (kmDispatcher -> a KMDispa[..] borderWidth: 1 borderColor: Color lightGray model: a SpWindowPresenter labelString: 'Code' stripes: an Array(a Morph(476179968) a Morph(562672640)) label: a LabelMorph(395354112)'Code' closeBox: a MultistateButtonMorph(405918208) collapseBox: a MultistateButtonMorph(786051584) paneMorphs: an Array(a Morph(927076352)) collapsedFrame: nil fullFrame: (0.0@18.0) corner: (240.0@98.0) isCollapsed: false menuBox: a MultistateButtonMorph(305177600) mustNotClose: false labelWidgetAllowance: 133 updatablePanes: #() labelArea: an AlignmentMorph(932736512) expandBox: a MultistateButtonMorph(946206208) embeddable: nil isResizeable: true taskbarTask: nil FullBlockClosure(BlockClosure)>>cull: Receiver: [ :ex | "This should do it unless you don't screw up the bounds" fullBounds := b[..] Arguments and temporary variables: anArg: SubscriptOutOfBounds: 1 Receiver's instance variables: outerContext: SpWindow(Morph)>>computeFullBounds compiledBlock: a CompiledBlock: [ :ex | "This should do it unless you do[..] numArgs: 1 receiver: a SpWindow(838670848) named: Code Context>>evaluateSignal: Receiver: FullBlockClosure(BlockClosure)>>on:do: Arguments and temporary variables: exception: SubscriptOutOfBounds: 1 value: nil Receiver's instance variables: sender: SpWindow(Morph)>>computeFullBounds pc: 30 stackp: 2 method: BlockClosure>>#on:do: closureOrNil: nil receiver: [ self doLayoutIn: self layoutBounds ] Context>>handleSignal: Receiver: FullBlockClosure(BlockClosure)>>on:do: Arguments and temporary variables: exception: SubscriptOutOfBounds: 1 Receiver's instance variables: sender: SpWindow(Morph)>>computeFullBounds pc: 30 stackp: 2 method: BlockClosure>>#on:do: closureOrNil: nil receiver: [ self doLayoutIn: self layoutBounds ] SubscriptOutOfBounds(Exception)>>pass Receiver: SubscriptOutOfBounds: 1 Arguments and temporary variables: nextHandler: FullBlockClosure(BlockClosure)>>on:do: Receiver's instance variables: messageText: '1' tag: nil signaler: an OrderedCollection() signalContext: SubscriptOutOfBounds(Exception)>>signal handlerContext: FullBlockClosure(BlockClosure)>>on:do: outerContext: nil subscript: 1 lowerBound: nil upperBound: nil [ :ex | "This should do it unless you don't screw up the bounds" fullBounds := bounds. ex pass ] in Morph>>computeFullBounds Receiver: a Morph(927076352) Arguments and temporary variables: ex: SubscriptOutOfBounds: 1 Receiver's instance variables: bounds: (5.0@46.0) corner: (235.0@93.0) owner: a SpWindow(838670848) named: Code submorphs: an Array(a SpRubScrolledTextMorph(775089152)) fullBounds: (5.0@46.0) corner: (235.0@93.0) color: Color transparent extension: a MorphExtension (288106496) FullBlockClosure(BlockClosure)>>cull: Receiver: [ :ex | "This should do it unless you don't screw up the bounds" fullBounds := b[..] Arguments and temporary variables: anArg: SubscriptOutOfBounds: 1 Receiver's instance variables: outerContext: Morph>>computeFullBounds compiledBlock: a CompiledBlock: [ :ex | "This should do it unless you do[..] numArgs: 1 receiver: a Morph(927076352) Context>>evaluateSignal: Receiver: FullBlockClosure(BlockClosure)>>on:do: Arguments and temporary variables: exception: SubscriptOutOfBounds: 1 value: nil Receiver's instance variables: sender: Morph>>computeFullBounds pc: 30 stackp: 2 method: BlockClosure>>#on:do: closureOrNil: nil receiver: [ self doLayoutIn: self layoutBounds ] Context>>handleSignal: Receiver: FullBlockClosure(BlockClosure)>>on:do: Arguments and temporary variables: exception: SubscriptOutOfBounds: 1 Receiver's instance variables: sender: Morph>>computeFullBounds pc: 30 stackp: 2 method: BlockClosure>>#on:do: closureOrNil: nil receiver: [ self doLayoutIn: self layoutBounds ] SubscriptOutOfBounds(Exception)>>pass Receiver: SubscriptOutOfBounds: 1 Arguments and temporary variables: nextHandler: FullBlockClosure(BlockClosure)>>on:do: Receiver's instance variables: messageText: '1' tag: nil signaler: an OrderedCollection() signalContext: SubscriptOutOfBounds(Exception)>>signal handlerContext: FullBlockClosure(BlockClosure)>>on:do: outerContext: nil subscript: 1 lowerBound: nil upperBound: nil [ :ex | "This should do it unless you don't screw up the bounds" fullBounds := bounds. ex pass ] in SpRubScrolledTextMorph(Morph)>>computeFullBounds Receiver: a SpRubScrolledTextMorph(775089152) Arguments and temporary variables: ex: SubscriptOutOfBounds: 1 Receiver's instance variables: bounds: (5.0@46.0) corner: (235.0@93.0) owner: a Morph(927076352) submorphs: an Array(a RubTextScrollPane(707758592) a RubGhostTextDisplayer([..] fullBounds: (5.0@46.0) corner: (235.0@93.0) color: Color white extension: a MorphExtension (852248576) [other: (announcer -> an Announcer[..] hasEditingConflicts: false hasUnacceptedEdits: false alwaysAccept: nil setTextSelector: #accept:notifying: getTextSelector: #getText getSelectionSelector: #readSelection setSelectionSelector: #setSelection: autoAccept: true scrollPane: a RubTextScrollPane(707758592) rulers: a SortedCollection(a RubLineNumberDisplayer(26422272) a RubGhostTex[..] enabled: true highlights: an OrderedCollection() getBackgroundColorSelector: nil askBeforeDiscardingEdits: true FullBlockClosure(BlockClosure)>>cull: Receiver: [ :ex | "This should do it unless you don't screw up the bounds" fullBounds := b[..] Arguments and temporary variables: anArg: SubscriptOutOfBounds: 1 Receiver's instance variables: outerContext: SpRubScrolledTextMorph(Morph)>>computeFullBounds compiledBlock: a CompiledBlock: [ :ex | "This should do it unless you do[..] numArgs: 1 receiver: a SpRubScrolledTextMorph(775089152) Context>>evaluateSignal: Receiver: FullBlockClosure(BlockClosure)>>on:do: Arguments and temporary variables: exception: SubscriptOutOfBounds: 1 value: nil Receiver's instance variables: sender: SpRubScrolledTextMorph(Morph)>>computeFullBounds pc: 30 stackp: 2 method: BlockClosure>>#on:do: closureOrNil: nil receiver: [ self doLayoutIn: self layoutBounds ] Context>>handleSignal: Receiver: FullBlockClosure(BlockClosure)>>on:do: Arguments and temporary variables: exception: SubscriptOutOfBounds: 1 Receiver's instance variables: sender: SpRubScrolledTextMorph(Morph)>>computeFullBounds pc: 30 stackp: 2 method: BlockClosure>>#on:do: closureOrNil: nil receiver: [ self doLayoutIn: self layoutBounds ] SubscriptOutOfBounds(Exception)>>pass Receiver: SubscriptOutOfBounds: 1 Arguments and temporary variables: nextHandler: FullBlockClosure(BlockClosure)>>on:do: Receiver's instance variables: messageText: '1' tag: nil signaler: an OrderedCollection() signalContext: SubscriptOutOfBounds(Exception)>>signal handlerContext: FullBlockClosure(BlockClosure)>>on:do: outerContext: nil subscript: 1 lowerBound: nil upperBound: nil [ :ex | "This should do it unless you don't screw up the bounds" fullBounds := bounds. ex pass ] in RubTextScrollPane(Morph)>>computeFullBounds Receiver: a RubTextScrollPane(707758592) Arguments and temporary variables: ex: SubscriptOutOfBounds: 1 Receiver's instance variables: bounds: (33.0@46.0) corner: (235.0@93.0) owner: a SpRubScrolledTextMorph(775089152) submorphs: an Array(a TransformWithLayoutMorph(627516928)) fullBounds: (33.0@46.0) corner: (235.0@93.0) color: Color transparent extension: a MorphExtension (385351168) [other: (announcer -> an Announcer)] scroller: a TransformWithLayoutMorph(627516928) hScrollbar: a RubScrollBar(863904768) vScrollbar: a RubScrollBar(511029248) drawFocusBorder: true FullBlockClosure(BlockClosure)>>cull: Receiver: [ :ex | "This should do it unless you don't screw up the bounds" fullBounds := b[..] Arguments and temporary variables: anArg: SubscriptOutOfBounds: 1 Receiver's instance variables: outerContext: RubTextScrollPane(Morph)>>computeFullBounds compiledBlock: a CompiledBlock: [ :ex | "This should do it unless you do[..] numArgs: 1 receiver: a RubTextScrollPane(707758592) Context>>evaluateSignal: Receiver: FullBlockClosure(BlockClosure)>>on:do: Arguments and temporary variables: exception: SubscriptOutOfBounds: 1 value: nil Receiver's instance variables: sender: RubTextScrollPane(Morph)>>computeFullBounds pc: 30 stackp: 2 method: BlockClosure>>#on:do: closureOrNil: nil receiver: [ self doLayoutIn: self layoutBounds ] Context>>handleSignal: Receiver: FullBlockClosure(BlockClosure)>>on:do: Arguments and temporary variables: exception: SubscriptOutOfBounds: 1 Receiver's instance variables: sender: RubTextScrollPane(Morph)>>computeFullBounds pc: 30 stackp: 2 method: BlockClosure>>#on:do: closureOrNil: nil receiver: [ self doLayoutIn: self layoutBounds ] SubscriptOutOfBounds(Exception)>>signal Receiver: SubscriptOutOfBounds: 1 Arguments and temporary variables: x Receiver's instance variables: messageText: '1' tag: nil signaler: an OrderedCollection() signalContext: SubscriptOutOfBounds(Exception)>>signal handlerContext: FullBlockClosure(BlockClosure)>>on:do: outerContext: nil subscript: 1 lowerBound: nil upperBound: nil SubscriptOutOfBounds class>>signalFor:lowerBound:upperBound:in: Receiver: SubscriptOutOfBounds Arguments and temporary variables: subscript: 1 lowerBound: nil upperBound: nil object: nil Receiver's instance variables: superclass: Error methodDict: a MethodDictionary(#lowerBound->SubscriptOutOfBounds>>#lowerBou[..] format: 65545 layout: a FixedLayout organization: a ClassOrganization commentSourcePointer: nil subclasses: nil name: #SubscriptOutOfBounds classPool: nil sharedPools: an OrderedCollection() environment: a SystemDictionary(lots of globals) category: #'Kernel-Exceptions' SubscriptOutOfBounds class>>signalFor:lowerBound:upperBound: Receiver: SubscriptOutOfBounds Arguments and temporary variables: subscript: 1 lowerBound: nil upperBound: nil Receiver's instance variables: superclass: Error methodDict: a MethodDictionary(#lowerBound->SubscriptOutOfBounds>>#lowerBou[..] format: 65545 layout: a FixedLayout organization: a ClassOrganization commentSourcePointer: nil subclasses: nil name: #SubscriptOutOfBounds classPool: nil sharedPools: an OrderedCollection() environment: a SystemDictionary(lots of globals) category: #'Kernel-Exceptions' SubscriptOutOfBounds class>>signalFor: Receiver: SubscriptOutOfBounds Arguments and temporary variables: subscript: 1 Receiver's instance variables: superclass: Error methodDict: a MethodDictionary(#lowerBound->SubscriptOutOfBounds>>#lowerBou[..] format: 65545 layout: a FixedLayout organization: a ClassOrganization commentSourcePointer: nil subclasses: nil name: #SubscriptOutOfBounds classPool: nil sharedPools: an OrderedCollection() environment: a SystemDictionary(lots of globals) category: #'Kernel-Exceptions' OrderedCollection(Object)>>errorSubscriptBounds: Receiver: an OrderedCollection() Arguments and temporary variables: index: 1 Receiver's instance variables: array: #(nil nil nil nil nil nil nil nil nil nil) firstIndex: 1 lastIndex: 0 OrderedCollection>>at: Receiver: an OrderedCollection() Arguments and temporary variables: anInteger: 1 index: 1 Receiver's instance variables: array: #(nil nil nil nil nil nil nil nil nil nil) firstIndex: 1 lastIndex: 0 RubParagraph>>characterBlockForIndex: Receiver: a RubParagraph Arguments and temporary variables: index: 1 line: nil Receiver's instance variables: text: a Text for 'SpNavigationMockClass' composer: a RubTextComposer container: (0@0) corner: (202@31) drawingEnabled: false textArea: a RubEditingArea(710888960) RubShoutStylerDecorator(RubParagraphDecorator)>>characterBlockForIndex: Receiver: a RubShoutStylerDecorator Arguments and temporary variables: index: 1 Receiver's instance variables: next: a RubCurrentLineBarDecorator styler: a SHRBTextStyler text: a Text for 'SpNavigationMockClass' replaceStart: 1 replaceStop: 0 RubEditingState>>markIndex:pointIndex: Receiver: a RubEditingState Arguments and temporary variables: markIndex: 1 pointIndex: 1 Receiver's instance variables: hasFocus: true undoManager: a HistoryIterator emphasisHere: #() pointBlock: a CharacterBlock with index 1 and surface (6.0@6) corner: (13.8[..] markBlock: a CharacterBlock with index 1 and surface (6.0@6) corner: (13.80[..] startOfTyping: nil previousInterval: (1 to: 21) scrollPivot: nil textArea: a RubEditingArea(710888960) [ self editingState markIndex: markIndex pointIndex: pointIndex ] in RubEditingArea(RubAbstractTextArea)>>markIndex:pointIndex: Receiver: a RubEditingArea(710888960) Arguments and temporary variables: markIndex: 1 pointIndex: 1 Receiver's instance variables: bounds: (0@0) corner: (202@31) owner: a TransformWithLayoutMorph(627516928) submorphs: an Array(a RubCursor(40357888) a RubPrimarySelectionMorph(767697[..] fullBounds: nil color: Color transparent extension: a MorphExtension (609116672) [other: (announcer -> an Announcer[..] model: a SpMorphicCodeAdapter paragraph: a RubShoutStylerDecorator editor: a RubSmalltalkEditor scrollPane: a RubTextScrollPane(707758592) editingState: a RubEditingState textStyle: a TextStyle Source Code Pro textColor: nil margins: a Margin top: 6 left: 6 bottom: 6 right: 6 readOnly: false menuAllowed: nil editingMode: a RubSmalltalkScriptingMode cursor: a RubCursor(40357888) segments: nil embeddedMorphs: nil getMenuPolicy: a RubPluggableGetMenuPolicy mouseDownPoint: nil completionEngine: a SpMorphicCodeCompletionEngine maxLength: nil grow: true findReplaceService: a SpRubFindReplaceService editing: false hasDragDoubleClick: false wrapped: true editorClass: RubSmalltalkEditor RubEditingArea(RubAbstractTextArea)>>handleSelectionChange: Receiver: a RubEditingArea(710888960) Arguments and temporary variables: aBlock: [ self editingState markIndex: markIndex pointIndex: pointIndex ] prevMarkBlock: a CharacterBlock with index 1 and surface (6.0@6) corner: (1[..] prevPointBlock: a CharacterBlock with index 1 and surface (6.0@6) corner: ([..] Receiver's instance variables: bounds: (0@0) corner: (202@31) owner: a TransformWithLayoutMorph(627516928) submorphs: an Array(a RubCursor(40357888) a RubPrimarySelectionMorph(767697[..] fullBounds: nil color: Color transparent extension: a MorphExtension (609116672) [other: (announcer -> an Announcer[..] model: a SpMorphicCodeAdapter paragraph: a RubShoutStylerDecorator editor: a RubSmalltalkEditor scrollPane: a RubTextScrollPane(707758592) editingState: a RubEditingState textStyle: a TextStyle Source Code Pro textColor: nil margins: a Margin top: 6 left: 6 bottom: 6 right: 6 readOnly: false menuAllowed: nil editingMode: a RubSmalltalkScriptingMode cursor: a RubCursor(40357888) segments: nil embeddedMorphs: nil getMenuPolicy: a RubPluggableGetMenuPolicy mouseDownPoint: nil completionEngine: a SpMorphicCodeCompletionEngine maxLength: nil grow: true findReplaceService: a SpRubFindReplaceService editing: false hasDragDoubleClick: false wrapped: true editorClass: RubSmalltalkEditor RubEditingArea(RubAbstractTextArea)>>markIndex:pointIndex: Receiver: a RubEditingArea(710888960) Arguments and temporary variables: markIndex: 1 pointIndex: 1 Receiver's instance variables: bounds: (0@0) corner: (202@31) owner: a TransformWithLayoutMorph(627516928) submorphs: an Array(a RubCursor(40357888) a RubPrimarySelectionMorph(767697[..] fullBounds: nil color: Color transparent extension: a MorphExtension (609116672) [other: (announcer -> an Announcer[..] model: a SpMorphicCodeAdapter paragraph: a RubShoutStylerDecorator editor: a RubSmalltalkEditor scrollPane: a RubTextScrollPane(707758592) editingState: a RubEditingState textStyle: a TextStyle Source Code Pro textColor: nil margins: a Margin top: 6 left: 6 bottom: 6 right: 6 readOnly: false menuAllowed: nil editingMode: a RubSmalltalkScriptingMode cursor: a RubCursor(40357888) segments: nil embeddedMorphs: nil getMenuPolicy: a RubPluggableGetMenuPolicy mouseDownPoint: nil completionEngine: a SpMorphicCodeCompletionEngine maxLength: nil grow: true findReplaceService: a SpRubFindReplaceService editing: false hasDragDoubleClick: false wrapped: true editorClass: RubSmalltalkEditor RubEditingArea(RubAbstractTextArea)>>recomputeSelection Receiver: a RubEditingArea(710888960) Arguments and temporary variables: x Receiver's instance variables: bounds: (0@0) corner: (202@31) owner: a TransformWithLayoutMorph(627516928) submorphs: an Array(a RubCursor(40357888) a RubPrimarySelectionMorph(767697[..] fullBounds: nil color: Color transparent extension: a MorphExtension (609116672) [other: (announcer -> an Announcer[..] model: a SpMorphicCodeAdapter paragraph: a RubShoutStylerDecorator editor: a RubSmalltalkEditor scrollPane: a RubTextScrollPane(707758592) editingState: a RubEditingState textStyle: a TextStyle Source Code Pro textColor: nil margins: a Margin top: 6 left: 6 bottom: 6 right: 6 readOnly: false menuAllowed: nil editingMode: a RubSmalltalkScriptingMode cursor: a RubCursor(40357888) segments: nil embeddedMorphs: nil getMenuPolicy: a RubPluggableGetMenuPolicy mouseDownPoint: nil completionEngine: a SpMorphicCodeCompletionEngine maxLength: nil grow: true findReplaceService: a SpRubFindReplaceService editing: false hasDragDoubleClick: false wrapped: true editorClass: RubSmalltalkEditor --- The full stack --- [:err | "Handle a drawing error" | errCtx errMorph | errCtx := thisContext. [ errCtx := errCtx sender. "Search the sender chain to find the morph causing the problem" [errCtx notNil and:[(errCtx receiver isMorph) not]] whileTrue:[errCtx := errCtx sender]. "If we're at the root of the context chain then we have a fatal drawing problem" errCtx ifNil:[^self handleFatalDrawingError: err description]. errMorph := errCtx receiver. "If the morph causing the problem has already the #drawError flag set, then search for the next morph above in the caller chain." errMorph hasProperty: #errorOnDraw ] whileTrue. errMorph setProperty: #errorOnDraw toValue: true. "Install the old error handler, so we can re-raise the error" err signal. ] in WorldState>>displayWorldSafely: FullBlockClosure(BlockClosure)>>cull: [:ex | errorHandlerBlock cull: ex] in FullBlockClosure(BlockClosure)>>onErrorDo: FullBlockClosure(BlockClosure)>>cull: Context>>evaluateSignal: Context>>handleSignal: SubscriptOutOfBounds(Exception)>>pass [ :ex | "This should do it unless you don't screw up the bounds" fullBounds := bounds. ex pass ] in SpWindow(Morph)>>computeFullBounds FullBlockClosure(BlockClosure)>>cull: Context>>evaluateSignal: Context>>handleSignal: SubscriptOutOfBounds(Exception)>>pass [ :ex | "This should do it unless you don't screw up the bounds" fullBounds := bounds. ex pass ] in Morph>>computeFullBounds FullBlockClosure(BlockClosure)>>cull: Context>>evaluateSignal: Context>>handleSignal: SubscriptOutOfBounds(Exception)>>pass [ :ex | "This should do it unless you don't screw up the bounds" fullBounds := bounds. ex pass ] in SpRubScrolledTextMorph(Morph)>>computeFullBounds FullBlockClosure(BlockClosure)>>cull: Context>>evaluateSignal: Context>>handleSignal: SubscriptOutOfBounds(Exception)>>pass [ :ex | "This should do it unless you don't screw up the bounds" fullBounds := bounds. ex pass ] in RubTextScrollPane(Morph)>>computeFullBounds FullBlockClosure(BlockClosure)>>cull: Context>>evaluateSignal: Context>>handleSignal: SubscriptOutOfBounds(Exception)>>signal SubscriptOutOfBounds class>>signalFor:lowerBound:upperBound:in: SubscriptOutOfBounds class>>signalFor:lowerBound:upperBound: SubscriptOutOfBounds class>>signalFor: OrderedCollection(Object)>>errorSubscriptBounds: OrderedCollection>>at: RubParagraph>>characterBlockForIndex: RubShoutStylerDecorator(RubParagraphDecorator)>>characterBlockForIndex: RubEditingState>>markIndex:pointIndex: [ self editingState markIndex: markIndex pointIndex: pointIndex ] in RubEditingArea(RubAbstractTextArea)>>markIndex:pointIndex: RubEditingArea(RubAbstractTextArea)>>handleSelectionChange: RubEditingArea(RubAbstractTextArea)>>markIndex:pointIndex: RubEditingArea(RubAbstractTextArea)>>recomputeSelection - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ self wrapped ifTrue: [ (bounds notNil and: [ bounds width = aPoint x ]) ifTrue: [ ^ self ]. super extent: ((self paragraph withoutDecorator extentFromClientBottomRight: aPoint) max: self minimumExtent). self recomputeSelection ] ifFalse: [ super extent: aPoint ] ] in RubEditingArea(RubAbstractTextArea)>>extent: RubEditingArea(RubAbstractTextArea)>>handleBoundsChange: RubEditingArea(RubAbstractTextArea)>>extent: RubEditingArea(Morph)>>width: RubTextScrollPane>>fitScrollTargetWidth RubTextScrollPane>>updateScrollbars RubTextScrollPane(GeneralScrollPaneMorph)>>doLayoutIn: [ self doLayoutIn: self layoutBounds ] in RubTextScrollPane(Morph)>>computeFullBounds FullBlockClosure(BlockClosure)>>on:do: RubTextScrollPane(Morph)>>computeFullBounds RubTextScrollPane(Morph)>>fullBounds [:m | | subBox | (m visible) ifTrue: [ subBox := m fullBounds. box ifNil:[box := subBox copy] ifNotNil:[box := box quickMerge: subBox]]] in SpRubScrolledTextMorph(Morph)>>submorphBounds Array(SequenceableCollection)>>do: SpRubScrolledTextMorph(Morph)>>submorphBounds SpRubScrolledTextMorph(Morph)>>privateFullBounds SpRubScrolledTextMorph(Morph)>>doLayoutIn: [ self doLayoutIn: self layoutBounds ] in SpRubScrolledTextMorph(Morph)>>computeFullBounds FullBlockClosure(BlockClosure)>>on:do: SpRubScrolledTextMorph(Morph)>>computeFullBounds SpRubScrolledTextMorph(Morph)>>fullBounds [:m | | subBox | (m visible) ifTrue: [ subBox := m fullBounds. box ifNil:[box := subBox copy] ifNotNil:[box := box quickMerge: subBox]]] in Morph>>submorphBounds Array(SequenceableCollection)>>do: Morph>>submorphBounds Morph>>privateFullBounds Morph>>doLayoutIn: [ self doLayoutIn: self layoutBounds ] in Morph>>computeFullBounds FullBlockClosure(BlockClosure)>>on:do: Morph>>computeFullBounds Morph>>fullBounds [:m | | subBox | (m visible) ifTrue: [ subBox := m fullBounds. box ifNil:[box := subBox copy] ifNotNil:[box := box quickMerge: subBox]]] in SpWindow(Morph)>>submorphBounds Array(SequenceableCollection)>>do: SpWindow(Morph)>>submorphBounds SpWindow(Morph)>>privateFullBounds SpWindow(Morph)>>doLayoutIn: [ self doLayoutIn: self layoutBounds ] in SpWindow(Morph)>>computeFullBounds FullBlockClosure(BlockClosure)>>on:do: SpWindow(Morph)>>computeFullBounds SpWindow(Morph)>>fullBounds [ :m | m fullBounds ] in NullWorldRenderer(AbstractWorldRenderer)>>displayWorldState:ofWorld: Array(SequenceableCollection)>>do: NullWorldRenderer(AbstractWorldRenderer)>>displayWorldState:ofWorld: WorldState>>displayWorld: WorldMorph>>displayWorld [aWorld displayWorld] in WorldState>>displayWorldSafely: FullBlockClosure(BlockClosure)>>on:do: FullBlockClosure(BlockClosure)>>onErrorDo: WorldState>>displayWorldSafely: WorldState>>doOneCycleFor: WorldMorph>>doOneCycleNow WorldMorph>>doOneCycle [ | extraWorldsToDraw | extraWorldsToDraw := ExtraWorldListMutex critical: [ self extraWorldList ]. extraWorldsToDraw do: [ :world | world doOneCycle ]. (self currentWorld isNotNil and: [ (extraWorldsToDraw includes: self currentWorld) not ]) ifTrue: [ self currentWorld doOneCycle ] ] in WorldMorph class>>doOneCycle FullBlockClosure(BlockClosure)>>ensure: WorldState class>>doDrawCycleWith: WorldMorph class>>doOneCycle MorphicRenderLoop>>doOneCycle MorphicRenderLoop>>doOneCycleWhile: [ MorphicRenderLoop new doOneCycleWhile: [ true ] ] in MorphicUIManager>>spawnNewProcess [self value. "IMPORTANT: Do not step over next line of code. See method comments for details" Processor terminateRealActive] in FullBlockClosure(BlockClosure)>>newProcess ------------------------------------------------------------------------------- Processes and their stacks: Process: a Process in DelayMicrosecondTicker>>waitForUserSignalled:orExpired: stack: DelayMicrosecondTicker>>waitForUserSignalled:orExpired: [ [runTimerEventLoop] whileTrue: [ |nowTick| "Warning! Stepping the following line may lock the Image. Use or ." ticker waitForUserSignalled: timingSemaphore orExpired: activeDelay. "Invoke the api back-ends, which set the transfer-variable to nil" suspendSemaphore ifNotNil: [ self suspendAtTimingPriority ]. delayToStart ifNotNil: [ self scheduleAtTimingPriority ]. delayToStop ifNotNil: [ self unscheduleAtTimingPriority ]. "Signal any expired delays" nowTick := ticker nowTick. [ activeDelay notNil and: [nowTick >= activeDelay resumptionTick] ] whileTrue: [ activeDelay timingPrioritySignalExpired. activeDelay := suspendedDelays removeFirstOrNil ]. ] ] in DelaySemaphoreScheduler(DelayBasicScheduler)>>runBackendLoopAtTimingPriority FullBlockClosure(BlockClosure)>>ensure: DelaySemaphoreScheduler(DelayBasicScheduler)>>runBackendLoopAtTimingPriority [ self runBackendLoopAtTimingPriority ] in DelaySemaphoreScheduler(DelayBasicScheduler)>>startTimerEventLoopPriority: [self value. "IMPORTANT: Do not step over next line of code. See method comments for details" Processor terminateRealActive] in FullBlockClosure(BlockClosure)>>newProcess ------------------------------ 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. " Print stacks of all current processes " 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(CommandLineUIManager)>>quitFrom:withMessage: [ logStream := self openLog. aMonadicBlock value: logStream. ] in SmalltalkImage>>logDuring: FullBlockClosure(BlockClosure)>>ensure: SmalltalkImage>>logDuring: [ Smalltalk logError: aString inContext: aContext. " Print stacks of all current processes " 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(CommandLineUIManager)>>quitFrom:withMessage: FullBlockClosure(BlockClosure)>>ensure: NonInteractiveUIManager(CommandLineUIManager)>>quitFrom:withMessage: NonInteractiveUIManager(CommandLineUIManager)>>unhandledErrorDefaultAction: SubscriptOutOfBounds(Exception)>>unhandledErrorAction UnhandledError>>defaultAction UndefinedObject>>handleSignal: UnhandledError(Exception)>>signal UnhandledError class>>signalForException: SubscriptOutOfBounds(Exception)>>raiseUnhandledError SubscriptOutOfBounds(Exception)>>defaultAction UndefinedObject>>handleSignal: SubscriptOutOfBounds(Exception)>>signal [:err | "Handle a drawing error" | errCtx errMorph | errCtx := thisContext. [ errCtx := errCtx sender. "Search the sender chain to find the morph causing the problem" [errCtx notNil and:[(errCtx receiver isMorph) not]] whileTrue:[errCtx := errCtx sender]. "If we're at the root of the context chain then we have a fatal drawing problem" errCtx ifNil:[^self handleFatalDrawingError: err description]. errMorph := errCtx receiver. "If the morph causing the problem has already the #drawError flag set, then search for the next morph above in the caller chain." errMorph hasProperty: #errorOnDraw ] whileTrue. errMorph setProperty: #errorOnDraw toValue: true. "Install the old error handler, so we can re-raise the error" err signal. ] in WorldState>>displayWorldSafely: FullBlockClosure(BlockClosure)>>cull: ------------------------------ Process: a Process in ProcessorScheduler class>>idleProcess stack: ProcessorScheduler class>>idleProcess [self idleProcess] in ProcessorScheduler class>>startUp [self value. "IMPORTANT: Do not step over next line of code. See method comments for details" Processor terminateRealActive] in FullBlockClosure(BlockClosure)>>newProcess ------------------------------ Process: a Process in WeakArray class>>finalizationProcess stack: WeakArray class>>finalizationProcess [self finalizationProcess] in WeakArray class>>restartFinalizationProcess [self value. "IMPORTANT: Do not step over next line of code. See method comments for details" Processor terminateRealActive] in FullBlockClosure(BlockClosure)>>newProcess ------------------------------ Process: a Process in Dictionary>>at:ifAbsent: stack: Dictionary>>at:ifAbsent: Dictionary>>at:ifAbsentPut: FreeTypeFont>>widthAndKernedWidthOfLeft:right:into: LogicalFont>>widthAndKernedWidthOfLeft:right:into: RubCompositionScanner(RubCharacterScanner)>>basicScanCharactersFrom:to:in:rightX:stopConditions:kern: RubCompositionScanner(RubCharacterScanner)>>scanCharactersFrom:to:in:rightX:stopConditions:kern: RubCompositionScanner>>composeFrom:inRectangle:firstLine:leftSide:rightSide: RubTextComposer>>composeEachRectangleIn: RubTextComposer>>composeAllRectangles: RubTextComposer>>composeOneLine RubTextComposer>>composeAllLines RubTextComposer>>composeLinesFrom:to:delta:into:priorLines:atY:textStyle:text:container: RubTextComposer>>composeLinesFrom:to:delta:into:priorLines:atY: [ self uptodateComposer composeLinesFrom: 1 to: self text size delta: 0 into: OrderedCollection new priorLines: Array new atY: self compositionRectangle top. textArea ifNotNil: [ textArea paragraphWasComposedFrom: 1 to: self text size ] ] in RubParagraph>>compose FullBlockClosure(BlockClosure)>>ensure: RubParagraph>>disableDrawingWhile: RubParagraph>>compose RubParagraph>>extentFromClientBottomRight: [ self wrapped ifTrue: [ (bounds notNil and: [ bounds width = aPoint x ]) ifTrue: [ ^ self ]. super extent: ((self paragraph withoutDecorator extentFromClientBottomRight: aPoint) max: self minimumExtent). self recomputeSelection ] ifFalse: [ super extent: aPoint ] ] in RubEditingArea(RubAbstractTextArea)>>extent: RubEditingArea(RubAbstractTextArea)>>handleBoundsChange: ------------------------------ Process: a Process in [ [ true ] whileTrue: [ semaphore wait. [self executeCallback: self nextPendingCallback] on: Exception fork: [:ex | ex pass ] ] ] in TFCallbackQueue>>forkCallbackProcess stack: [ [ true ] whileTrue: [ semaphore wait. [self executeCallback: self nextPendingCallback] on: Exception fork: [:ex | ex pass ] ] ] in TFCallbackQueue>>forkCallbackProcess [self value. "IMPORTANT: Do not step over next line of code. See method comments for details" Processor terminateRealActive] in FullBlockClosure(BlockClosure)>>newProcess ------------------------------ Process: a Process in Process>>endProcess stack: Process>>endProcess ------------------------------ Process: a Process in Process>>endProcess stack: Process>>endProcess ------------------------------ Process: a Process in Process>>endProcess stack: Process>>endProcess ------------------------------ Process: a Process in Process>>endProcess stack: Process>>endProcess ------------------------------ Process: a Process in Process>>endProcess stack: Process>>endProcess ------------------------------ Process: a Process in TFCallbackSameProcessRunStrategy>>waitForever stack: TFCallbackSameProcessRunStrategy>>waitForever [ self waitForever ] in TFCallbackSameProcessRunStrategy>>callbackProcess [self value. "IMPORTANT: Do not step over next line of code. See method comments for details" Processor terminateRealActive] in FullBlockClosure(BlockClosure)>>newProcess ------------------------------ Process: a Process in Process>>endProcess stack: Process>>endProcess ------------------------------ Process: a Process in Process>>endProcess stack: Process>>endProcess ------------------------------ Process: a Process in Process>>endProcess stack: Process>>endProcess ------------------------------ Process: a Process in Process>>endProcess stack: Process>>endProcess ------------------------------ Process: a Process in Process>>endProcess stack: Process>>endProcess ------------------------------ Process: a Process in Process>>endProcess stack: Process>>endProcess ------------------------------ Process: a Process in [self schedule. "It is critical that the following has no suspension point so that the test and the wait primitive are atomic. In addition, if the delay is no longer being waited on while entering the way we know that it is expired because the delay has already fired." beingWaitedOn ifTrue:[delaySemaphore wait] ifFalse:[expired := true]] in DelayWaitTimeout>>wait stack: [self schedule. "It is critical that the following has no suspension point so that the test and the wait primitive are atomic. In addition, if the delay is no longer being waited on while entering the way we know that it is expired because the delay has already fired." beingWaitedOn ifTrue:[delaySemaphore wait] ifFalse:[expired := true]] in DelayWaitTimeout>>wait FullBlockClosure(BlockClosure)>>ensure: DelayWaitTimeout>>wait Semaphore>>wait: TestExecutionEnvironment>>watchDogLoop [self watchDogLoop] in TestExecutionEnvironment>>startWatchDog [self value. "IMPORTANT: Do not step over next line of code. See method comments for details" Processor terminateRealActive] in FullBlockClosure(BlockClosure)>>newProcess ------------------------------