Hi,
On Mac OSX 10.12.6, when asking to load an image from the pharo launcher there
is an error. see log
Hilaire
THERE_BE_DRAGONS_HERE
SubscriptOutOfBounds: 4
26 March 2018 2:02:19.777388 pm
VM: Mac OS - intel - 1012.6 - CoInterpreter VMMaker.oscog-eem.2254 uuid: 4f2c2cce-f4a2-469a-93f1-97ed941df0ad Jul 20 2017
StackToRegisterMappingCogit VMMaker.oscog-eem.2252 uuid: 2f3e9b0e-ecd3-4adf-b092-cce2e2587a5c Jul 20 2017
VM: 201707201942 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ Date: Thu Jul 20 12:42:21 2017 -0700 $ Plugins: 201707201942 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
Image: Pharo6.0 [Latest update: #60528]
ByteArray(Object)>>errorSubscriptBounds:
Receiver: #[]
Arguments and temporary variables:
index: 4
Receiver's instance variables:
#[]
ByteArray(Object)>>at:
Receiver: #[]
Arguments and temporary variables:
index: 4
Receiver's instance variables:
#[]
MultiByteFileStream(PositionableStream)>>nextLittleEndianNumber:
Receiver: MultiByteFileStream: '/Users/prof/Desktop/Pharo.app/Contents/Resources'
Arguments and temporary variables:
n: 4
bytes: #[]
s: 0
i: 4
Receiver's instance variables:
PhLVirtualMachineManager class>>imageFormatNumberFromStream:
Receiver: PhLVirtualMachineManager
Arguments and temporary variables:
aStream: MultiByteFileStream: '/Users/prof/Desktop/Pharo.app/Contents/Resources...etc...
number: nil
Receiver's instance variables:
superclass: Object
methodDict: a MethodDictionary(#availableVirtualMachines->PhLVirtualMachineMana...etc...
format: 65539
layout: a FixedLayout
instanceVariables: nil
organization: a ClassOrganization
subclasses: nil
name: #PhLVirtualMachineManager
classPool: a Dictionary(#VMStore->File @ /Users/prof/Documents/Pharo/vms )
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'PharoLauncher-Core-Model'
traitComposition: {}
localSelectors: nil
[ :stream | self imageFormatNumberFromStream: stream ] in PhLVirtualMachineManager class>>imageFormatNumberFromFile:
Receiver: PhLVirtualMachineManager
Arguments and temporary variables:
anImagePath: File @ /Users/prof/Desktop/Pharo.app/Contents/Resources
imageFile: File @ /Users/prof/Desktop/Pharo.app/Contents/Resources
stream: MultiByteFileStream: '/Users/prof/Desktop/Pharo.app/Contents/Resources'...etc...
Receiver's instance variables:
superclass: Object
methodDict: a MethodDictionary(#availableVirtualMachines->PhLVirtualMachineMana...etc...
format: 65539
layout: a FixedLayout
instanceVariables: nil
organization: a ClassOrganization
subclasses: nil
name: #PhLVirtualMachineManager
classPool: a Dictionary(#VMStore->File @ /Users/prof/Documents/Pharo/vms )
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'PharoLauncher-Core-Model'
traitComposition: {}
localSelectors: nil
[ aBlock value: stream ] in FileReference(AbstractFileReference)>>binaryReadStreamDo:
Receiver: File @ /Users/prof/Desktop/Pharo.app/Contents/Resources
Arguments and temporary variables:
aBlock: [ :stream | self imageFormatNumberFromStream: stream ]
stream: MultiByteFileStream: '/Users/prof/Desktop/Pharo.app/Contents/Resources'...etc...
Receiver's instance variables:
filesystem: a FileSystem
path: Path / 'Users' / 'prof' / 'Desktop' / 'Pharo.app' / 'Contents' / 'Resourc...etc...
BlockClosure>>ensure:
Receiver: [ aBlock value: stream ]
Arguments and temporary variables:
aBlock: [ stream close ]
complete: nil
returnValue: nil
Receiver's instance variables:
outerContext: FileReference(AbstractFileReference)>>binaryReadStreamDo:
startpc: 34
numArgs: 0
FileReference(AbstractFileReference)>>binaryReadStreamDo:
Receiver: File @ /Users/prof/Desktop/Pharo.app/Contents/Resources
Arguments and temporary variables:
aBlock: [ :stream | self imageFormatNumberFromStream: stream ]
stream: MultiByteFileStream: '/Users/prof/Desktop/Pharo.app/Contents/Resources'...etc...
Receiver's instance variables:
filesystem: a FileSystem
path: Path / 'Users' / 'prof' / 'Desktop' / 'Pharo.app' / 'Contents' / 'Resourc...etc...
PhLVirtualMachineManager class>>imageFormatNumberFromFile:
Receiver: PhLVirtualMachineManager
Arguments and temporary variables:
anImagePath: File @ /Users/prof/Desktop/Pharo.app/Contents/Resources
imageFile: File @ /Users/prof/Desktop/Pharo.app/Contents/Resources
Receiver's instance variables:
superclass: Object
methodDict: a MethodDictionary(#availableVirtualMachines->PhLVirtualMachineMana...etc...
format: 65539
layout: a FixedLayout
instanceVariables: nil
organization: a ClassOrganization
subclasses: nil
name: #PhLVirtualMachineManager
classPool: a Dictionary(#VMStore->File @ /Users/prof/Documents/Pharo/vms )
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'PharoLauncher-Core-Model'
traitComposition: {}
localSelectors: nil
PhLVirtualMachineManager>>imageFormatNumber
Receiver: a PhLVirtualMachineManager
Arguments and temporary variables:
Receiver's instance variables:
imageFile: File @ /Users/prof/Desktop/Pharo.app/Contents/Resources
imageFormatNumber: nil
imageVersion: nil
PhLVirtualMachineManager>>vmFileName
Receiver: a PhLVirtualMachineManager
Arguments and temporary variables:
architecture: nil
pharoVersion: nil
Receiver's instance variables:
imageFile: File @ /Users/prof/Desktop/Pharo.app/Contents/Resources
imageFormatNumber: nil
imageVersion: nil
[ :bar |
bar label: 'Determining Image version'.
vm := self availableVirtualMachines
at: self vmFileName
ifAbsent: [ bar
label: 'Fetching VM to run Pharo ' , self imageVersion , ' images';
current: 25.
self fetchVm.
vm := self availableVirtualMachines at: self vmFileName.
bar
label: 'Fetching sources files for Pharo ' , self imageVersion;
current: 50.
self fetchSourcesFiles.
bar
label: 'Running the image';
current: 100.
vm ] ] in PhLVirtualMachineManager>>vm
Receiver: a PhLVirtualMachineManager
Arguments and temporary variables:
vm: nil
bar: a Job
Receiver's instance variables:
imageFile: File @ /Users/prof/Desktop/Pharo.app/Contents/Resources
imageFormatNumber: nil
imageVersion: nil
[ :bar | aBlock value: bar ] in MorphicUIManager>>informUserDuring:
Receiver: a MorphicUIManager
Arguments and temporary variables:
aBlock: [ :bar |
bar label: 'Determining Image version'.
vm := self availableV...etc...
bar: a Job
Receiver's instance variables:
interactiveParser: nil
activeTranscript: nil
BlockClosure>>cull:
Receiver: [ :bar | aBlock value: bar ]
Arguments and temporary variables:
anArg: a Job
Receiver's instance variables:
outerContext: MorphicUIManager>>informUserDuring:
startpc: 34
numArgs: 1
[ ^ block cull: self ] in [ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
Receiver: a Job
Arguments and temporary variables:
Receiver's instance variables:
block: [ :bar | aBlock value: bar ]
currentValue: 1
min: 1
max: 100
title: 'Determining Image version'
children: an OrderedCollection()
isRunning: true
parent: nil
process: a Process in nil
[ activeProcess psValueAt: index put: anObject.
aBlock value ] in CurrentJob(DynamicVariable)>>value:during:
Receiver: a CurrentJob
Arguments and temporary variables:
anObject: a Job
aBlock: [ ^ block cull: self ]
activeProcess: a Process in nil
oldValue: nil
Receiver's instance variables:
index: 8
BlockClosure>>ensure:
Receiver: [ activeProcess psValueAt: index put: anObject.
aBlock value ]
Arguments and temporary variables:
aBlock: [ activeProcess psValueAt: index put: oldValue ]
complete: nil
returnValue: nil
Receiver's instance variables:
outerContext: CurrentJob(DynamicVariable)>>value:during:
startpc: 47
numArgs: 0
CurrentJob(DynamicVariable)>>value:during:
Receiver: a CurrentJob
Arguments and temporary variables:
anObject: a Job
aBlock: [ ^ block cull: self ]
activeProcess: a Process in nil
oldValue: nil
Receiver's instance variables:
index: 8
CurrentJob class(DynamicVariable class)>>value:during:
Receiver: CurrentJob
Arguments and temporary variables:
anObject: a Job
aBlock: [ ^ block cull: self ]
Receiver's instance variables:
superclass: DynamicVariable
methodDict: a MethodDictionary()
format: 65537
layout: a FixedLayout
instanceVariables: nil
organization: a ClassOrganization
subclasses: nil
name: #CurrentJob
classPool: a Dictionary()
sharedPools: nil
environment: a SystemDictionary(lots of globals)
category: #'Jobs-Base'
traitComposition: {}
localSelectors: nil
soleInstance: a CurrentJob
[ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
Receiver: a Job
Arguments and temporary variables:
Receiver's instance variables:
block: [ :bar | aBlock value: bar ]
currentValue: 1
min: 1
max: 100
title: 'Determining Image version'
children: an OrderedCollection()
isRunning: true
parent: nil
process: a Process in nil
BlockClosure>>ensure:
Receiver: [ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ]
Arguments and temporary variables:
aBlock: [ self cleanupAfterRunning ]
complete: nil
returnValue: nil
Receiver's instance variables:
outerContext: Job>>run
startpc: 41
numArgs: 0
Job>>run
Receiver: a Job
Arguments and temporary variables:
Receiver's instance variables:
block: [ :bar | aBlock value: bar ]
currentValue: 1
min: 1
max: 100
title: 'Determining Image version'
children: an OrderedCollection()
isRunning: true
parent: nil
process: a Process in nil
MorphicUIManager(UIManager)>>displayProgress:from:to:during:
Receiver: a MorphicUIManager
Arguments and temporary variables:
titleString: ''
minVal: 1
maxVal: 100
workBlock: [ :bar | aBlock value: bar ]
Receiver's instance variables:
interactiveParser: nil
activeTranscript: nil
MorphicUIManager>>informUserDuring:
Receiver: a MorphicUIManager
Arguments and temporary variables:
aBlock: [ :bar |
bar label: 'Determining Image version'.
vm := self availableV...etc...
Receiver's instance variables:
interactiveParser: nil
activeTranscript: nil
PhLVirtualMachineManager>>vm
Receiver: a PhLVirtualMachineManager
Arguments and temporary variables:
vm: nil
Receiver's instance variables:
imageFile: File @ /Users/prof/Desktop/Pharo.app/Contents/Resources
imageFormatNumber: nil
imageVersion: nil
[ | vmCommand |
vmCommand := (PhLVirtualMachineManager forImage: file pathString) vm.
^ PhLProcessWrapper command: (self launchCommandWith: vmCommand) ] in PhLImage>>launch
Receiver: Image (Resources)
Arguments and temporary variables:
vmCommand: nil
Receiver's instance variables:
file: File @ /Users/prof/Desktop/Pharo.app/Contents/Resources
meta: nil
BlockClosure>>on:do:
Receiver: [ | vmCommand |
vmCommand := (PhLVirtualMachineManager forImage: file pathString) vm.
^ Ph...etc...
Arguments and temporary variables:
exception: PhLImageVersionDeterminationError
handlerAction: [ :error | self imageDeterminationErrorAlert: error ]
Receiver's instance variables:
outerContext: PhLImage>>launch
startpc: 57
numArgs: 0
PhLImage>>launch
Receiver: Image (Resources)
Arguments and temporary variables:
Receiver's instance variables:
file: File @ /Users/prof/Desktop/Pharo.app/Contents/Resources
meta: nil
PhLLaunchImageCommand>>launchImage:
Receiver: a PhLLaunchImageCommand
Arguments and temporary variables:
aPhLImage: Image (Resources)
Receiver's instance variables:
context: a PhLCommandContext
PhLLaunchImageCommand>>launchImageFromDisk
Receiver: a PhLLaunchImageCommand
Arguments and temporary variables:
imagePath: '/Users/prof/Desktop/Pharo.app/Contents/Resources'
Receiver's instance variables:
context: a PhLCommandContext
PhLLaunchImageCommand>>execute
Receiver: a PhLLaunchImageCommand
Arguments and temporary variables:
Receiver's instance variables:
context: a PhLCommandContext
PhLLaunchImageCommand(PhLCommand)>>executeIfApplicable
Receiver: a PhLLaunchImageCommand
Arguments and temporary variables:
Receiver's instance variables:
context: a PhLCommandContext
PhLCommandButton>>performAction
Receiver: a PhLCommandButton
Arguments and temporary variables:
Receiver's instance variables:
dependents: a DependentsArray(a MorphicButtonAdapter)
announceur: nil
focusOrder: nil
owner: a PhLCommandToolbar
window: a NewValueHolder[ nil ]
spec: a SpecWrapper
extentHolder: a NewValueHolder[ nil ]
needRebuild: a NewValueHolder[ true ]
additionalKeyBindings: a Dictionary(Character space->[ self action ] )
announcer: an Announcer
keyStrokesForNextFocusHolder: a CollectionValueHolder[ an Array() ]
keyStrokesForPreviousFocusHolder: a CollectionValueHolder[ an Array() ]
windowIcon: a NewValueHolder[ nil ]
aboutText: a NewValueHolder[ nil ]
askOkToClose: a NewValueHolder[ false ]
titleHolder: a CollectionValueHolder[ 'Button' ]
helpHolder: a NewValueHolder[ 'Launch' ]
borderWidth: a NewValueHolder[ 0 ]
borderColor: a NewValueHolder[ Color transparent ]
enabledHolder: a NewValueHolder[ true ]
dragEnabled: a NewValueHolder[ false ]
dropEnabled: a NewValueHolder[ false ]
dragTransformationBlock: a NewValueHolder[ [ :item :source | item ] ]
wantDropBlock: a NewValueHolder[ [ :draggedItem :event :source | self dropEnabl...etc...
acceptDropBlock: a NewValueHolder[ [ :draggedItem :event :source | ] ]
transferBlock: a NewValueHolder[ [ :passenger :source | self transferFor: passe...etc...
color: a NewValueHolder[ (Color r: 0.13 g: 0.13 b: 0.13 alpha: 1.0) ]
actionHolder: a NewValueHolder[ [ ] ]
labelHolder: a CollectionValueHolder[ '' ]
fontHolder: a NewValueHolder[ nil ]
stateHolder: a NewValueHolder[ false ]
actionPerformedHolder: a NewValueHolder[ nil ]
askBeforeChangingHolder: a NewValueHolder[ false ]
iconHolder: a NewValueHolder[ Form(13x13x32) ]
menuHolder: a NewValueHolder[ a MenuModel ]
shortcutHolder: a NewValueHolder[ nil ]
commandClass: PhLLaunchImageCommand
contextHolder: a NewValueHolder[ a PhLCommandContext ]
command: a PhLLaunchImageCommand
MorphicButtonAdapter>>action
Receiver: a MorphicButtonAdapter
Arguments and temporary variables:
Receiver's instance variables:
dependents: a DependentsArray(a PluggableButtonMorph(595057408))
announceur: nil
model: a PhLCommandButton
widget: a PluggableButtonMorph(595057408)
selector: nil
PluggableButtonMorph>>performAction:
Receiver: a PluggableButtonMorph(595057408)
Arguments and temporary variables:
event: [(848@23) mouseUp 18514 nil]
Receiver's instance variables:
bounds: (831.0@0.0) corner: (856.0@29.0)
owner: a PanelMorph(365235968)
submorphs: an Array(an AlignmentMorph(569711104))
fullBounds: (831@0) corner: (856@29)
color: (Color r: 0.29 g: 0.28800000000000003 b: 0.28800000000000003 alpha: 1.0)...etc...
extension: a MorphExtension (985686784) [balloonText] [eventHandler = a Morphi...etc...
borderWidth: 1
borderColor: #simple
model: a MorphicButtonAdapter
label: an IconicListItem(318891776)
icon: nil
getIconSelector: nil
getStateSelector: #state
actionSelector: #action
font: nil
getLabelSelector: #label
getMenuSelector: nil
shortcutCharacter: nil
askBeforeChanging: false
triggerOnMouseDown: false
offColor: nil
onColor: nil
feedbackColor: nil
showSelectionFeedback: false
allButtons: nil
arguments: #()
argumentsProvider: nil
argumentsSelector: nil
gradientLook: false
enabled: true
actionBlock: nil
getColorSelector: nil
getEnabledSelector: #enabled
getFontSelector: #font
lastColor: nil
labelMorph: an IconicListItem(318891776)
iconMorph: nil
iconPosition: #left
lastState: false
[ :m |
(m containsPoint: evt cursorPoint)
ifTrue: [ m enabled
ifTrue: [ m performAction: evt ] ] ] in PluggableButtonMorph>>mouseUp:
Receiver: a PluggableButtonMorph(595057408)
Arguments and temporary variables:
evt: [(848@23) mouseUp 18514 nil]
all: an Array(a PluggableButtonMorph(501820160) a PluggableButtonMorph(92421888...etc...
m: a PluggableButtonMorph(595057408)
Receiver's instance variables:
bounds: (831.0@0.0) corner: (856.0@29.0)
owner: a PanelMorph(365235968)
submorphs: an Array(an AlignmentMorph(569711104))
fullBounds: (831@0) corner: (856@29)
color: (Color r: 0.29 g: 0.28800000000000003 b: 0.28800000000000003 alpha: 1.0)...etc...
extension: a MorphExtension (985686784) [balloonText] [eventHandler = a Morphi...etc...
borderWidth: 1
borderColor: #simple
model: a MorphicButtonAdapter
label: an IconicListItem(318891776)
icon: nil
getIconSelector: nil
getStateSelector: #state
actionSelector: #action
font: nil
getLabelSelector: #label
getMenuSelector: nil
shortcutCharacter: nil
askBeforeChanging: false
triggerOnMouseDown: false
offColor: nil
onColor: nil
feedbackColor: nil
showSelectionFeedback: false
allButtons: nil
arguments: #()
argumentsProvider: nil
argumentsSelector: nil
gradientLook: false
enabled: true
actionBlock: nil
getColorSelector: nil
getEnabledSelector: #enabled
getFontSelector: #font
lastColor: nil
labelMorph: an IconicListItem(318891776)
iconMorph: nil
iconPosition: #left
lastState: false
Array(SequenceableCollection)>>do:
Receiver: an Array(a PluggableButtonMorph(501820160) a PluggableButtonMorph(924218880) a PluggableBu...etc...
Arguments and temporary variables:
aBlock: [ :m |
(m containsPoint: evt cursorPoint)
ifTrue: [ m enabled
ifTr...etc...
index: 5
Receiver's instance variables:
an Array(a PluggableButtonMorph(501820160) a PluggableButtonMorph(924218880) a PluggableBu...etc...
PluggableButtonMorph>>mouseUp:
Receiver: a PluggableButtonMorph(595057408)
Arguments and temporary variables:
evt: [(848@23) mouseUp 18514 nil]
all: an Array(a PluggableButtonMorph(501820160) a PluggableButtonMorph(92421888...etc...
Receiver's instance variables:
bounds: (831.0@0.0) corner: (856.0@29.0)
owner: a PanelMorph(365235968)
submorphs: an Array(an AlignmentMorph(569711104))
fullBounds: (831@0) corner: (856@29)
color: (Color r: 0.29 g: 0.28800000000000003 b: 0.28800000000000003 alpha: 1.0)...etc...
extension: a MorphExtension (985686784) [balloonText] [eventHandler = a Morphi...etc...
borderWidth: 1
borderColor: #simple
model: a MorphicButtonAdapter
label: an IconicListItem(318891776)
icon: nil
getIconSelector: nil
getStateSelector: #state
actionSelector: #action
font: nil
getLabelSelector: #label
getMenuSelector: nil
shortcutCharacter: nil
askBeforeChanging: false
triggerOnMouseDown: false
offColor: nil
onColor: nil
feedbackColor: nil
showSelectionFeedback: false
allButtons: nil
arguments: #()
argumentsProvider: nil
argumentsSelector: nil
gradientLook: false
enabled: true
actionBlock: nil
getColorSelector: nil
getEnabledSelector: #enabled
getFontSelector: #font
lastColor: nil
labelMorph: an IconicListItem(318891776)
iconMorph: nil
iconPosition: #left
lastState: false
PluggableButtonMorph(Morph)>>handleMouseUp:
Receiver: a PluggableButtonMorph(595057408)
Arguments and temporary variables:
anEvent: [(848@23) mouseUp 18514 nil]
result: nil
Receiver's instance variables:
bounds: (831.0@0.0) corner: (856.0@29.0)
owner: a PanelMorph(365235968)
submorphs: an Array(an AlignmentMorph(569711104))
fullBounds: (831@0) corner: (856@29)
color: (Color r: 0.29 g: 0.28800000000000003 b: 0.28800000000000003 alpha: 1.0)...etc...
extension: a MorphExtension (985686784) [balloonText] [eventHandler = a Morphi...etc...
borderWidth: 1
borderColor: #simple
model: a MorphicButtonAdapter
label: an IconicListItem(318891776)
icon: nil
getIconSelector: nil
getStateSelector: #state
actionSelector: #action
font: nil
getLabelSelector: #label
getMenuSelector: nil
shortcutCharacter: nil
askBeforeChanging: false
triggerOnMouseDown: false
offColor: nil
onColor: nil
feedbackColor: nil
showSelectionFeedback: false
allButtons: nil
arguments: #()
argumentsProvider: nil
argumentsSelector: nil
gradientLook: false
enabled: true
actionBlock: nil
getColorSelector: nil
getEnabledSelector: #enabled
getFontSelector: #font
lastColor: nil
labelMorph: an IconicListItem(318891776)
iconMorph: nil
iconPosition: #left
lastState: false
--- The full stack ---
ByteArray(Object)>>errorSubscriptBounds:
ByteArray(Object)>>at:
MultiByteFileStream(PositionableStream)>>nextLittleEndianNumber:
PhLVirtualMachineManager class>>imageFormatNumberFromStream:
[ :stream | self imageFormatNumberFromStream: stream ] in PhLVirtualMachineManager class>>imageFormatNumberFromFile:
[ aBlock value: stream ] in FileReference(AbstractFileReference)>>binaryReadStreamDo:
BlockClosure>>ensure:
FileReference(AbstractFileReference)>>binaryReadStreamDo:
PhLVirtualMachineManager class>>imageFormatNumberFromFile:
PhLVirtualMachineManager>>imageFormatNumber
PhLVirtualMachineManager>>vmFileName
[ :bar |
bar label: 'Determining Image version'.
vm := self availableVirtualMachines
at: self vmFileName
ifAbsent: [ bar
label: 'Fetching VM to run Pharo ' , self imageVersion , ' images';
current: 25.
self fetchVm.
vm := self availableVirtualMachines at: self vmFileName.
bar
label: 'Fetching sources files for Pharo ' , self imageVersion;
current: 50.
self fetchSourcesFiles.
bar
label: 'Running the image';
current: 100.
vm ] ] in PhLVirtualMachineManager>>vm
[ :bar | aBlock value: bar ] in MorphicUIManager>>informUserDuring:
BlockClosure>>cull:
[ ^ block cull: self ] in [ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
[ activeProcess psValueAt: index put: anObject.
aBlock value ] in CurrentJob(DynamicVariable)>>value:during:
BlockClosure>>ensure:
CurrentJob(DynamicVariable)>>value:during:
CurrentJob class(DynamicVariable class)>>value:during:
[ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
BlockClosure>>ensure:
Job>>run
MorphicUIManager(UIManager)>>displayProgress:from:to:during:
MorphicUIManager>>informUserDuring:
PhLVirtualMachineManager>>vm
[ | vmCommand |
vmCommand := (PhLVirtualMachineManager forImage: file pathString) vm.
^ PhLProcessWrapper command: (self launchCommandWith: vmCommand) ] in PhLImage>>launch
BlockClosure>>on:do:
PhLImage>>launch
PhLLaunchImageCommand>>launchImage:
PhLLaunchImageCommand>>launchImageFromDisk
PhLLaunchImageCommand>>execute
PhLLaunchImageCommand(PhLCommand)>>executeIfApplicable
PhLCommandButton>>performAction
MorphicButtonAdapter>>action
PluggableButtonMorph>>performAction:
[ :m |
(m containsPoint: evt cursorPoint)
ifTrue: [ m enabled
ifTrue: [ m performAction: evt ] ] ] in PluggableButtonMorph>>mouseUp:
Array(SequenceableCollection)>>do:
PluggableButtonMorph>>mouseUp:
PluggableButtonMorph(Morph)>>handleMouseUp:
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - -
MouseButtonEvent>>sentTo:
PluggableButtonMorph(Morph)>>handleEvent:
PluggableButtonMorph(Morph)>>handleFocusEvent:
[ ActiveHand := self.
ActiveEvent := anEvent.
result := focusHolder
handleFocusEvent: (anEvent transformedBy: (focusHolder transformedFrom: self)) ] in HandMorph>>sendFocusEvent:to:clear:
BlockClosure>>on:do:
WorldMorph(PasteUpMorph)>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendMouseEvent:
HandMorph>>handleEvent:
HandMorph>>processEventsFromQueue:
HandMorph>>processEvents
[ :h |
self activeHand: h.
h processEvents.
self activeHand: nil ] in WorldState>>doOneCycleNowFor:
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
WorldMorph>>doOneCycle
WorldMorph class>>doOneCycle
[ [ WorldMorph doOneCycle.
Processor yield.
false ] whileFalse: [ ] ] in MorphicUIManager>>spawnNewProcess
[ self value.
Processor terminateActive ] in BlockClosure>>newProcess
-------------------------------------------------------------------------------
THERE_BE_DRAGONS_HERE
SubscriptOutOfBounds: 4
26 March 2018 2:03:17.883162 pm
VM: Mac OS - intel - 1012.6 - CoInterpreter VMMaker.oscog-eem.2254 uuid: 4f2c2cce-f4a2-469a-93f1-97ed941df0ad Jul 20 2017
StackToRegisterMappingCogit VMMaker.oscog-eem.2252 uuid: 2f3e9b0e-ecd3-4adf-b092-cce2e2587a5c Jul 20 2017
VM: 201707201942 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ Date: Thu Jul 20 12:42:21 2017 -0700 $ Plugins: 201707201942 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
Image: Pharo6.0 [Latest update: #60528]
ByteArray(Object)>>errorSubscriptBounds:
Receiver: #[]
Arguments and temporary variables:
index: 4
Receiver's instance variables:
#[]
ByteArray(Object)>>at:
Receiver: #[]
Arguments and temporary variables:
index: 4
Receiver's instance variables:
#[]
MultiByteFileStream(PositionableStream)>>nextLittleEndianNumber:
Receiver: MultiByteFileStream: '/Users/prof/Documents/Pharo/images'
Arguments and temporary variables:
n: 4
bytes: #[]
s: 0
i: 4
Receiver's instance variables:
PhLVirtualMachineManager class>>imageFormatNumberFromStream:
Receiver: PhLVirtualMachineManager
Arguments and temporary variables:
aStream: MultiByteFileStream: '/Users/prof/Documents/Pharo/images'
number: nil
Receiver's instance variables:
superclass: Object
methodDict: a MethodDictionary(#availableVirtualMachines->PhLVirtualMachineMana...etc...
format: 65539
layout: a FixedLayout
instanceVariables: nil
organization: a ClassOrganization
subclasses: nil
name: #PhLVirtualMachineManager
classPool: a Dictionary(#VMStore->File @ /Users/prof/Documents/Pharo/vms )
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'PharoLauncher-Core-Model'
traitComposition: {}
localSelectors: nil
[ :stream | self imageFormatNumberFromStream: stream ] in PhLVirtualMachineManager class>>imageFormatNumberFromFile:
Receiver: PhLVirtualMachineManager
Arguments and temporary variables:
anImagePath: File @ /Users/prof/Documents/Pharo/images
imageFile: File @ /Users/prof/Documents/Pharo/images
stream: MultiByteFileStream: '/Users/prof/Documents/Pharo/images'
Receiver's instance variables:
superclass: Object
methodDict: a MethodDictionary(#availableVirtualMachines->PhLVirtualMachineMana...etc...
format: 65539
layout: a FixedLayout
instanceVariables: nil
organization: a ClassOrganization
subclasses: nil
name: #PhLVirtualMachineManager
classPool: a Dictionary(#VMStore->File @ /Users/prof/Documents/Pharo/vms )
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'PharoLauncher-Core-Model'
traitComposition: {}
localSelectors: nil
[ aBlock value: stream ] in FileReference(AbstractFileReference)>>binaryReadStreamDo:
Receiver: File @ /Users/prof/Documents/Pharo/images
Arguments and temporary variables:
aBlock: [ :stream | self imageFormatNumberFromStream: stream ]
stream: MultiByteFileStream: '/Users/prof/Documents/Pharo/images'
Receiver's instance variables:
filesystem: a FileSystem
path: Path / 'Users' / 'prof' / 'Documents' / 'Pharo' / 'images'
BlockClosure>>ensure:
Receiver: [ aBlock value: stream ]
Arguments and temporary variables:
aBlock: [ stream close ]
complete: nil
returnValue: nil
Receiver's instance variables:
outerContext: FileReference(AbstractFileReference)>>binaryReadStreamDo:
startpc: 34
numArgs: 0
FileReference(AbstractFileReference)>>binaryReadStreamDo:
Receiver: File @ /Users/prof/Documents/Pharo/images
Arguments and temporary variables:
aBlock: [ :stream | self imageFormatNumberFromStream: stream ]
stream: MultiByteFileStream: '/Users/prof/Documents/Pharo/images'
Receiver's instance variables:
filesystem: a FileSystem
path: Path / 'Users' / 'prof' / 'Documents' / 'Pharo' / 'images'
PhLVirtualMachineManager class>>imageFormatNumberFromFile:
Receiver: PhLVirtualMachineManager
Arguments and temporary variables:
anImagePath: File @ /Users/prof/Documents/Pharo/images
imageFile: File @ /Users/prof/Documents/Pharo/images
Receiver's instance variables:
superclass: Object
methodDict: a MethodDictionary(#availableVirtualMachines->PhLVirtualMachineMana...etc...
format: 65539
layout: a FixedLayout
instanceVariables: nil
organization: a ClassOrganization
subclasses: nil
name: #PhLVirtualMachineManager
classPool: a Dictionary(#VMStore->File @ /Users/prof/Documents/Pharo/vms )
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'PharoLauncher-Core-Model'
traitComposition: {}
localSelectors: nil
PhLVirtualMachineManager>>imageFormatNumber
Receiver: a PhLVirtualMachineManager
Arguments and temporary variables:
Receiver's instance variables:
imageFile: File @ /Users/prof/Documents/Pharo/images
imageFormatNumber: nil
imageVersion: nil
PhLVirtualMachineManager>>vmFileName
Receiver: a PhLVirtualMachineManager
Arguments and temporary variables:
architecture: nil
pharoVersion: nil
Receiver's instance variables:
imageFile: File @ /Users/prof/Documents/Pharo/images
imageFormatNumber: nil
imageVersion: nil
[ :bar |
bar label: 'Determining Image version'.
vm := self availableVirtualMachines
at: self vmFileName
ifAbsent: [ bar
label: 'Fetching VM to run Pharo ' , self imageVersion , ' images';
current: 25.
self fetchVm.
vm := self availableVirtualMachines at: self vmFileName.
bar
label: 'Fetching sources files for Pharo ' , self imageVersion;
current: 50.
self fetchSourcesFiles.
bar
label: 'Running the image';
current: 100.
vm ] ] in PhLVirtualMachineManager>>vm
Receiver: a PhLVirtualMachineManager
Arguments and temporary variables:
vm: nil
bar: a Job
Receiver's instance variables:
imageFile: File @ /Users/prof/Documents/Pharo/images
imageFormatNumber: nil
imageVersion: nil
[ :bar | aBlock value: bar ] in MorphicUIManager>>informUserDuring:
Receiver: a MorphicUIManager
Arguments and temporary variables:
aBlock: [ :bar |
bar label: 'Determining Image version'.
vm := self availableV...etc...
bar: a Job
Receiver's instance variables:
interactiveParser: nil
activeTranscript: nil
BlockClosure>>cull:
Receiver: [ :bar | aBlock value: bar ]
Arguments and temporary variables:
anArg: a Job
Receiver's instance variables:
outerContext: MorphicUIManager>>informUserDuring:
startpc: 34
numArgs: 1
[ ^ block cull: self ] in [ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
Receiver: a Job
Arguments and temporary variables:
Receiver's instance variables:
block: [ :bar | aBlock value: bar ]
currentValue: 1
min: 1
max: 100
title: 'Determining Image version'
children: an OrderedCollection()
isRunning: true
parent: nil
process: a Process in nil
[ activeProcess psValueAt: index put: anObject.
aBlock value ] in CurrentJob(DynamicVariable)>>value:during:
Receiver: a CurrentJob
Arguments and temporary variables:
anObject: a Job
aBlock: [ ^ block cull: self ]
activeProcess: a Process in nil
oldValue: nil
Receiver's instance variables:
index: 8
BlockClosure>>ensure:
Receiver: [ activeProcess psValueAt: index put: anObject.
aBlock value ]
Arguments and temporary variables:
aBlock: [ activeProcess psValueAt: index put: oldValue ]
complete: nil
returnValue: nil
Receiver's instance variables:
outerContext: CurrentJob(DynamicVariable)>>value:during:
startpc: 47
numArgs: 0
CurrentJob(DynamicVariable)>>value:during:
Receiver: a CurrentJob
Arguments and temporary variables:
anObject: a Job
aBlock: [ ^ block cull: self ]
activeProcess: a Process in nil
oldValue: nil
Receiver's instance variables:
index: 8
CurrentJob class(DynamicVariable class)>>value:during:
Receiver: CurrentJob
Arguments and temporary variables:
anObject: a Job
aBlock: [ ^ block cull: self ]
Receiver's instance variables:
superclass: DynamicVariable
methodDict: a MethodDictionary()
format: 65537
layout: a FixedLayout
instanceVariables: nil
organization: a ClassOrganization
subclasses: nil
name: #CurrentJob
classPool: a Dictionary()
sharedPools: nil
environment: a SystemDictionary(lots of globals)
category: #'Jobs-Base'
traitComposition: {}
localSelectors: nil
soleInstance: a CurrentJob
[ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
Receiver: a Job
Arguments and temporary variables:
Receiver's instance variables:
block: [ :bar | aBlock value: bar ]
currentValue: 1
min: 1
max: 100
title: 'Determining Image version'
children: an OrderedCollection()
isRunning: true
parent: nil
process: a Process in nil
BlockClosure>>ensure:
Receiver: [ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ]
Arguments and temporary variables:
aBlock: [ self cleanupAfterRunning ]
complete: nil
returnValue: nil
Receiver's instance variables:
outerContext: Job>>run
startpc: 41
numArgs: 0
Job>>run
Receiver: a Job
Arguments and temporary variables:
Receiver's instance variables:
block: [ :bar | aBlock value: bar ]
currentValue: 1
min: 1
max: 100
title: 'Determining Image version'
children: an OrderedCollection()
isRunning: true
parent: nil
process: a Process in nil
MorphicUIManager(UIManager)>>displayProgress:from:to:during:
Receiver: a MorphicUIManager
Arguments and temporary variables:
titleString: ''
minVal: 1
maxVal: 100
workBlock: [ :bar | aBlock value: bar ]
Receiver's instance variables:
interactiveParser: nil
activeTranscript: nil
MorphicUIManager>>informUserDuring:
Receiver: a MorphicUIManager
Arguments and temporary variables:
aBlock: [ :bar |
bar label: 'Determining Image version'.
vm := self availableV...etc...
Receiver's instance variables:
interactiveParser: nil
activeTranscript: nil
PhLVirtualMachineManager>>vm
Receiver: a PhLVirtualMachineManager
Arguments and temporary variables:
vm: nil
Receiver's instance variables:
imageFile: File @ /Users/prof/Documents/Pharo/images
imageFormatNumber: nil
imageVersion: nil
[ | vmCommand |
vmCommand := (PhLVirtualMachineManager forImage: file pathString) vm.
^ PhLProcessWrapper command: (self launchCommandWith: vmCommand) ] in PhLImage>>launch
Receiver: Image (images)
Arguments and temporary variables:
vmCommand: nil
Receiver's instance variables:
file: File @ /Users/prof/Documents/Pharo/images
meta: nil
BlockClosure>>on:do:
Receiver: [ | vmCommand |
vmCommand := (PhLVirtualMachineManager forImage: file pathString) vm.
^ Ph...etc...
Arguments and temporary variables:
exception: PhLImageVersionDeterminationError
handlerAction: [ :error | self imageDeterminationErrorAlert: error ]
Receiver's instance variables:
outerContext: PhLImage>>launch
startpc: 57
numArgs: 0
PhLImage>>launch
Receiver: Image (images)
Arguments and temporary variables:
Receiver's instance variables:
file: File @ /Users/prof/Documents/Pharo/images
meta: nil
PhLLaunchImageCommand>>launchImage:
Receiver: a PhLLaunchImageCommand
Arguments and temporary variables:
aPhLImage: Image (images)
Receiver's instance variables:
context: a PhLCommandContext
PhLLaunchImageCommand>>launchImageFromDisk
Receiver: a PhLLaunchImageCommand
Arguments and temporary variables:
imagePath: '/Users/prof/Documents/Pharo/images'
Receiver's instance variables:
context: a PhLCommandContext
PhLLaunchImageCommand>>execute
Receiver: a PhLLaunchImageCommand
Arguments and temporary variables:
Receiver's instance variables:
context: a PhLCommandContext
PhLLaunchImageCommand(PhLCommand)>>executeIfApplicable
Receiver: a PhLLaunchImageCommand
Arguments and temporary variables:
Receiver's instance variables:
context: a PhLCommandContext
PhLCommandButton>>performAction
Receiver: a PhLCommandButton
Arguments and temporary variables:
Receiver's instance variables:
dependents: a DependentsArray(a MorphicButtonAdapter)
announceur: nil
focusOrder: nil
owner: a PhLCommandToolbar
window: a NewValueHolder[ nil ]
spec: a SpecWrapper
extentHolder: a NewValueHolder[ nil ]
needRebuild: a NewValueHolder[ true ]
additionalKeyBindings: a Dictionary(Character space->[ self action ] )
announcer: an Announcer
keyStrokesForNextFocusHolder: a CollectionValueHolder[ an Array() ]
keyStrokesForPreviousFocusHolder: a CollectionValueHolder[ an Array() ]
windowIcon: a NewValueHolder[ nil ]
aboutText: a NewValueHolder[ nil ]
askOkToClose: a NewValueHolder[ false ]
titleHolder: a CollectionValueHolder[ 'Button' ]
helpHolder: a NewValueHolder[ 'Launch' ]
borderWidth: a NewValueHolder[ 0 ]
borderColor: a NewValueHolder[ Color transparent ]
enabledHolder: a NewValueHolder[ true ]
dragEnabled: a NewValueHolder[ false ]
dropEnabled: a NewValueHolder[ false ]
dragTransformationBlock: a NewValueHolder[ [ :item :source | item ] ]
wantDropBlock: a NewValueHolder[ [ :draggedItem :event :source | self dropEnabl...etc...
acceptDropBlock: a NewValueHolder[ [ :draggedItem :event :source | ] ]
transferBlock: a NewValueHolder[ [ :passenger :source | self transferFor: passe...etc...
color: a NewValueHolder[ (Color r: 0.13 g: 0.13 b: 0.13 alpha: 1.0) ]
actionHolder: a NewValueHolder[ [ ] ]
labelHolder: a CollectionValueHolder[ '' ]
fontHolder: a NewValueHolder[ nil ]
stateHolder: a NewValueHolder[ false ]
actionPerformedHolder: a NewValueHolder[ nil ]
askBeforeChangingHolder: a NewValueHolder[ false ]
iconHolder: a NewValueHolder[ Form(13x13x32) ]
menuHolder: a NewValueHolder[ a MenuModel ]
shortcutHolder: a NewValueHolder[ nil ]
commandClass: PhLLaunchImageCommand
contextHolder: a NewValueHolder[ a PhLCommandContext ]
command: a PhLLaunchImageCommand
MorphicButtonAdapter>>action
Receiver: a MorphicButtonAdapter
Arguments and temporary variables:
Receiver's instance variables:
dependents: a DependentsArray(a PluggableButtonMorph(595057408))
announceur: nil
model: a PhLCommandButton
widget: a PluggableButtonMorph(595057408)
selector: nil
PluggableButtonMorph>>performAction:
Receiver: a PluggableButtonMorph(595057408)
Arguments and temporary variables:
event: [(840@12) mouseUp 96056 nil]
Receiver's instance variables:
bounds: (831.0@0.0) corner: (856.0@29.0)
owner: a PanelMorph(365235968)
submorphs: an Array(an AlignmentMorph(569711104))
fullBounds: (831@0) corner: (856@29)
color: (Color r: 0.29 g: 0.28800000000000003 b: 0.28800000000000003 alpha: 1.0)...etc...
extension: a MorphExtension (985686784) [balloonText] [eventHandler = a Morphi...etc...
borderWidth: 1
borderColor: #simple
model: a MorphicButtonAdapter
label: an IconicListItem(318891776)
icon: nil
getIconSelector: nil
getStateSelector: #state
actionSelector: #action
font: nil
getLabelSelector: #label
getMenuSelector: nil
shortcutCharacter: nil
askBeforeChanging: false
triggerOnMouseDown: false
offColor: nil
onColor: nil
feedbackColor: nil
showSelectionFeedback: false
allButtons: nil
arguments: #()
argumentsProvider: nil
argumentsSelector: nil
gradientLook: false
enabled: true
actionBlock: nil
getColorSelector: nil
getEnabledSelector: #enabled
getFontSelector: #font
lastColor: nil
labelMorph: an IconicListItem(318891776)
iconMorph: nil
iconPosition: #left
lastState: false
[ :m |
(m containsPoint: evt cursorPoint)
ifTrue: [ m enabled
ifTrue: [ m performAction: evt ] ] ] in PluggableButtonMorph>>mouseUp:
Receiver: a PluggableButtonMorph(595057408)
Arguments and temporary variables:
evt: [(840@12) mouseUp 96056 nil]
all: an Array(a PluggableButtonMorph(501820160) a PluggableButtonMorph(92421888...etc...
m: a PluggableButtonMorph(595057408)
Receiver's instance variables:
bounds: (831.0@0.0) corner: (856.0@29.0)
owner: a PanelMorph(365235968)
submorphs: an Array(an AlignmentMorph(569711104))
fullBounds: (831@0) corner: (856@29)
color: (Color r: 0.29 g: 0.28800000000000003 b: 0.28800000000000003 alpha: 1.0)...etc...
extension: a MorphExtension (985686784) [balloonText] [eventHandler = a Morphi...etc...
borderWidth: 1
borderColor: #simple
model: a MorphicButtonAdapter
label: an IconicListItem(318891776)
icon: nil
getIconSelector: nil
getStateSelector: #state
actionSelector: #action
font: nil
getLabelSelector: #label
getMenuSelector: nil
shortcutCharacter: nil
askBeforeChanging: false
triggerOnMouseDown: false
offColor: nil
onColor: nil
feedbackColor: nil
showSelectionFeedback: false
allButtons: nil
arguments: #()
argumentsProvider: nil
argumentsSelector: nil
gradientLook: false
enabled: true
actionBlock: nil
getColorSelector: nil
getEnabledSelector: #enabled
getFontSelector: #font
lastColor: nil
labelMorph: an IconicListItem(318891776)
iconMorph: nil
iconPosition: #left
lastState: false
Array(SequenceableCollection)>>do:
Receiver: an Array(a PluggableButtonMorph(501820160) a PluggableButtonMorph(924218880) a PluggableBu...etc...
Arguments and temporary variables:
aBlock: [ :m |
(m containsPoint: evt cursorPoint)
ifTrue: [ m enabled
ifTr...etc...
index: 5
Receiver's instance variables:
an Array(a PluggableButtonMorph(501820160) a PluggableButtonMorph(924218880) a PluggableBu...etc...
PluggableButtonMorph>>mouseUp:
Receiver: a PluggableButtonMorph(595057408)
Arguments and temporary variables:
evt: [(840@12) mouseUp 96056 nil]
all: an Array(a PluggableButtonMorph(501820160) a PluggableButtonMorph(92421888...etc...
Receiver's instance variables:
bounds: (831.0@0.0) corner: (856.0@29.0)
owner: a PanelMorph(365235968)
submorphs: an Array(an AlignmentMorph(569711104))
fullBounds: (831@0) corner: (856@29)
color: (Color r: 0.29 g: 0.28800000000000003 b: 0.28800000000000003 alpha: 1.0)...etc...
extension: a MorphExtension (985686784) [balloonText] [eventHandler = a Morphi...etc...
borderWidth: 1
borderColor: #simple
model: a MorphicButtonAdapter
label: an IconicListItem(318891776)
icon: nil
getIconSelector: nil
getStateSelector: #state
actionSelector: #action
font: nil
getLabelSelector: #label
getMenuSelector: nil
shortcutCharacter: nil
askBeforeChanging: false
triggerOnMouseDown: false
offColor: nil
onColor: nil
feedbackColor: nil
showSelectionFeedback: false
allButtons: nil
arguments: #()
argumentsProvider: nil
argumentsSelector: nil
gradientLook: false
enabled: true
actionBlock: nil
getColorSelector: nil
getEnabledSelector: #enabled
getFontSelector: #font
lastColor: nil
labelMorph: an IconicListItem(318891776)
iconMorph: nil
iconPosition: #left
lastState: false
PluggableButtonMorph(Morph)>>handleMouseUp:
Receiver: a PluggableButtonMorph(595057408)
Arguments and temporary variables:
anEvent: [(840@12) mouseUp 96056 nil]
result: nil
Receiver's instance variables:
bounds: (831.0@0.0) corner: (856.0@29.0)
owner: a PanelMorph(365235968)
submorphs: an Array(an AlignmentMorph(569711104))
fullBounds: (831@0) corner: (856@29)
color: (Color r: 0.29 g: 0.28800000000000003 b: 0.28800000000000003 alpha: 1.0)...etc...
extension: a MorphExtension (985686784) [balloonText] [eventHandler = a Morphi...etc...
borderWidth: 1
borderColor: #simple
model: a MorphicButtonAdapter
label: an IconicListItem(318891776)
icon: nil
getIconSelector: nil
getStateSelector: #state
actionSelector: #action
font: nil
getLabelSelector: #label
getMenuSelector: nil
shortcutCharacter: nil
askBeforeChanging: false
triggerOnMouseDown: false
offColor: nil
onColor: nil
feedbackColor: nil
showSelectionFeedback: false
allButtons: nil
arguments: #()
argumentsProvider: nil
argumentsSelector: nil
gradientLook: false
enabled: true
actionBlock: nil
getColorSelector: nil
getEnabledSelector: #enabled
getFontSelector: #font
lastColor: nil
labelMorph: an IconicListItem(318891776)
iconMorph: nil
iconPosition: #left
lastState: false
--- The full stack ---
ByteArray(Object)>>errorSubscriptBounds:
ByteArray(Object)>>at:
MultiByteFileStream(PositionableStream)>>nextLittleEndianNumber:
PhLVirtualMachineManager class>>imageFormatNumberFromStream:
[ :stream | self imageFormatNumberFromStream: stream ] in PhLVirtualMachineManager class>>imageFormatNumberFromFile:
[ aBlock value: stream ] in FileReference(AbstractFileReference)>>binaryReadStreamDo:
BlockClosure>>ensure:
FileReference(AbstractFileReference)>>binaryReadStreamDo:
PhLVirtualMachineManager class>>imageFormatNumberFromFile:
PhLVirtualMachineManager>>imageFormatNumber
PhLVirtualMachineManager>>vmFileName
[ :bar |
bar label: 'Determining Image version'.
vm := self availableVirtualMachines
at: self vmFileName
ifAbsent: [ bar
label: 'Fetching VM to run Pharo ' , self imageVersion , ' images';
current: 25.
self fetchVm.
vm := self availableVirtualMachines at: self vmFileName.
bar
label: 'Fetching sources files for Pharo ' , self imageVersion;
current: 50.
self fetchSourcesFiles.
bar
label: 'Running the image';
current: 100.
vm ] ] in PhLVirtualMachineManager>>vm
[ :bar | aBlock value: bar ] in MorphicUIManager>>informUserDuring:
BlockClosure>>cull:
[ ^ block cull: self ] in [ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
[ activeProcess psValueAt: index put: anObject.
aBlock value ] in CurrentJob(DynamicVariable)>>value:during:
BlockClosure>>ensure:
CurrentJob(DynamicVariable)>>value:during:
CurrentJob class(DynamicVariable class)>>value:during:
[ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
BlockClosure>>ensure:
Job>>run
MorphicUIManager(UIManager)>>displayProgress:from:to:during:
MorphicUIManager>>informUserDuring:
PhLVirtualMachineManager>>vm
[ | vmCommand |
vmCommand := (PhLVirtualMachineManager forImage: file pathString) vm.
^ PhLProcessWrapper command: (self launchCommandWith: vmCommand) ] in PhLImage>>launch
BlockClosure>>on:do:
PhLImage>>launch
PhLLaunchImageCommand>>launchImage:
PhLLaunchImageCommand>>launchImageFromDisk
PhLLaunchImageCommand>>execute
PhLLaunchImageCommand(PhLCommand)>>executeIfApplicable
PhLCommandButton>>performAction
MorphicButtonAdapter>>action
PluggableButtonMorph>>performAction:
[ :m |
(m containsPoint: evt cursorPoint)
ifTrue: [ m enabled
ifTrue: [ m performAction: evt ] ] ] in PluggableButtonMorph>>mouseUp:
Array(SequenceableCollection)>>do:
PluggableButtonMorph>>mouseUp:
PluggableButtonMorph(Morph)>>handleMouseUp:
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - -
MouseButtonEvent>>sentTo:
PluggableButtonMorph(Morph)>>handleEvent:
PluggableButtonMorph(Morph)>>handleFocusEvent:
[ ActiveHand := self.
ActiveEvent := anEvent.
result := focusHolder
handleFocusEvent: (anEvent transformedBy: (focusHolder transformedFrom: self)) ] in HandMorph>>sendFocusEvent:to:clear:
BlockClosure>>on:do:
WorldMorph(PasteUpMorph)>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendMouseEvent:
HandMorph>>handleEvent:
HandMorph>>processEventsFromQueue:
HandMorph>>processEvents
[ :h |
self activeHand: h.
h processEvents.
self activeHand: nil ] in WorldState>>doOneCycleNowFor:
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
WorldMorph>>doOneCycle
WorldMorph class>>doOneCycle
[ [ WorldMorph doOneCycle.
Processor yield.
false ] whileFalse: [ ] ] in MorphicUIManager>>spawnNewProcess
[ self value.
Processor terminateActive ] in BlockClosure>>newProcess
-------------------------------------------------------------------------------
THERE_BE_DRAGONS_HERE
SubscriptOutOfBounds: 4
26 March 2018 2:03:49.433631 pm
VM: Mac OS - intel - 1012.6 - CoInterpreter VMMaker.oscog-eem.2254 uuid: 4f2c2cce-f4a2-469a-93f1-97ed941df0ad Jul 20 2017
StackToRegisterMappingCogit VMMaker.oscog-eem.2252 uuid: 2f3e9b0e-ecd3-4adf-b092-cce2e2587a5c Jul 20 2017
VM: 201707201942 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ Date: Thu Jul 20 12:42:21 2017 -0700 $ Plugins: 201707201942 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
Image: Pharo6.0 [Latest update: #60528]
ByteArray(Object)>>errorSubscriptBounds:
Receiver: #[]
Arguments and temporary variables:
index: 4
Receiver's instance variables:
#[]
ByteArray(Object)>>at:
Receiver: #[]
Arguments and temporary variables:
index: 4
Receiver's instance variables:
#[]
MultiByteFileStream(PositionableStream)>>nextLittleEndianNumber:
Receiver: MultiByteFileStream: '/Users/prof/Documents/Pharo/images'
Arguments and temporary variables:
n: 4
bytes: #[]
s: 0
i: 4
Receiver's instance variables:
PhLVirtualMachineManager class>>imageFormatNumberFromStream:
Receiver: PhLVirtualMachineManager
Arguments and temporary variables:
aStream: MultiByteFileStream: '/Users/prof/Documents/Pharo/images'
number: nil
Receiver's instance variables:
superclass: Object
methodDict: a MethodDictionary(#availableVirtualMachines->PhLVirtualMachineMana...etc...
format: 65539
layout: a FixedLayout
instanceVariables: nil
organization: a ClassOrganization
subclasses: nil
name: #PhLVirtualMachineManager
classPool: a Dictionary(#VMStore->File @ /Users/prof/Documents/Pharo/vms )
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'PharoLauncher-Core-Model'
traitComposition: {}
localSelectors: nil
[ :stream | self imageFormatNumberFromStream: stream ] in PhLVirtualMachineManager class>>imageFormatNumberFromFile:
Receiver: PhLVirtualMachineManager
Arguments and temporary variables:
anImagePath: File @ /Users/prof/Documents/Pharo/images
imageFile: File @ /Users/prof/Documents/Pharo/images
stream: MultiByteFileStream: '/Users/prof/Documents/Pharo/images'
Receiver's instance variables:
superclass: Object
methodDict: a MethodDictionary(#availableVirtualMachines->PhLVirtualMachineMana...etc...
format: 65539
layout: a FixedLayout
instanceVariables: nil
organization: a ClassOrganization
subclasses: nil
name: #PhLVirtualMachineManager
classPool: a Dictionary(#VMStore->File @ /Users/prof/Documents/Pharo/vms )
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'PharoLauncher-Core-Model'
traitComposition: {}
localSelectors: nil
[ aBlock value: stream ] in FileReference(AbstractFileReference)>>binaryReadStreamDo:
Receiver: File @ /Users/prof/Documents/Pharo/images
Arguments and temporary variables:
aBlock: [ :stream | self imageFormatNumberFromStream: stream ]
stream: MultiByteFileStream: '/Users/prof/Documents/Pharo/images'
Receiver's instance variables:
filesystem: a FileSystem
path: Path / 'Users' / 'prof' / 'Documents' / 'Pharo' / 'images'
BlockClosure>>ensure:
Receiver: [ aBlock value: stream ]
Arguments and temporary variables:
aBlock: [ stream close ]
complete: nil
returnValue: nil
Receiver's instance variables:
outerContext: FileReference(AbstractFileReference)>>binaryReadStreamDo:
startpc: 34
numArgs: 0
FileReference(AbstractFileReference)>>binaryReadStreamDo:
Receiver: File @ /Users/prof/Documents/Pharo/images
Arguments and temporary variables:
aBlock: [ :stream | self imageFormatNumberFromStream: stream ]
stream: MultiByteFileStream: '/Users/prof/Documents/Pharo/images'
Receiver's instance variables:
filesystem: a FileSystem
path: Path / 'Users' / 'prof' / 'Documents' / 'Pharo' / 'images'
PhLVirtualMachineManager class>>imageFormatNumberFromFile:
Receiver: PhLVirtualMachineManager
Arguments and temporary variables:
anImagePath: File @ /Users/prof/Documents/Pharo/images
imageFile: File @ /Users/prof/Documents/Pharo/images
Receiver's instance variables:
superclass: Object
methodDict: a MethodDictionary(#availableVirtualMachines->PhLVirtualMachineMana...etc...
format: 65539
layout: a FixedLayout
instanceVariables: nil
organization: a ClassOrganization
subclasses: nil
name: #PhLVirtualMachineManager
classPool: a Dictionary(#VMStore->File @ /Users/prof/Documents/Pharo/vms )
sharedPools: an OrderedCollection()
environment: a SystemDictionary(lots of globals)
category: #'PharoLauncher-Core-Model'
traitComposition: {}
localSelectors: nil
PhLVirtualMachineManager>>imageFormatNumber
Receiver: a PhLVirtualMachineManager
Arguments and temporary variables:
Receiver's instance variables:
imageFile: File @ /Users/prof/Documents/Pharo/images
imageFormatNumber: nil
imageVersion: nil
PhLVirtualMachineManager>>vmFileName
Receiver: a PhLVirtualMachineManager
Arguments and temporary variables:
architecture: nil
pharoVersion: nil
Receiver's instance variables:
imageFile: File @ /Users/prof/Documents/Pharo/images
imageFormatNumber: nil
imageVersion: nil
[ :bar |
bar label: 'Determining Image version'.
vm := self availableVirtualMachines
at: self vmFileName
ifAbsent: [ bar
label: 'Fetching VM to run Pharo ' , self imageVersion , ' images';
current: 25.
self fetchVm.
vm := self availableVirtualMachines at: self vmFileName.
bar
label: 'Fetching sources files for Pharo ' , self imageVersion;
current: 50.
self fetchSourcesFiles.
bar
label: 'Running the image';
current: 100.
vm ] ] in PhLVirtualMachineManager>>vm
Receiver: a PhLVirtualMachineManager
Arguments and temporary variables:
vm: nil
bar: a Job
Receiver's instance variables:
imageFile: File @ /Users/prof/Documents/Pharo/images
imageFormatNumber: nil
imageVersion: nil
[ :bar | aBlock value: bar ] in MorphicUIManager>>informUserDuring:
Receiver: a MorphicUIManager
Arguments and temporary variables:
aBlock: [ :bar |
bar label: 'Determining Image version'.
vm := self availableV...etc...
bar: a Job
Receiver's instance variables:
interactiveParser: nil
activeTranscript: nil
BlockClosure>>cull:
Receiver: [ :bar | aBlock value: bar ]
Arguments and temporary variables:
anArg: a Job
Receiver's instance variables:
outerContext: MorphicUIManager>>informUserDuring:
startpc: 34
numArgs: 1
[ ^ block cull: self ] in [ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
Receiver: a Job
Arguments and temporary variables:
Receiver's instance variables:
block: [ :bar | aBlock value: bar ]
currentValue: 1
min: 1
max: 100
title: 'Determining Image version'
children: an OrderedCollection()
isRunning: true
parent: nil
process: a Process in nil
[ activeProcess psValueAt: index put: anObject.
aBlock value ] in CurrentJob(DynamicVariable)>>value:during:
Receiver: a CurrentJob
Arguments and temporary variables:
anObject: a Job
aBlock: [ ^ block cull: self ]
activeProcess: a Process in nil
oldValue: nil
Receiver's instance variables:
index: 8
BlockClosure>>ensure:
Receiver: [ activeProcess psValueAt: index put: anObject.
aBlock value ]
Arguments and temporary variables:
aBlock: [ activeProcess psValueAt: index put: oldValue ]
complete: nil
returnValue: nil
Receiver's instance variables:
outerContext: CurrentJob(DynamicVariable)>>value:during:
startpc: 47
numArgs: 0
CurrentJob(DynamicVariable)>>value:during:
Receiver: a CurrentJob
Arguments and temporary variables:
anObject: a Job
aBlock: [ ^ block cull: self ]
activeProcess: a Process in nil
oldValue: nil
Receiver's instance variables:
index: 8
CurrentJob class(DynamicVariable class)>>value:during:
Receiver: CurrentJob
Arguments and temporary variables:
anObject: a Job
aBlock: [ ^ block cull: self ]
Receiver's instance variables:
superclass: DynamicVariable
methodDict: a MethodDictionary()
format: 65537
layout: a FixedLayout
instanceVariables: nil
organization: a ClassOrganization
subclasses: nil
name: #CurrentJob
classPool: a Dictionary()
sharedPools: nil
environment: a SystemDictionary(lots of globals)
category: #'Jobs-Base'
traitComposition: {}
localSelectors: nil
soleInstance: a CurrentJob
[ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
Receiver: a Job
Arguments and temporary variables:
Receiver's instance variables:
block: [ :bar | aBlock value: bar ]
currentValue: 1
min: 1
max: 100
title: 'Determining Image version'
children: an OrderedCollection()
isRunning: true
parent: nil
process: a Process in nil
BlockClosure>>ensure:
Receiver: [ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ]
Arguments and temporary variables:
aBlock: [ self cleanupAfterRunning ]
complete: nil
returnValue: nil
Receiver's instance variables:
outerContext: Job>>run
startpc: 41
numArgs: 0
Job>>run
Receiver: a Job
Arguments and temporary variables:
Receiver's instance variables:
block: [ :bar | aBlock value: bar ]
currentValue: 1
min: 1
max: 100
title: 'Determining Image version'
children: an OrderedCollection()
isRunning: true
parent: nil
process: a Process in nil
MorphicUIManager(UIManager)>>displayProgress:from:to:during:
Receiver: a MorphicUIManager
Arguments and temporary variables:
titleString: ''
minVal: 1
maxVal: 100
workBlock: [ :bar | aBlock value: bar ]
Receiver's instance variables:
interactiveParser: nil
activeTranscript: nil
MorphicUIManager>>informUserDuring:
Receiver: a MorphicUIManager
Arguments and temporary variables:
aBlock: [ :bar |
bar label: 'Determining Image version'.
vm := self availableV...etc...
Receiver's instance variables:
interactiveParser: nil
activeTranscript: nil
PhLVirtualMachineManager>>vm
Receiver: a PhLVirtualMachineManager
Arguments and temporary variables:
vm: nil
Receiver's instance variables:
imageFile: File @ /Users/prof/Documents/Pharo/images
imageFormatNumber: nil
imageVersion: nil
[ | vmCommand |
vmCommand := (PhLVirtualMachineManager forImage: file pathString) vm.
^ PhLProcessWrapper command: (self launchCommandWith: vmCommand) ] in PhLImage>>launch
Receiver: Image (images)
Arguments and temporary variables:
vmCommand: nil
Receiver's instance variables:
file: File @ /Users/prof/Documents/Pharo/images
meta: nil
BlockClosure>>on:do:
Receiver: [ | vmCommand |
vmCommand := (PhLVirtualMachineManager forImage: file pathString) vm.
^ Ph...etc...
Arguments and temporary variables:
exception: PhLImageVersionDeterminationError
handlerAction: [ :error | self imageDeterminationErrorAlert: error ]
Receiver's instance variables:
outerContext: PhLImage>>launch
startpc: 57
numArgs: 0
PhLImage>>launch
Receiver: Image (images)
Arguments and temporary variables:
Receiver's instance variables:
file: File @ /Users/prof/Documents/Pharo/images
meta: nil
PhLLaunchImageCommand>>launchImage:
Receiver: a PhLLaunchImageCommand
Arguments and temporary variables:
aPhLImage: Image (images)
Receiver's instance variables:
context: a PhLCommandContext
PhLLaunchImageCommand>>launchImageFromDisk
Receiver: a PhLLaunchImageCommand
Arguments and temporary variables:
imagePath: '/Users/prof/Documents/Pharo/images'
Receiver's instance variables:
context: a PhLCommandContext
PhLLaunchImageCommand>>execute
Receiver: a PhLLaunchImageCommand
Arguments and temporary variables:
Receiver's instance variables:
context: a PhLCommandContext
PhLLaunchImageCommand(PhLCommand)>>executeIfApplicable
Receiver: a PhLLaunchImageCommand
Arguments and temporary variables:
Receiver's instance variables:
context: a PhLCommandContext
PhLCommandButton>>performAction
Receiver: a PhLCommandButton
Arguments and temporary variables:
Receiver's instance variables:
dependents: a DependentsArray(a MorphicButtonAdapter)
announceur: nil
focusOrder: nil
owner: a PhLCommandToolbar
window: a NewValueHolder[ nil ]
spec: a SpecWrapper
extentHolder: a NewValueHolder[ nil ]
needRebuild: a NewValueHolder[ true ]
additionalKeyBindings: a Dictionary(Character space->[ self action ] )
announcer: an Announcer
keyStrokesForNextFocusHolder: a CollectionValueHolder[ an Array() ]
keyStrokesForPreviousFocusHolder: a CollectionValueHolder[ an Array() ]
windowIcon: a NewValueHolder[ nil ]
aboutText: a NewValueHolder[ nil ]
askOkToClose: a NewValueHolder[ false ]
titleHolder: a CollectionValueHolder[ 'Button' ]
helpHolder: a NewValueHolder[ 'Launch' ]
borderWidth: a NewValueHolder[ 0 ]
borderColor: a NewValueHolder[ Color transparent ]
enabledHolder: a NewValueHolder[ true ]
dragEnabled: a NewValueHolder[ false ]
dropEnabled: a NewValueHolder[ false ]
dragTransformationBlock: a NewValueHolder[ [ :item :source | item ] ]
wantDropBlock: a NewValueHolder[ [ :draggedItem :event :source | self dropEnabl...etc...
acceptDropBlock: a NewValueHolder[ [ :draggedItem :event :source | ] ]
transferBlock: a NewValueHolder[ [ :passenger :source | self transferFor: passe...etc...
color: a NewValueHolder[ (Color r: 0.13 g: 0.13 b: 0.13 alpha: 1.0) ]
actionHolder: a NewValueHolder[ [ ] ]
labelHolder: a CollectionValueHolder[ '' ]
fontHolder: a NewValueHolder[ nil ]
stateHolder: a NewValueHolder[ false ]
actionPerformedHolder: a NewValueHolder[ nil ]
askBeforeChangingHolder: a NewValueHolder[ false ]
iconHolder: a NewValueHolder[ Form(13x13x32) ]
menuHolder: a NewValueHolder[ a MenuModel ]
shortcutHolder: a NewValueHolder[ nil ]
commandClass: PhLLaunchImageCommand
contextHolder: a NewValueHolder[ a PhLCommandContext ]
command: a PhLLaunchImageCommand
MorphicButtonAdapter>>action
Receiver: a MorphicButtonAdapter
Arguments and temporary variables:
Receiver's instance variables:
dependents: a DependentsArray(a PluggableButtonMorph(595057408))
announceur: nil
model: a PhLCommandButton
widget: a PluggableButtonMorph(595057408)
selector: nil
PluggableButtonMorph>>performAction:
Receiver: a PluggableButtonMorph(595057408)
Arguments and temporary variables:
event: [(846@22) mouseUp 128366 nil]
Receiver's instance variables:
bounds: (831.0@0.0) corner: (856.0@29.0)
owner: a PanelMorph(365235968)
submorphs: an Array(an AlignmentMorph(569711104))
fullBounds: (831@0) corner: (856@29)
color: (Color r: 0.29 g: 0.28800000000000003 b: 0.28800000000000003 alpha: 1.0)...etc...
extension: a MorphExtension (985686784) [balloonText] [eventHandler = a Morphi...etc...
borderWidth: 1
borderColor: #simple
model: a MorphicButtonAdapter
label: an IconicListItem(318891776)
icon: nil
getIconSelector: nil
getStateSelector: #state
actionSelector: #action
font: nil
getLabelSelector: #label
getMenuSelector: nil
shortcutCharacter: nil
askBeforeChanging: false
triggerOnMouseDown: false
offColor: nil
onColor: nil
feedbackColor: nil
showSelectionFeedback: false
allButtons: nil
arguments: #()
argumentsProvider: nil
argumentsSelector: nil
gradientLook: false
enabled: true
actionBlock: nil
getColorSelector: nil
getEnabledSelector: #enabled
getFontSelector: #font
lastColor: nil
labelMorph: an IconicListItem(318891776)
iconMorph: nil
iconPosition: #left
lastState: false
[ :m |
(m containsPoint: evt cursorPoint)
ifTrue: [ m enabled
ifTrue: [ m performAction: evt ] ] ] in PluggableButtonMorph>>mouseUp:
Receiver: a PluggableButtonMorph(595057408)
Arguments and temporary variables:
evt: [(846@22) mouseUp 128366 nil]
all: an Array(a PluggableButtonMorph(501820160) a PluggableButtonMorph(92421888...etc...
m: a PluggableButtonMorph(595057408)
Receiver's instance variables:
bounds: (831.0@0.0) corner: (856.0@29.0)
owner: a PanelMorph(365235968)
submorphs: an Array(an AlignmentMorph(569711104))
fullBounds: (831@0) corner: (856@29)
color: (Color r: 0.29 g: 0.28800000000000003 b: 0.28800000000000003 alpha: 1.0)...etc...
extension: a MorphExtension (985686784) [balloonText] [eventHandler = a Morphi...etc...
borderWidth: 1
borderColor: #simple
model: a MorphicButtonAdapter
label: an IconicListItem(318891776)
icon: nil
getIconSelector: nil
getStateSelector: #state
actionSelector: #action
font: nil
getLabelSelector: #label
getMenuSelector: nil
shortcutCharacter: nil
askBeforeChanging: false
triggerOnMouseDown: false
offColor: nil
onColor: nil
feedbackColor: nil
showSelectionFeedback: false
allButtons: nil
arguments: #()
argumentsProvider: nil
argumentsSelector: nil
gradientLook: false
enabled: true
actionBlock: nil
getColorSelector: nil
getEnabledSelector: #enabled
getFontSelector: #font
lastColor: nil
labelMorph: an IconicListItem(318891776)
iconMorph: nil
iconPosition: #left
lastState: false
Array(SequenceableCollection)>>do:
Receiver: an Array(a PluggableButtonMorph(501820160) a PluggableButtonMorph(924218880) a PluggableBu...etc...
Arguments and temporary variables:
aBlock: [ :m |
(m containsPoint: evt cursorPoint)
ifTrue: [ m enabled
ifTr...etc...
index: 5
Receiver's instance variables:
an Array(a PluggableButtonMorph(501820160) a PluggableButtonMorph(924218880) a PluggableBu...etc...
PluggableButtonMorph>>mouseUp:
Receiver: a PluggableButtonMorph(595057408)
Arguments and temporary variables:
evt: [(846@22) mouseUp 128366 nil]
all: an Array(a PluggableButtonMorph(501820160) a PluggableButtonMorph(92421888...etc...
Receiver's instance variables:
bounds: (831.0@0.0) corner: (856.0@29.0)
owner: a PanelMorph(365235968)
submorphs: an Array(an AlignmentMorph(569711104))
fullBounds: (831@0) corner: (856@29)
color: (Color r: 0.29 g: 0.28800000000000003 b: 0.28800000000000003 alpha: 1.0)...etc...
extension: a MorphExtension (985686784) [balloonText] [eventHandler = a Morphi...etc...
borderWidth: 1
borderColor: #simple
model: a MorphicButtonAdapter
label: an IconicListItem(318891776)
icon: nil
getIconSelector: nil
getStateSelector: #state
actionSelector: #action
font: nil
getLabelSelector: #label
getMenuSelector: nil
shortcutCharacter: nil
askBeforeChanging: false
triggerOnMouseDown: false
offColor: nil
onColor: nil
feedbackColor: nil
showSelectionFeedback: false
allButtons: nil
arguments: #()
argumentsProvider: nil
argumentsSelector: nil
gradientLook: false
enabled: true
actionBlock: nil
getColorSelector: nil
getEnabledSelector: #enabled
getFontSelector: #font
lastColor: nil
labelMorph: an IconicListItem(318891776)
iconMorph: nil
iconPosition: #left
lastState: false
PluggableButtonMorph(Morph)>>handleMouseUp:
Receiver: a PluggableButtonMorph(595057408)
Arguments and temporary variables:
anEvent: [(846@22) mouseUp 128366 nil]
result: nil
Receiver's instance variables:
bounds: (831.0@0.0) corner: (856.0@29.0)
owner: a PanelMorph(365235968)
submorphs: an Array(an AlignmentMorph(569711104))
fullBounds: (831@0) corner: (856@29)
color: (Color r: 0.29 g: 0.28800000000000003 b: 0.28800000000000003 alpha: 1.0)...etc...
extension: a MorphExtension (985686784) [balloonText] [eventHandler = a Morphi...etc...
borderWidth: 1
borderColor: #simple
model: a MorphicButtonAdapter
label: an IconicListItem(318891776)
icon: nil
getIconSelector: nil
getStateSelector: #state
actionSelector: #action
font: nil
getLabelSelector: #label
getMenuSelector: nil
shortcutCharacter: nil
askBeforeChanging: false
triggerOnMouseDown: false
offColor: nil
onColor: nil
feedbackColor: nil
showSelectionFeedback: false
allButtons: nil
arguments: #()
argumentsProvider: nil
argumentsSelector: nil
gradientLook: false
enabled: true
actionBlock: nil
getColorSelector: nil
getEnabledSelector: #enabled
getFontSelector: #font
lastColor: nil
labelMorph: an IconicListItem(318891776)
iconMorph: nil
iconPosition: #left
lastState: false
--- The full stack ---
ByteArray(Object)>>errorSubscriptBounds:
ByteArray(Object)>>at:
MultiByteFileStream(PositionableStream)>>nextLittleEndianNumber:
PhLVirtualMachineManager class>>imageFormatNumberFromStream:
[ :stream | self imageFormatNumberFromStream: stream ] in PhLVirtualMachineManager class>>imageFormatNumberFromFile:
[ aBlock value: stream ] in FileReference(AbstractFileReference)>>binaryReadStreamDo:
BlockClosure>>ensure:
FileReference(AbstractFileReference)>>binaryReadStreamDo:
PhLVirtualMachineManager class>>imageFormatNumberFromFile:
PhLVirtualMachineManager>>imageFormatNumber
PhLVirtualMachineManager>>vmFileName
[ :bar |
bar label: 'Determining Image version'.
vm := self availableVirtualMachines
at: self vmFileName
ifAbsent: [ bar
label: 'Fetching VM to run Pharo ' , self imageVersion , ' images';
current: 25.
self fetchVm.
vm := self availableVirtualMachines at: self vmFileName.
bar
label: 'Fetching sources files for Pharo ' , self imageVersion;
current: 50.
self fetchSourcesFiles.
bar
label: 'Running the image';
current: 100.
vm ] ] in PhLVirtualMachineManager>>vm
[ :bar | aBlock value: bar ] in MorphicUIManager>>informUserDuring:
BlockClosure>>cull:
[ ^ block cull: self ] in [ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
[ activeProcess psValueAt: index put: anObject.
aBlock value ] in CurrentJob(DynamicVariable)>>value:during:
BlockClosure>>ensure:
CurrentJob(DynamicVariable)>>value:during:
CurrentJob class(DynamicVariable class)>>value:during:
[ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
BlockClosure>>ensure:
Job>>run
MorphicUIManager(UIManager)>>displayProgress:from:to:during:
MorphicUIManager>>informUserDuring:
PhLVirtualMachineManager>>vm
[ | vmCommand |
vmCommand := (PhLVirtualMachineManager forImage: file pathString) vm.
^ PhLProcessWrapper command: (self launchCommandWith: vmCommand) ] in PhLImage>>launch
BlockClosure>>on:do:
PhLImage>>launch
PhLLaunchImageCommand>>launchImage:
PhLLaunchImageCommand>>launchImageFromDisk
PhLLaunchImageCommand>>execute
PhLLaunchImageCommand(PhLCommand)>>executeIfApplicable
PhLCommandButton>>performAction
MorphicButtonAdapter>>action
PluggableButtonMorph>>performAction:
[ :m |
(m containsPoint: evt cursorPoint)
ifTrue: [ m enabled
ifTrue: [ m performAction: evt ] ] ] in PluggableButtonMorph>>mouseUp:
Array(SequenceableCollection)>>do:
PluggableButtonMorph>>mouseUp:
PluggableButtonMorph(Morph)>>handleMouseUp:
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - -
MouseButtonEvent>>sentTo:
PluggableButtonMorph(Morph)>>handleEvent:
PluggableButtonMorph(Morph)>>handleFocusEvent:
[ ActiveHand := self.
ActiveEvent := anEvent.
result := focusHolder
handleFocusEvent: (anEvent transformedBy: (focusHolder transformedFrom: self)) ] in HandMorph>>sendFocusEvent:to:clear:
BlockClosure>>on:do:
WorldMorph(PasteUpMorph)>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendMouseEvent:
HandMorph>>handleEvent:
HandMorph>>processEventsFromQueue:
HandMorph>>processEvents
[ :h |
self activeHand: h.
h processEvents.
self activeHand: nil ] in WorldState>>doOneCycleNowFor:
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
WorldMorph>>doOneCycle
WorldMorph class>>doOneCycle
[ [ WorldMorph doOneCycle.
Processor yield.
false ] whileFalse: [ ] ] in MorphicUIManager>>spawnNewProcess
[ self value.
Processor terminateActive ] in BlockClosure>>newProcess
-------------------------------------------------------------------------------