And the debug is there.
The halt does not crash the VM in normal condition. (ie Alt-[.] is ok)
Hilaire
Le 28/05/2011 19:07, Hilaire Fernandes a écrit :
> And when there are no halt in commandLineHandlerAction:, the image is
> frozen
>
> Le 28/05/2011 18:53, Hilaire Fernandes a écrit :
>> With latest pahro core 1.3, I can't load script with command like
>>
>>
>> squeak pharo "`pwd`\myScript.st"
>>
>> When I put a halt at the begining of commandLineHandlerAction:
>> aCommandLine the VM crash
>>
>> VM is 4.0.3-2202
>>
>> Hilaire
>>
>>
>
>
--
Education 0.2 -- http://blog.ofset.org/hilaire
THERE_BE_DRAGONS_HERE
Halt
28 May 2011 7:24:32 pm
VM: unix - i686 - linux - Squeak3.10.2 of '5 June 2008' [latest update: #7179]
Image: Pharo1.3a [Latest update: #13224]
CodeLoader class(Object)>>halt
Receiver: CodeLoader
Arguments and temporary variables:
Receiver's instance variables:
superclass: Object
methodDict: a MethodDictionary(#createRequestFor:in:->(CodeLoader>>#createReque...etc...
format: 132
instanceVariables: #('sourceFiles')
organization: ('installing' installSourceFile: installSourceFiles)
('loading' l...etc...
subclasses: nil
name: #CodeLoader
classPool: a Dictionary()
sharedPools: nil
environment: a SystemDictionary(lots of globals)
category: #'System-Download'
traitComposition: {}
localSelectors: nil
CodeLoader class>>commandLineHandlerAction:
Receiver: CodeLoader
Arguments and temporary variables:
aCommandLine: a CommandLine
url: nil
param: '/home/hilaire/Travaux/these/inria-istoa/istoa/drgeo2/images/install-drg...etc...
loader: nil
Receiver's instance variables:
superclass: Object
methodDict: a MethodDictionary(#createRequestFor:in:->(CodeLoader>>#createReque...etc...
format: 132
instanceVariables: #('sourceFiles')
organization: ('installing' installSourceFile: installSourceFiles)
('loading' l...etc...
subclasses: nil
name: #CodeLoader
classPool: a Dictionary()
sharedPools: nil
environment: a SystemDictionary(lots of globals)
category: #'System-Download'
traitComposition: {}
localSelectors: nil
[:cl | CodeLoader commandLineHandlerAction: cl] in CodeLoader class>>initialize
Receiver: CodeLoader
Arguments and temporary variables:
cl: a CommandLine
Receiver's instance variables:
superclass: Object
methodDict: a MethodDictionary(#createRequestFor:in:->(CodeLoader>>#createReque...etc...
format: 132
instanceVariables: #('sourceFiles')
organization: ('installing' installSourceFile: installSourceFiles)
('loading' l...etc...
subclasses: nil
name: #CodeLoader
classPool: a Dictionary()
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: [:cl | CodeLoader commandLineHandlerCondition: cl]->[:cl | CodeLoa...etc...
each: a CommandLine
actionBlock: [:cl | CodeLoader commandLineHandlerAction: cl]
conditionBlock: [:cl | CodeLoader commandLineHandlerCondition: cl]
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(#CodeLoader->[:cl | CodeLoader commandLineHandlerCo...etc...
singleton: a CommandLine
[:association | aBlock value: association value] in Dictionary>>valuesDo:
Receiver: a Dictionary(#CodeLoader->[:cl | CodeLoader commandLineHandlerCondition: cl]->[:cl | CodeL...etc...
Arguments and temporary variables:
aBlock: #CodeLoader->[:cl | CodeLoader commandLineHandlerCondition: cl]->[:cl |...etc...
association: [:each |
| actionBlock conditionBlock |
conditionBlock := each ke...etc...
Receiver's instance variables:
tally: 1
array: an Array(nil nil nil #CodeLoader->[:cl | CodeLoader commandLineHandlerCo...etc...
[:each | each
ifNotNil: [aBlock value: each]] in Dictionary>>associationsDo:
Receiver: a Dictionary(#CodeLoader->[:cl | CodeLoader commandLineHandlerCondition: cl]->[:cl | CodeL...etc...
Arguments and temporary variables:
aBlock: #CodeLoader->[:cl | CodeLoader commandLineHandlerCondition: cl]->[:cl |...etc...
each: [:association | aBlock value: association value]
Receiver's instance variables:
tally: 1
array: an Array(nil nil nil #CodeLoader->[:cl | CodeLoader commandLineHandlerCo...etc...
Array(SequenceableCollection)>>do:
Receiver: an Array(nil nil nil #CodeLoader->[:cl | CodeLoader commandLineHandlerCondition: cl]->[:cl...etc...
Arguments and temporary variables:
aBlock: [:each | each
ifNotNil: [aBlock value: each]]
index: 4
indexLimiT: 5
Receiver's instance variables:
an Array(nil nil nil #CodeLoader->[:cl | CodeLoader commandLineHandlerCondition: cl]->[:cl...etc...
Dictionary>>associationsDo:
Receiver: a Dictionary(#CodeLoader->[:cl | CodeLoader commandLineHandlerCondition: cl]->[:cl | CodeL...etc...
Arguments and temporary variables:
aBlock: [:association | aBlock value: association value]
Receiver's instance variables:
tally: 1
array: an Array(nil nil nil #CodeLoader->[:cl | CodeLoader commandLineHandlerCo...etc...
Dictionary>>valuesDo:
Receiver: a Dictionary(#CodeLoader->[:cl | CodeLoader commandLineHandlerCondition: cl]->[:cl | CodeL...etc...
Arguments and temporary variables:
aBlock: [:each |
| actionBlock conditionBlock |
conditionBlock := each key.
a...etc...
Receiver's instance variables:
tally: 1
array: an Array(nil nil nil #CodeLoader->[:cl | CodeLoader commandLineHandlerCo...etc...
Dictionary>>do:
Receiver: a Dictionary(#CodeLoader->[:cl | CodeLoader commandLineHandlerCondition: cl]->[:cl | CodeL...etc...
Arguments and temporary variables:
aBlock: [:each |
| actionBlock conditionBlock |
conditionBlock := each key.
a...etc...
Receiver's instance variables:
tally: 1
array: an Array(nil nil nil #CodeLoader->[:cl | CodeLoader commandLineHandlerCo...etc...
CommandLine class(AbstractUserInput class)>>dispatch:
Receiver: CommandLine
Arguments and temporary variables:
anUserInput: a CommandLine
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(#CodeLoader->[:cl | CodeLoader commandLineHandlerCo...etc...
singleton: a CommandLine
CommandLine class>>dispatch
Receiver: CommandLine
Arguments and temporary variables:
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(#CodeLoader->[:cl | CodeLoader commandLineHandlerCo...etc...
singleton: a CommandLine
CommandLine class>>startUp:
Receiver: CommandLine
Arguments and temporary variables:
resuming: true
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(#CodeLoader->[:cl | CodeLoader commandLineHandlerCo...etc...
singleton: a CommandLine
[:name |
| class |
class := self
at: name
ifAbsent: [].
class isNil
ifTrue: [removals add: name]
ifFalse: [class perform: startUpOrShutDown with: argument]] in SmalltalkImage>>send:toClassesNamedIn:with:
Receiver: Smalltalk
Arguments and temporary variables:
startUpOrShutDown: #CommandLine
argument: #startUp:
removals: true
name: an OrderedCollection()
class: CommandLine
Receiver's instance variables:
globals: a SystemDictionary(lots of globals)
OrderedCollection>>do:
Receiver: an OrderedCollection(#Delay #OSPlatform #DisplayScreen #Cursor #InputEventFetcher #Process...etc...
Arguments and temporary variables:
aBlock: [:name |
| class |
class := self
at: name
ifAbsent: [].
class...etc...
index: 71
Receiver's instance variables:
array: #(nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil ni...etc...
firstIndex: 38
lastIndex: 73
SmalltalkImage>>send:toClassesNamedIn:with:
Receiver: Smalltalk
Arguments and temporary variables:
startUpOrShutDown: #startUp:
startUpOrShutDownList: an OrderedCollection(#Delay #OSPlatform #DisplayScreen #...etc...
argument: true
removals: an OrderedCollection()
Receiver's instance variables:
globals: a SystemDictionary(lots of globals)
SmalltalkImage>>processStartUpList:
Receiver: Smalltalk
Arguments and temporary variables:
resuming: true
Receiver's instance variables:
globals: a SystemDictionary(lots of globals)
[self processStartUpList: resuming.
resuming
ifTrue: [self recordStartupStamp]] in SmalltalkImage>>snapshot:andQuit:
Receiver: Smalltalk
Arguments and temporary variables:
resuming: true
Receiver's instance variables:
globals: a SystemDictionary(lots of globals)
BlockClosure>>ensure:
Receiver: [self processStartUpList: resuming.
resuming
ifTrue: [self recordStartupStamp]]
Arguments and temporary variables:
aBlock: [Default := self]
complete: nil
returnValue: nil
Receiver's instance variables:
outerContext: SmalltalkImage>>snapshot:andQuit:
startpc: 215
numArgs: 0
MorphicUIManager(UIManager)>>boot:during:
Receiver: a MorphicUIManager
Arguments and temporary variables:
bootingFromDisk: true
aBlock: [self processStartUpList: resuming.
resuming
ifTrue: [self recordSta...etc...
Receiver's instance variables:
interactiveParser: nil
SmalltalkImage>>snapshot:andQuit:
Receiver: Smalltalk
Arguments and temporary variables:
save: true
quit: true
snapshotResult: true
resuming: true
Receiver's instance variables:
globals: a SystemDictionary(lots of globals)
WorldState class>>saveAndQuit
Receiver: WorldState
Arguments and temporary variables:
Receiver's instance variables:
superclass: Object
methodDict: a MethodDictionary(#activeHand->(WorldState>>#activeHand "a Compile...etc...
format: 152
instanceVariables: #('hands' 'viewBox' 'canvas' 'damageRecorder' 'stepList' 'la...etc...
organization: ('alarms' addAlarm:withArguments:for:at: adjustAlarmTimes: alarmS...etc...
subclasses: nil
name: #WorldState
classPool: a Dictionary(#CanSurrenderToOS->true #DebugShowDamage->false #Deferr...etc...
sharedPools: nil
environment: a SystemDictionary(lots of globals)
category: #'Morphic-Worlds'
traitComposition: {}
localSelectors: nil
[| 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)]]] in MenuItemMorph>>invokeWithEvent:
Receiver: a MenuItemMorph(362807296)'Save and quit'
Arguments and temporary variables:
evt: [193@615 mouseUp 9293 nil]
selArgCount: 0
Receiver's instance variables:
bounds: 154@602 corner: 299@620
owner: a MenuMorph(140771328)
submorphs: #()
fullBounds: 154@602 corner: 299@620
color: Color black
extension: a MorphExtension (1056702464)
font: a StrikeFont(Bitmap DejaVu Sans 9 14)
emphasis: 0
contents: 'Save and quit'
hasFocus: false
isEnabled: true
subMenu: nil
isSelected: false
target: WorldState
selector: #saveAndQuit
arguments: #()
icon: Form(16x16x32)
BlockClosure>>ensure:
Receiver: [| selArgCount | (selArgCount := selector numArgs) = 0
ifTrue: [target perform: selector...etc...
Arguments and temporary variables:
aBlock: [oldcursor show]
complete: nil
returnValue: nil
Receiver's instance variables:
outerContext: MenuItemMorph>>invokeWithEvent:
startpc: 152
numArgs: 0
CursorWithMask(Cursor)>>showWhile:
Receiver: ((CursorWithMask
extent: 16@16
depth: 1
fromArray: #(
2r0
2r10000000000000000000000...etc...
Arguments and temporary variables:
aBlock: [| selArgCount | (selArgCount := selector numArgs) = 0
ifTrue: [targe...etc...
oldcursor: ((CursorWithMask
extent: 16@16
depth: 1
fromArray: #(
2r0
2r1...etc...
Receiver's instance variables:
bits: a Bitmap of length 16
width: 16
height: 16
depth: 1
offset: -1@ -1
maskForm: Form(16x16x1)
MenuItemMorph>>invokeWithEvent:
Receiver: a MenuItemMorph(362807296)'Save and quit'
Arguments and temporary variables:
evt: [193@615 mouseUp 9293 nil]
w: a PasteUpMorph(425197568) [world]
Receiver's instance variables:
bounds: 154@602 corner: 299@620
owner: a MenuMorph(140771328)
submorphs: #()
fullBounds: 154@602 corner: 299@620
color: Color black
extension: a MorphExtension (1056702464)
font: a StrikeFont(Bitmap DejaVu Sans 9 14)
emphasis: 0
contents: 'Save and quit'
hasFocus: false
isEnabled: true
subMenu: nil
isSelected: false
target: WorldState
selector: #saveAndQuit
arguments: #()
icon: Form(16x16x32)
MenuItemMorph>>mouseUp:
Receiver: a MenuItemMorph(362807296)'Save and quit'
Arguments and temporary variables:
evt: [193@615 mouseUp 9293 nil]
Receiver's instance variables:
bounds: 154@602 corner: 299@620
owner: a MenuMorph(140771328)
submorphs: #()
fullBounds: 154@602 corner: 299@620
color: Color black
extension: a MorphExtension (1056702464)
font: a StrikeFont(Bitmap DejaVu Sans 9 14)
emphasis: 0
contents: 'Save and quit'
hasFocus: false
isEnabled: true
subMenu: nil
isSelected: false
target: WorldState
selector: #saveAndQuit
arguments: #()
icon: Form(16x16x32)
MenuItemMorph>>handleMouseUp:
Receiver: a MenuItemMorph(362807296)'Save and quit'
Arguments and temporary variables:
anEvent: [193@615 mouseUp 9293 nil]
Receiver's instance variables:
bounds: 154@602 corner: 299@620
owner: a MenuMorph(140771328)
submorphs: #()
fullBounds: 154@602 corner: 299@620
color: Color black
extension: a MorphExtension (1056702464)
font: a StrikeFont(Bitmap DejaVu Sans 9 14)
emphasis: 0
contents: 'Save and quit'
hasFocus: false
isEnabled: true
subMenu: nil
isSelected: false
target: WorldState
selector: #saveAndQuit
arguments: #()
icon: Form(16x16x32)
MouseButtonEvent>>sentTo:
Receiver: [193@615 mouseUp 9293 nil]
Arguments and temporary variables:
anObject: a MenuItemMorph(362807296)'Save and quit'
Receiver's instance variables:
timeStamp: 9293
source: a HandMorph(843055104)
windowIndex: nil
type: #mouseUp
buttons: 0
position: 193@615
handler: nil
wasHandled: true
whichButton: 4
MenuItemMorph(Morph)>>handleEvent:
Receiver: a MenuItemMorph(362807296)'Save and quit'
Arguments and temporary variables:
anEvent: [193@615 mouseUp 9293 nil]
Receiver's instance variables:
bounds: 154@602 corner: 299@620
owner: a MenuMorph(140771328)
submorphs: #()
fullBounds: 154@602 corner: 299@620
color: Color black
extension: a MorphExtension (1056702464)
font: a StrikeFont(Bitmap DejaVu Sans 9 14)
emphasis: 0
contents: 'Save and quit'
hasFocus: false
isEnabled: true
subMenu: nil
isSelected: false
target: WorldState
selector: #saveAndQuit
arguments: #()
icon: Form(16x16x32)
MorphicEventDispatcher>>dispatchDefault:with:
Receiver: a MorphicEventDispatcher
Arguments and temporary variables:
anEvent: [193@615 mouseUp 9293 nil]
aMorph: a MenuItemMorph(362807296)'Save and quit'
localEvt: nil
index: 1
child: nil
morphs: #()
inside: true
Receiver's instance variables:
lastType: #mouseUp
lastDispatch: #dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
Receiver: a MorphicEventDispatcher
Arguments and temporary variables:
anEvent: [193@615 mouseUp 9293 nil]
aMorph: a MenuItemMorph(362807296)'Save and quit'
Receiver's instance variables:
lastType: #mouseUp
lastDispatch: #dispatchDefault:with:
MenuItemMorph(Morph)>>processEvent:using:
Receiver: a MenuItemMorph(362807296)'Save and quit'
Arguments and temporary variables:
anEvent: [193@615 mouseUp 9293 nil]
defaultDispatcher: a MorphicEventDispatcher
Receiver's instance variables:
bounds: 154@602 corner: 299@620
owner: a MenuMorph(140771328)
submorphs: #()
fullBounds: 154@602 corner: 299@620
color: Color black
extension: a MorphExtension (1056702464)
font: a StrikeFont(Bitmap DejaVu Sans 9 14)
emphasis: 0
contents: 'Save and quit'
hasFocus: false
isEnabled: true
subMenu: nil
isSelected: false
target: WorldState
selector: #saveAndQuit
arguments: #()
icon: Form(16x16x32)
MorphicEventDispatcher>>dispatchDefault:with:
Receiver: a MorphicEventDispatcher
Arguments and temporary variables:
anEvent: [193@615 mouseUp 9293 nil]
aMorph: a MenuMorph(140771328)
localEvt: [193@615 mouseUp 9293 nil]
index: 15
child: a MenuItemMorph(362807296)'Save and quit'
morphs: an Array(an AlignmentMorph(260046848) a MenuItemMorph(733216768)'System...etc...
inside: false
Receiver's instance variables:
lastType: #mouseUp
lastDispatch: #dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
Receiver: a MorphicEventDispatcher
Arguments and temporary variables:
anEvent: [193@615 mouseUp 9293 nil]
aMorph: a MenuMorph(140771328)
Receiver's instance variables:
lastType: #mouseUp
lastDispatch: #dispatchDefault:with:
MenuMorph(Morph)>>processEvent:using:
Receiver: a MenuMorph(140771328)
Arguments and temporary variables:
anEvent: [193@615 mouseUp 9293 nil]
defaultDispatcher: a MorphicEventDispatcher
Receiver's instance variables:
bounds: 149@374 corner: 304@644
owner: nil
submorphs: an Array(an AlignmentMorph(260046848) a MenuItemMorph(733216768)'Sys...etc...
fullBounds: 149@374 corner: 304@644
color: (Color r: 0.848 g: 0.848 b: 0.848)
extension: a MorphExtension (1026293760) [other: (basicColor -> (Color r: 0.74...etc...
borderWidth: 2
borderColor: (Color r: 0.595 g: 0.595 b: 0.595)
defaultTarget: nil
selectedItem: a MenuItemMorph(362807296)'Save and quit'
stayUp: false
popUpOwner: nil
activeSubMenu: nil
activatorDockingBar: nil
embeddable: nil
menuItems: nil
MenuMorph(Morph)>>processEvent:
Receiver: a MenuMorph(140771328)
Arguments and temporary variables:
anEvent: [193@615 mouseUp 9293 nil]
Receiver's instance variables:
bounds: 149@374 corner: 304@644
owner: nil
submorphs: an Array(an AlignmentMorph(260046848) a MenuItemMorph(733216768)'Sys...etc...
fullBounds: 149@374 corner: 304@644
color: (Color r: 0.848 g: 0.848 b: 0.848)
extension: a MorphExtension (1026293760) [other: (basicColor -> (Color r: 0.74...etc...
borderWidth: 2
borderColor: (Color r: 0.595 g: 0.595 b: 0.595)
defaultTarget: nil
selectedItem: a MenuItemMorph(362807296)'Save and quit'
stayUp: false
popUpOwner: nil
activeSubMenu: nil
activatorDockingBar: nil
embeddable: nil
menuItems: nil
MenuMorph>>handleFocusEvent:
Receiver: a MenuMorph(140771328)
Arguments and temporary variables:
evt: [193@615 mouseUp 9293 nil]
Receiver's instance variables:
bounds: 149@374 corner: 304@644
owner: nil
submorphs: an Array(an AlignmentMorph(260046848) a MenuItemMorph(733216768)'Sys...etc...
fullBounds: 149@374 corner: 304@644
color: (Color r: 0.848 g: 0.848 b: 0.848)
extension: a MorphExtension (1026293760) [other: (basicColor -> (Color r: 0.74...etc...
borderWidth: 2
borderColor: (Color r: 0.595 g: 0.595 b: 0.595)
defaultTarget: nil
selectedItem: a MenuItemMorph(362807296)'Save and quit'
stayUp: false
popUpOwner: nil
activeSubMenu: nil
activatorDockingBar: nil
embeddable: nil
menuItems: nil
[ActiveHand := self.
ActiveEvent := anEvent.
result := focusHolder
handleFocusEvent: (anEvent
transformedBy: (focusHolder transformedFrom: self))] in HandMorph>>sendFocusEvent:to:clear:
Receiver: a HandMorph(843055104)
Arguments and temporary variables:
anEvent: [193@615 mouseUp 9293 nil]
focusHolder: a MenuMorph(140771328)
result: #(nil)
Receiver's instance variables:
bounds: 100@100 corner: 116@116
owner: a PasteUpMorph(425197568) [world]
submorphs: #()
fullBounds: 100@100 corner: 116@116
color: Color blue
extension: a MorphExtension (141295616) [eventHandler = an EventHandler]
mouseFocus: nil
keyboardFocus: nil
eventListeners: nil
mouseListeners: nil
keyboardListeners: nil
mouseClickState: nil
mouseOverHandler: nil
lastMouseEvent: [0@0 mouseMove nil nil]
targetOffset: 151@451
damageRecorder: a DamageRecorder
cacheCanvas: nil
cachedCanvasHasHoles: true
temporaryCursor: nil
temporaryCursorOffset: nil
hardwareCursor: nil
hasChanged: true
savedPatch: nil
userInitials: ''
lastEventBuffer: #(1 0 0 0 0 0 nil nil)
lastKeyScanCode: 115
combinedChar: nil
--- The full stack ---
CodeLoader class(Object)>>halt
CodeLoader class>>commandLineHandlerAction:
[:cl | CodeLoader commandLineHandlerAction: cl] in CodeLoader 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:
CommandLine class>>dispatch
CommandLine class>>startUp:
[:name |
| class |
class := self
at: name
ifAbsent: [].
class isNil
ifTrue: [removals add: name]
ifFalse: [class perform: startUpOrShutDown with: argument]] in SmalltalkImage>>send:toClassesNamedIn:with:
OrderedCollection>>do:
SmalltalkImage>>send:toClassesNamedIn:with:
SmalltalkImage>>processStartUpList:
[self processStartUpList: resuming.
resuming
ifTrue: [self recordStartupStamp]] in SmalltalkImage>>snapshot:andQuit:
BlockClosure>>ensure:
MorphicUIManager(UIManager)>>boot:during:
SmalltalkImage>>snapshot:andQuit:
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)]]] in MenuItemMorph>>invokeWithEvent:
BlockClosure>>ensure:
CursorWithMask(Cursor)>>showWhile:
MenuItemMorph>>invokeWithEvent:
MenuItemMorph>>mouseUp:
MenuItemMorph>>handleMouseUp:
MouseButtonEvent>>sentTo:
MenuItemMorph(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
MenuItemMorph(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 Project class>>spawnNewProcess
[self value.
Processor terminateActive] in BlockClosure>>newProcess
------------------------------------------------------------
Processes and their stacks:
Process: a Process in nil
stack:
Array(SequenceableCollection)>>do:
[:logger |
logger nextPutAll: 'Processes and their stacks: ';
cr.
Process allInstances
do: [:each |
| ctx |
logger nextPutAll: 'Process: ';
print: each;
cr;
nextPutAll: ' stack:';
cr;
cr.
ctx := each isActiveProcess
ifTrue: [thisContext sender]
ifFalse: [each suspendedContext].
ctx
ifNotNil: [(ctx stackOfSize: 20)
do: [:s | logger print: s;
cr]].
logger nextPutAll: '------------------------------';
cr;
cr]] in [Smalltalk logError: aString inContext: aContext.
Smalltalk
logDuring: [:logger |
logger nextPutAll: 'Processes and their stacks: ';
cr.
Process allInstances
do: [:each |
| ctx |
logger nextPutAll: 'Process: ';
print: each;
cr;
nextPutAll: ' stack:';
cr;
cr.
ctx := each isActiveProcess
ifTrue: [thisContext sender]
ifFalse: [each suspendedContext].
ctx
ifNotNil: [(ctx stackOfSize: 20)
do: [:s | logger print: s;
cr]].
logger nextPutAll: '------------------------------';
cr;
cr]]] in StartupUIManager(NonInteractiveUIManager)>>quitFrom:withMessage:
[logStream := self openLog.
aMonadicBlock value: logStream] in SmalltalkImage>>logDuring:
BlockClosure>>ensure:
SmalltalkImage>>logDuring:
[Smalltalk logError: aString inContext: aContext.
Smalltalk
logDuring: [:logger |
logger nextPutAll: 'Processes and their stacks: ';
cr.
Process allInstances
do: [:each |
| ctx |
logger nextPutAll: 'Process: ';
print: each;
cr;
nextPutAll: ' stack:';
cr;
cr.
ctx := each isActiveProcess
ifTrue: [thisContext sender]
ifFalse: [each suspendedContext].
ctx
ifNotNil: [(ctx stackOfSize: 20)
do: [:s | logger print: s;
cr]].
logger nextPutAll: '------------------------------';
cr;
cr]]] in StartupUIManager(NonInteractiveUIManager)>>quitFrom:withMessage:
BlockClosure>>ensure:
StartupUIManager(NonInteractiveUIManager)>>quitFrom:withMessage:
StartupUIManager(NonInteractiveUIManager)>>unhandledErrorDefaultAction:
UnhandledError>>defaultAction
UndefinedObject>>handleSignal:
MethodContext(ContextPart)>>handleSignal:
UnhandledError(Exception)>>signal
UnhandledError class>>signalForException:
Halt>>defaultAction
UndefinedObject>>handleSignal:
MethodContext(ContextPart)>>handleSignal:
Halt(Exception)>>signal
Halt class(Exception class)>>signal
CodeLoader class(Object)>>halt
------------------------------
Process: a Process in Delay class>>handleTimerEvent
stack:
Delay class>>handleTimerEvent
Delay class>>runTimerEventLoop
[self runTimerEventLoop] in Delay class>>startTimerEventLoop
[self value.
Processor terminateActive] in BlockClosure>>newProcess
------------------------------
Process: a Process in [self value.
Processor terminateActive] in BlockClosure>>newProcess
stack:
[self value.
Processor terminateActive] in BlockClosure>>newProcess
------------------------------
Process: a Process in [self value.
Processor terminateActive] in BlockClosure>>newProcess
stack:
[self value.
Processor terminateActive] in BlockClosure>>newProcess
------------------------------
Process: a Process in [self value.
Processor terminateActive] in BlockClosure>>newProcess
stack:
[self value.
Processor terminateActive] in BlockClosure>>newProcess
------------------------------
Process: a Process in [self value.
Processor terminateActive] in BlockClosure>>newProcess
stack:
[self value.
Processor terminateActive] in BlockClosure>>newProcess
------------------------------
Process: a Process in SmalltalkImage>>lowSpaceWatcher
stack:
SmalltalkImage>>lowSpaceWatcher
[self lowSpaceWatcher] in SmalltalkImage>>installLowSpaceWatcher
[self value.
Processor terminateActive] in BlockClosure>>newProcess
------------------------------
Process: a Process in [self value.
Processor terminateActive] in BlockClosure>>newProcess
stack:
[self value.
Processor terminateActive] in BlockClosure>>newProcess
------------------------------
Process: a Process in [delaySemaphore wait] in Delay>>wait
stack:
[delaySemaphore wait] in Delay>>wait
BlockClosure>>ifCurtailed:
Delay>>wait
InputEventPollingFetcher>>waitForInput
InputEventPollingFetcher(InputEventFetcher)>>eventLoop
[self eventLoop] in InputEventPollingFetcher(InputEventFetcher)>>installEventLoop
[self value.
Processor terminateActive] in BlockClosure>>newProcess
------------------------------
Process: a Process in WeakArray class>>finalizationProcess
stack:
WeakArray class>>finalizationProcess
[self finalizationProcess] in WeakArray class>>restartFinalizationProcess
[self value.
Processor terminateActive] in BlockClosure>>newProcess
------------------------------