[Pharo-project] squeak VM 5.0
Hi! I just tried Squeak.5.0.0.b9.64*64.app.zip, but I was not able to run a pharo core on it. I have a MacBookPro 10.5.8. I do not know whether this is helpful or not. Feel free to ask more info about my config. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi Alex, PharoCore is a 32bits image. So it works on Squeak.5.0.0.b9.64*32.app. I see that Squeak has a 64bits fork image, is it possible to have a Pharo one? What is the process to do this ? Cheers, Jannik On Dec 4, 2009, at 20:50 , Alexandre Bergel wrote:
Hi!
I just tried Squeak.5.0.0.b9.64*64.app.zip, but I was not able to run a pharo core on it. I have a MacBookPro 10.5.8. I do not know whether this is helpful or not. Feel free to ask more info about my config.
Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
I think David Lewis made the last one, let's cc him. Perhaps the process would be Examine the squeak image. take the required source that does the system tracing someone make a MC project (no idea if one exists?) a) file that into a Pharo image. b) Correct things like references to Smalltalk, versus SmalltalkImage current c) run it. d) place 64bit image on pharo server. I note to run the system tracer you need to run it either on a PowerPC. Or on a MacIntel using a 4.x series macintosh VM, make a copy, do a get info on the VM check "Open using Rosetta" If "Open using Rosetta" is not an option and you are running 10.6 then it is likely you did not install Rosetta when you upgraded/installed 10.6. You need to find your 10.6 DVD and lookup how to install Rosetta after installing 10.6 PS yes you could use a 10.5 series VM for this too. However to complicate things I don't think anyone has done a Closure based image and I don't know if that will be a problem. You could take a pre-closure Pharo image and try it just to get past the point where having the SystemTracer code in a MC is done. On 2009-12-04, at 1:23 PM, Laval Jannik wrote:
Hi Alex,
PharoCore is a 32bits image. So it works on Squeak.5.0.0.b9.64*32.app.
I see that Squeak has a 64bits fork image, is it possible to have a Pharo one? What is the process to do this ?
Cheers, Jannik
On Dec 4, 2009, at 20:50 , Alexandre Bergel wrote:
Hi!
I just tried Squeak.5.0.0.b9.64*64.app.zip, but I was not able to run a pharo core on it. I have a MacBookPro 10.5.8. I do not know whether this is helpful or not. Feel free to ask more info about my config.
Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
Hi John, Ok, I thried this: - file in the updated System-Tracer (attached) > I modified some references to Smalltalk to SmalltalkImage current, but not all. - run it ok, it runs and generate a new image. This is done in a 4.2.2VM runing with rosetta. Now, when I try to load the new image, VM open a white window (this is not bad :) ) But I don't know what I can do with this, there is no message. So, I tried also with a pharo10259 and a Squeak 3.10 and I have the same error. Do you have an idea of the bug ? Cheers, Jannik On Dec 4, 2009, at 22:39 , John M McIntosh wrote:
I think David Lewis made the last one, let's cc him.
Perhaps the process would be
Examine the squeak image. take the required source that does the system tracing someone make a MC project (no idea if one exists?)
a) file that into a Pharo image. b) Correct things like references to Smalltalk, versus SmalltalkImage current c) run it. d) place 64bit image on pharo server.
I note to run the system tracer you need to run it either on a PowerPC. Or on a MacIntel using a 4.x series macintosh VM, make a copy, do a get info on the VM check "Open using Rosetta"
If "Open using Rosetta" is not an option and you are running 10.6 then it is likely you did not install Rosetta when you upgraded/installed 10.6. You need to find your 10.6 DVD and lookup how to install Rosetta after installing 10.6
PS yes you could use a 10.5 series VM for this too.
However to complicate things I don't think anyone has done a Closure based image and I don't know if that will be a problem. You could take a pre-closure Pharo image and try it just to get past the point where having the SystemTracer code in a MC is done.
On 2009-12-04, at 1:23 PM, Laval Jannik wrote:
Hi Alex,
PharoCore is a 32bits image. So it works on Squeak.5.0.0.b9.64*32.app.
I see that Squeak has a 64bits fork image, is it possible to have a Pharo one? What is the process to do this ?
Cheers, Jannik
On Dec 4, 2009, at 20:50 , Alexandre Bergel wrote:
Hi!
I just tried Squeak.5.0.0.b9.64*64.app.zip, but I was not able to run a pharo core on it. I have a MacBookPro 10.5.8. I do not know whether this is helpful or not. Feel free to ask more info about my config.
Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
cool jannik May be we should publish this package system tracer somewhere. On Dec 5, 2009, at 3:38 PM, Laval Jannik wrote: > Hi John, > > Ok, I thried this: > - file in the updated System-Tracer (attached) > > I modified some references to Smalltalk to SmalltalkImage current, but not all. > - run it > ok, it runs and generate a new image. > This is done in a 4.2.2VM runing with rosetta. > > Now, when I try to load the new image, VM open a white window (this is not bad :) ) > But I don't know what I can do with this, there is no message. > > So, I tried also with a pharo10259 and a Squeak 3.10 and I have the same error. > > Do you have an idea of the bug ? > > Cheers, > Jannik > > <System-Tracing.2forPharo.cs> > On Dec 4, 2009, at 22:39 , John M McIntosh wrote: > >> I think David Lewis made the last one, let's cc him. >> >> Perhaps the process would be >> >> Examine the squeak image. >> take the required source that does the system tracing >> someone make a MC project (no idea if one exists?) >> >> a) file that into a Pharo image. >> b) Correct things like references to Smalltalk, versus SmalltalkImage current >> c) run it. >> d) place 64bit image on pharo server. >> >> I note to run the system tracer you need to run it either on a PowerPC. >> Or on a MacIntel using a 4.x series macintosh VM, make a copy, do a get info on the VM >> check "Open using Rosetta" >> >> If "Open using Rosetta" is not an option and you are running 10.6 then it is likely you did >> not install Rosetta when you upgraded/installed 10.6. You need to find your 10.6 DVD >> and lookup how to install Rosetta after installing 10.6 >> >> PS yes you could use a 10.5 series VM for this too. >> >> >> However to complicate things I don't think anyone has done a Closure based image >> and I don't know if that will be a problem. You could take a pre-closure Pharo image >> and try it just to get past the point where having the SystemTracer code in a MC is done. >> >> >> On 2009-12-04, at 1:23 PM, Laval Jannik wrote: >> >>> Hi Alex, >>> >>> PharoCore is a 32bits image. >>> So it works on Squeak.5.0.0.b9.64*32.app. >>> >>> I see that Squeak has a 64bits fork image, is it possible to have a Pharo one? >>> What is the process to do this ? >>> >>> Cheers, >>> Jannik >>> >>> >>> On Dec 4, 2009, at 20:50 , Alexandre Bergel wrote: >>> >>>> Hi! >>>> >>>> I just tried Squeak.5.0.0.b9.64*64.app.zip, but I was not able to run >>>> a pharo core on it. >>>> I have a MacBookPro 10.5.8. I do not know whether this is helpful or >>>> not. Feel free to ask more info about my config. >>>> >>>> Cheers, >>>> Alexandre >>>> -- >>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: >>>> Alexandre Bergel http://www.bergel.eu >>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. >>>> >>>> >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> Pharo-project mailing list >>>> Pharo-project@lists.gforge.inria.fr >>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >>> >>> >>> >>> >>> _______________________________________________ >>> Pharo-project mailing list >>> Pharo-project@lists.gforge.inria.fr >>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >> >> -- >> =========================================================================== >> John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 >> Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com >> =========================================================================== >> >> >> >> >> >> _______________________________________________ >> Pharo-project mailing list >> Pharo-project@lists.gforge.inria.fr >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > > > > _______________________________________________ > Pharo-project mailing list > Pharo-project@lists.gforge.inria.fr > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
The problem is that it does not work fine. But I publish it soon. Jannik On Dec 5, 2009, at 15:48 , Stéphane Ducasse wrote: > cool jannik > May be we should publish this package system tracer somewhere. > On Dec 5, 2009, at 3:38 PM, Laval Jannik wrote: > >> Hi John, >> >> Ok, I thried this: >> - file in the updated System-Tracer (attached) >> > I modified some references to Smalltalk to SmalltalkImage current, but not all. >> - run it >> ok, it runs and generate a new image. >> This is done in a 4.2.2VM runing with rosetta. >> >> Now, when I try to load the new image, VM open a white window (this is not bad :) ) >> But I don't know what I can do with this, there is no message. >> >> So, I tried also with a pharo10259 and a Squeak 3.10 and I have the same error. >> >> Do you have an idea of the bug ? >> >> Cheers, >> Jannik >> >> <System-Tracing.2forPharo.cs> >> On Dec 4, 2009, at 22:39 , John M McIntosh wrote: >> >>> I think David Lewis made the last one, let's cc him. >>> >>> Perhaps the process would be >>> >>> Examine the squeak image. >>> take the required source that does the system tracing >>> someone make a MC project (no idea if one exists?) >>> >>> a) file that into a Pharo image. >>> b) Correct things like references to Smalltalk, versus SmalltalkImage current >>> c) run it. >>> d) place 64bit image on pharo server. >>> >>> I note to run the system tracer you need to run it either on a PowerPC. >>> Or on a MacIntel using a 4.x series macintosh VM, make a copy, do a get info on the VM >>> check "Open using Rosetta" >>> >>> If "Open using Rosetta" is not an option and you are running 10.6 then it is likely you did >>> not install Rosetta when you upgraded/installed 10.6. You need to find your 10.6 DVD >>> and lookup how to install Rosetta after installing 10.6 >>> >>> PS yes you could use a 10.5 series VM for this too. >>> >>> >>> However to complicate things I don't think anyone has done a Closure based image >>> and I don't know if that will be a problem. You could take a pre-closure Pharo image >>> and try it just to get past the point where having the SystemTracer code in a MC is done. >>> >>> >>> On 2009-12-04, at 1:23 PM, Laval Jannik wrote: >>> >>>> Hi Alex, >>>> >>>> PharoCore is a 32bits image. >>>> So it works on Squeak.5.0.0.b9.64*32.app. >>>> >>>> I see that Squeak has a 64bits fork image, is it possible to have a Pharo one? >>>> What is the process to do this ? >>>> >>>> Cheers, >>>> Jannik >>>> >>>> >>>> On Dec 4, 2009, at 20:50 , Alexandre Bergel wrote: >>>> >>>>> Hi! >>>>> >>>>> I just tried Squeak.5.0.0.b9.64*64.app.zip, but I was not able to run >>>>> a pharo core on it. >>>>> I have a MacBookPro 10.5.8. I do not know whether this is helpful or >>>>> not. Feel free to ask more info about my config. >>>>> >>>>> Cheers, >>>>> Alexandre >>>>> -- >>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: >>>>> Alexandre Bergel http://www.bergel.eu >>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Pharo-project mailing list >>>>> Pharo-project@lists.gforge.inria.fr >>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> Pharo-project mailing list >>>> Pharo-project@lists.gforge.inria.fr >>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >>> >>> -- >>> =========================================================================== >>> John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 >>> Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com >>> =========================================================================== >>> >>> >>> >>> >>> >>> _______________________________________________ >>> Pharo-project mailing list >>> Pharo-project@lists.gforge.inria.fr >>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >> >> >> >> _______________________________________________ >> Pharo-project mailing list >> Pharo-project@lists.gforge.inria.fr >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > > > _______________________________________________ > Pharo-project mailing list > Pharo-project@lists.gforge.inria.fr > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On 2009-12-05, at 6:38 AM, Laval Jannik wrote: > Hi John, > > Ok, I thried this: > - file in the updated System-Tracer (attached) > > I modified some references to Smalltalk to SmalltalkImage current, but not all. > - run it > ok, it runs and generate a new image. > This is done in a 4.2.2VM runing with rosetta. > > Now, when I try to load the new image, VM open a white window (this is not bad :) ) > But I don't know what I can do with this, there is no message. > > So, I tried also with a pharo10259 and a Squeak 3.10 and I have the same error. > > Do you have an idea of the bug ? Yes > > I modified some references to Smalltalk to SmalltalkImage current, but not all. *all* references have to be checked You get a DNU at startup time, dead... SystemTracer2>>processStartup See usage of Smalltalk hacking a bit more gets you to -- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
hacking a bit more gets you to <PastedGraphic-1.tiff>
In a few spare moments as I await the Arctic front to bury us in snow... I consider the return: error has to be related to the move from BlockContext to BlockClosure so in object:allFieldsWithIndex:collect: I added object class = BlockClosure ifTrue: [(object instVarAt: 3) ifNotNil: ["May need to adjust PC and startPC if changing wordSize..." results at: 2 put: (block value: (object instVarAt: 2)+(self pcDeltaForMethod: object method) value: 2)]]. mmm try that get this more interesting error THERE_BE_DRAGONS_HERE Unwind error during termination 5 December 2009 6:13:31 pm VM: Mac OS - intel - 1062 - Squeak3.8.1 of '28 Aug 2006' [latest update: #6747] 9.0 Image: PharoCore1.0rc1 [Latest update: #10496] SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir /Volumes/px2/business/SqueakiPhone/SqueakObjCBasedForOSXAndIPhone/SqueakNoOGLIPhoneOSX/testingImages/64bittracingchangesets Trusted Dir /foobar/tooBar/forSqueak/bogus/ Untrusted Dir /foobar/tooBar/forSqueak/bogus/ Array(Object)>>error: Receiver: #() Arguments and temporary variables: <<error during printing> Receiver's instance variables: #() Array(Object)>>errorSubscriptBounds: Receiver: #() Arguments and temporary variables: <<error during printing> Receiver's instance variables: #() Array(Object)>>at: Receiver: #() Arguments and temporary variables: <<error during printing> Receiver's instance variables: #() Decompiler>>pushTemporaryVariable: Receiver: a Decompiler Arguments and temporary variables: <<error during printing> Receiver's instance variables: sender: a CompiledMethod(1253: InstructionStream>>debuggerMap) pc: 29 constructor: {a DecompilerConstructor} method: a CompiledMethod(1253: InstructionStream>>debuggerMap) instVars: an Array({sender} {pc}) tempVars: #() constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2}) stack: an OrderedCollection({pc} {sender debuggerMap (sender blockCopy: sender...etc... statements: an OrderedCollection() lastPc: 28 exit: nil caseExits: an OrderedCollection() lastJumpPc: nil lastReturnPc: nil limit: 45 hasValue: nil blockStackBase: 0 numLocalTemps: 0 blockStartsToTempVars: nil tempVarCount: 0 Decompiler(InstructionStream)>>interpretNextInstructionFor: Receiver: a Decompiler Arguments and temporary variables: <<error during printing> Receiver's instance variables: sender: a CompiledMethod(1253: InstructionStream>>debuggerMap) pc: 29 constructor: {a DecompilerConstructor} method: a CompiledMethod(1253: InstructionStream>>debuggerMap) instVars: an Array({sender} {pc}) tempVars: #() constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2}) stack: an OrderedCollection({pc} {sender debuggerMap (sender blockCopy: sender...etc... statements: an OrderedCollection() lastPc: 28 exit: nil caseExits: an OrderedCollection() lastJumpPc: nil lastReturnPc: nil limit: 45 hasValue: nil blockStackBase: 0 numLocalTemps: 0 blockStartsToTempVars: nil tempVarCount: 0 Decompiler>>interpretNextInstructionFor: Receiver: a Decompiler Arguments and temporary variables: <<error during printing> Receiver's instance variables: sender: a CompiledMethod(1253: InstructionStream>>debuggerMap) pc: 29 constructor: {a DecompilerConstructor} method: a CompiledMethod(1253: InstructionStream>>debuggerMap) instVars: an Array({sender} {pc}) tempVars: #() constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2}) stack: an OrderedCollection({pc} {sender debuggerMap (sender blockCopy: sender...etc... statements: an OrderedCollection() lastPc: 28 exit: nil caseExits: an OrderedCollection() lastJumpPc: nil lastReturnPc: nil limit: 45 hasValue: nil blockStackBase: 0 numLocalTemps: 0 blockStartsToTempVars: nil tempVarCount: 0 Decompiler>>statementsTo: Receiver: a Decompiler Arguments and temporary variables: <<error during printing> Receiver's instance variables: sender: a CompiledMethod(1253: InstructionStream>>debuggerMap) pc: 29 constructor: {a DecompilerConstructor} method: a CompiledMethod(1253: InstructionStream>>debuggerMap) instVars: an Array({sender} {pc}) tempVars: #() constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2}) stack: an OrderedCollection({pc} {sender debuggerMap (sender blockCopy: sender...etc... statements: an OrderedCollection() lastPc: 28 exit: nil caseExits: an OrderedCollection() lastJumpPc: nil lastReturnPc: nil limit: 45 hasValue: nil blockStackBase: 0 numLocalTemps: 0 blockStartsToTempVars: nil tempVarCount: 0 Decompiler>>blockTo: Receiver: a Decompiler Arguments and temporary variables: <<error during printing> Receiver's instance variables: sender: a CompiledMethod(1253: InstructionStream>>debuggerMap) pc: 29 constructor: {a DecompilerConstructor} method: a CompiledMethod(1253: InstructionStream>>debuggerMap) instVars: an Array({sender} {pc}) tempVars: #() constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2}) stack: an OrderedCollection({pc} {sender debuggerMap (sender blockCopy: sender...etc... statements: an OrderedCollection() lastPc: 28 exit: nil caseExits: an OrderedCollection() lastJumpPc: nil lastReturnPc: nil limit: 45 hasValue: nil blockStackBase: 0 numLocalTemps: 0 blockStartsToTempVars: nil tempVarCount: 0 Decompiler>>decompile:in:method:using: Receiver: a Decompiler Arguments and temporary variables: <<error during printing> Receiver's instance variables: sender: a CompiledMethod(1253: InstructionStream>>debuggerMap) pc: 29 constructor: {a DecompilerConstructor} method: a CompiledMethod(1253: InstructionStream>>debuggerMap) instVars: an Array({sender} {pc}) tempVars: #() constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2}) stack: an OrderedCollection({pc} {sender debuggerMap (sender blockCopy: sender...etc... statements: an OrderedCollection() lastPc: 28 exit: nil caseExits: an OrderedCollection() lastJumpPc: nil lastReturnPc: nil limit: 45 hasValue: nil blockStackBase: 0 numLocalTemps: 0 blockStartsToTempVars: nil tempVarCount: 0 Decompiler>>decompile:in:method: Receiver: a Decompiler Arguments and temporary variables: <<error during printing> Receiver's instance variables: sender: a CompiledMethod(1253: InstructionStream>>debuggerMap) pc: 29 constructor: {a DecompilerConstructor} method: a CompiledMethod(1253: InstructionStream>>debuggerMap) instVars: an Array({sender} {pc}) tempVars: #() constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2}) stack: an OrderedCollection({pc} {sender debuggerMap (sender blockCopy: sender...etc... statements: an OrderedCollection() lastPc: 28 exit: nil caseExits: an OrderedCollection() lastJumpPc: nil lastReturnPc: nil limit: 45 hasValue: nil blockStackBase: 0 numLocalTemps: 0 blockStartsToTempVars: nil tempVarCount: 0 CompiledMethod>>getSourceFor:in: Receiver: a CompiledMethod(1253: InstructionStream>>debuggerMap) Arguments and temporary variables: <<error during printing> Receiver's instance variables: a CompiledMethod(1253: InstructionStream>>debuggerMap) CompiledMethod>>methodNode Receiver: a CompiledMethod(1253: InstructionStream>>debuggerMap) Arguments and temporary variables: <<error during printing> Receiver's instance variables: a CompiledMethod(1253: InstructionStream>>debuggerMap) [] in DebuggerMethodMap class>>forMethod: Receiver: DebuggerMethodMap Arguments and temporary variables: <<error during printing> Receiver's instance variables: superclass: Object methodDict: a MethodDictionary(#abstractSourceMap->a CompiledMethod(3330: Debug...etc... format: 140 instanceVariables: #('timestamp' 'methodReference' 'methodNode' 'abstractSource...etc... organization: ('accessing' markRecentlyUsed method namedTempAt:in: namedTempAt:...etc... subclasses: {DebuggerMethodMapForBlueBookMethods. DebuggerMethodMapForClosureCo...etc... name: #DebuggerMethodMap classPool: a Dictionary(#MapCache->a WeakIdentityKeyDictionary(a CompiledMethod...etc... sharedPools: nil environment: Smalltalk category: #'Tools-Debugger' traitComposition: nil localSelectors: nil WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent: Receiver: a WeakIdentityKeyDictionary(a CompiledMethod(1410: HandMorph>>handleEvent:)->a DebuggerMet...etc... Arguments and temporary variables: <<error during printing> Receiver's instance variables: tally: 16 array: an Array(a CompiledMethod(3440: Morph>>processEvent:)->a DebuggerMethodM...etc... DebuggerMethodMap class>>forMethod: Receiver: DebuggerMethodMap Arguments and temporary variables: <<error during printing> Receiver's instance variables: superclass: Object methodDict: a MethodDictionary(#abstractSourceMap->a CompiledMethod(3330: Debug...etc... format: 140 instanceVariables: #('timestamp' 'methodReference' 'methodNode' 'abstractSource...etc... organization: ('accessing' markRecentlyUsed method namedTempAt:in: namedTempAt:...etc... subclasses: {DebuggerMethodMapForBlueBookMethods. DebuggerMethodMapForClosureCo...etc... name: #DebuggerMethodMap classPool: a Dictionary(#MapCache->a WeakIdentityKeyDictionary(a CompiledMethod...etc... sharedPools: nil environment: Smalltalk category: #'Tools-Debugger' traitComposition: nil localSelectors: nil CompiledMethod>>debuggerMap Receiver: a CompiledMethod(1253: InstructionStream>>debuggerMap) Arguments and temporary variables: <<error during printing> Receiver's instance variables: a CompiledMethod(1253: InstructionStream>>debuggerMap) MethodContext(InstructionStream)>>debuggerMap Receiver: MethodContext(InstructionStream)>>debuggerMap Arguments and temporary variables: <<error during printing> Receiver's instance variables: sender: Debugger>>selectedMessage pc: 44 stackp: 0 method: a CompiledMethod(1253: InstructionStream>>debuggerMap) closureOrNil: nil receiver: CompiledMethod>>methodNode Debugger>>selectedMessage Receiver: a Debugger Arguments and temporary variables: <<error during printing> Receiver's instance variables: dependents: a DependentsArray(a SystemWindow(3468) a PluggableListMorph(1072) a...etc... contents: nil currentCompiledMethod: nil contentsSymbol: #source interruptedProcess: a Process in Debugger class>>openOn:context:label:contents:...etc... interruptedController: nil contextStack: an OrderedCollection(CompiledMethod(Object)>>error: CompiledMetho...etc... contextStackTop: CompiledMethod(Object)>>error: contextStackIndex: 17 contextStackList: an OrderedCollection('CompiledMethod(Object)>>error:' 'Compil...etc... receiverInspector: an Inspector contextVariablesInspector: a ContextVariablesInspector externalInterrupt: false proceedValue: nil selectingPC: true debuggerMap: nil savedCursor: ((CursorWithMask extent: 16@16 depth: 1 fromArray: #( 2r0 2...etc... isolationHead: nil failedProject: nil errorWasInUIProcess: true labelString: nil Debugger>>contextStackIndex:oldContextWas: Receiver: a Debugger Arguments and temporary variables: <<error during printing> Receiver's instance variables: dependents: a DependentsArray(a SystemWindow(3468) a PluggableListMorph(1072) a...etc... contents: nil currentCompiledMethod: nil contentsSymbol: #source interruptedProcess: a Process in Debugger class>>openOn:context:label:contents:...etc... interruptedController: nil contextStack: an OrderedCollection(CompiledMethod(Object)>>error: CompiledMetho...etc... contextStackTop: CompiledMethod(Object)>>error: contextStackIndex: 17 contextStackList: an OrderedCollection('CompiledMethod(Object)>>error:' 'Compil...etc... receiverInspector: an Inspector contextVariablesInspector: a ContextVariablesInspector externalInterrupt: false proceedValue: nil selectingPC: true debuggerMap: nil savedCursor: ((CursorWithMask extent: 16@16 depth: 1 fromArray: #( 2r0 2...etc... isolationHead: nil failedProject: nil errorWasInUIProcess: true labelString: nil Debugger>>toggleContextStackIndex: Receiver: a Debugger Arguments and temporary variables: <<error during printing> Receiver's instance variables: dependents: a DependentsArray(a SystemWindow(3468) a PluggableListMorph(1072) a...etc... contents: nil currentCompiledMethod: nil contentsSymbol: #source interruptedProcess: a Process in Debugger class>>openOn:context:label:contents:...etc... interruptedController: nil contextStack: an OrderedCollection(CompiledMethod(Object)>>error: CompiledMetho...etc... contextStackTop: CompiledMethod(Object)>>error: contextStackIndex: 17 contextStackList: an OrderedCollection('CompiledMethod(Object)>>error:' 'Compil...etc... receiverInspector: an Inspector contextVariablesInspector: a ContextVariablesInspector externalInterrupt: false proceedValue: nil selectingPC: true debuggerMap: nil savedCursor: ((CursorWithMask extent: 16@16 depth: 1 fromArray: #( 2r0 2...etc... isolationHead: nil failedProject: nil errorWasInUIProcess: true labelString: nil PluggableListMorph>>changeModelSelection: Receiver: a PluggableListMorph(1072) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 18@31 corner: 608@201 owner: a SystemWindow(3468) submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775)) fullBounds: nil color: Color white extension: a MorphExtension (973) [locked] [other: (layoutFrame -> a LayoutFr...etc... borderWidth: 1 borderColor: (Color r: 0.667 g: 0.667 b: 0.667) model: a Debugger slotName: nil open: false scrollBar: a ScrollBar(3011) scroller: a TransformMorph(3775) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #contextStackMenu:shifted: getMenuTitleSelector: #messageListSelectorTitle hasFocus: true hScrollBar: a ScrollBar(2791) list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc... getListSelector: #contextStackList getListSizeSelector: nil getListElementSelector: nil getIndexSelector: #contextStackIndex setIndexSelector: #toggleContextStackIndex: keystrokeActionSelector: #contextStackKey:from: autoDeselect: true lastKeystrokeTime: 0 lastKeystrokes: '' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: a LazyListMorph(1316) hScrollRangeCache: nil PluggableListMorph>>mouseUp: Receiver: a PluggableListMorph(1072) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 18@31 corner: 608@201 owner: a SystemWindow(3468) submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775)) fullBounds: nil color: Color white extension: a MorphExtension (973) [locked] [other: (layoutFrame -> a LayoutFr...etc... borderWidth: 1 borderColor: (Color r: 0.667 g: 0.667 b: 0.667) model: a Debugger slotName: nil open: false scrollBar: a ScrollBar(3011) scroller: a TransformMorph(3775) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #contextStackMenu:shifted: getMenuTitleSelector: #messageListSelectorTitle hasFocus: true hScrollBar: a ScrollBar(2791) list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc... getListSelector: #contextStackList getListSizeSelector: nil getListElementSelector: nil getIndexSelector: #contextStackIndex setIndexSelector: #toggleContextStackIndex: keystrokeActionSelector: #contextStackKey:from: autoDeselect: true lastKeystrokeTime: 0 lastKeystrokes: '' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: a LazyListMorph(1316) hScrollRangeCache: nil PluggableListMorph(Morph)>>handleMouseUp: Receiver: a PluggableListMorph(1072) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 18@31 corner: 608@201 owner: a SystemWindow(3468) submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775)) fullBounds: nil color: Color white extension: a MorphExtension (973) [locked] [other: (layoutFrame -> a LayoutFr...etc... borderWidth: 1 borderColor: (Color r: 0.667 g: 0.667 b: 0.667) model: a Debugger slotName: nil open: false scrollBar: a ScrollBar(3011) scroller: a TransformMorph(3775) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #contextStackMenu:shifted: getMenuTitleSelector: #messageListSelectorTitle hasFocus: true hScrollBar: a ScrollBar(2791) list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc... getListSelector: #contextStackList getListSizeSelector: nil getListElementSelector: nil getIndexSelector: #contextStackIndex setIndexSelector: #toggleContextStackIndex: keystrokeActionSelector: #contextStackKey:from: autoDeselect: true lastKeystrokeTime: 0 lastKeystrokes: '' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: a LazyListMorph(1316) hScrollRangeCache: nil MouseButtonEvent>>sentTo: Receiver: [206@151 mouseUp 103652 nil] Arguments and temporary variables: <<error during printing> Receiver's instance variables: timeStamp: 103652 source: a HandMorph(3216) windowIndex: nil type: #mouseUp buttons: 0 position: 206@151 handler: nil wasHandled: true whichButton: 4 PluggableListMorph(Morph)>>handleEvent: Receiver: a PluggableListMorph(1072) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 18@31 corner: 608@201 owner: a SystemWindow(3468) submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775)) fullBounds: nil color: Color white extension: a MorphExtension (973) [locked] [other: (layoutFrame -> a LayoutFr...etc... borderWidth: 1 borderColor: (Color r: 0.667 g: 0.667 b: 0.667) model: a Debugger slotName: nil open: false scrollBar: a ScrollBar(3011) scroller: a TransformMorph(3775) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #contextStackMenu:shifted: getMenuTitleSelector: #messageListSelectorTitle hasFocus: true hScrollBar: a ScrollBar(2791) list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc... getListSelector: #contextStackList getListSizeSelector: nil getListElementSelector: nil getIndexSelector: #contextStackIndex setIndexSelector: #toggleContextStackIndex: keystrokeActionSelector: #contextStackKey:from: autoDeselect: true lastKeystrokeTime: 0 lastKeystrokes: '' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: a LazyListMorph(1316) hScrollRangeCache: nil MorphicEventDispatcher>>dispatchDefault:with: Receiver: a MorphicEventDispatcher Arguments and temporary variables: <<error during printing> Receiver's instance variables: lastType: #mouseUp lastDispatch: #dispatchDefault:with: MorphicEventDispatcher>>dispatchEvent:with: Receiver: a MorphicEventDispatcher Arguments and temporary variables: <<error during printing> Receiver's instance variables: lastType: #mouseUp lastDispatch: #dispatchDefault:with: PluggableListMorph(Morph)>>processEvent:using: Receiver: a PluggableListMorph(1072) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 18@31 corner: 608@201 owner: a SystemWindow(3468) submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775)) fullBounds: nil color: Color white extension: a MorphExtension (973) [locked] [other: (layoutFrame -> a LayoutFr...etc... borderWidth: 1 borderColor: (Color r: 0.667 g: 0.667 b: 0.667) model: a Debugger slotName: nil open: false scrollBar: a ScrollBar(3011) scroller: a TransformMorph(3775) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #contextStackMenu:shifted: getMenuTitleSelector: #messageListSelectorTitle hasFocus: true hScrollBar: a ScrollBar(2791) list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc... getListSelector: #contextStackList getListSizeSelector: nil getListElementSelector: nil getIndexSelector: #contextStackIndex setIndexSelector: #toggleContextStackIndex: keystrokeActionSelector: #contextStackKey:from: autoDeselect: true lastKeystrokeTime: 0 lastKeystrokes: '' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: a LazyListMorph(1316) hScrollRangeCache: nil PluggableListMorph(Morph)>>processEvent: Receiver: a PluggableListMorph(1072) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 18@31 corner: 608@201 owner: a SystemWindow(3468) submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775)) fullBounds: nil color: Color white extension: a MorphExtension (973) [locked] [other: (layoutFrame -> a LayoutFr...etc... borderWidth: 1 borderColor: (Color r: 0.667 g: 0.667 b: 0.667) model: a Debugger slotName: nil open: false scrollBar: a ScrollBar(3011) scroller: a TransformMorph(3775) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #contextStackMenu:shifted: getMenuTitleSelector: #messageListSelectorTitle hasFocus: true hScrollBar: a ScrollBar(2791) list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc... getListSelector: #contextStackList getListSizeSelector: nil getListElementSelector: nil getIndexSelector: #contextStackIndex setIndexSelector: #toggleContextStackIndex: keystrokeActionSelector: #contextStackKey:from: autoDeselect: true lastKeystrokeTime: 0 lastKeystrokes: '' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: a LazyListMorph(1316) hScrollRangeCache: nil PluggableListMorph>>handleFocusEvent: Receiver: a PluggableListMorph(1072) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 18@31 corner: 608@201 owner: a SystemWindow(3468) submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775)) fullBounds: nil color: Color white extension: a MorphExtension (973) [locked] [other: (layoutFrame -> a LayoutFr...etc... borderWidth: 1 borderColor: (Color r: 0.667 g: 0.667 b: 0.667) model: a Debugger slotName: nil open: false scrollBar: a ScrollBar(3011) scroller: a TransformMorph(3775) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #contextStackMenu:shifted: getMenuTitleSelector: #messageListSelectorTitle hasFocus: true hScrollBar: a ScrollBar(2791) list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc... getListSelector: #contextStackList getListSizeSelector: nil getListElementSelector: nil getIndexSelector: #contextStackIndex setIndexSelector: #toggleContextStackIndex: keystrokeActionSelector: #contextStackKey:from: autoDeselect: true lastKeystrokeTime: 0 lastKeystrokes: '' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: a LazyListMorph(1316) hScrollRangeCache: nil [] in HandMorph>>sendFocusEvent:to:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 352@84 corner: 368@100 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 352@84 corner: 368@100 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: a PluggableButtonMorph(1282) eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [352@84 mouseUp 109252 nil] targetOffset: 40@23 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '' lastEventBuffer: #(1 109252 352 84 0 0 0 1) lastKeyScanCode: 2 combinedChar: nil [] in PasteUpMorph>>becomeActiveDuring: Receiver: a PasteUpMorph(1622) [world] Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 0@0 corner: 1102@896 owner: nil submorphs: an Array(a TaskbarMorph(3095) a SystemProgressMorph(3746) a PreDebug...etc... fullBounds: nil color: (Color r: 0.97 g: 0.98 b: 1.0) extension: a MorphExtension (2543) [eventHandler = an EventHandler] [other: (...etc... borderWidth: 0 borderColor: (Color r: 0.03 g: 0.02 b: 0.0) presenter: a Presenter (1246) model: a MorphicModel(1926) cursor: 1 padding: 3 backgroundMorph: nil isPartsBin: nil autoLineLayout: false indicateCursor: nil resizeToFit: nil wantsMouseOverHalos: nil worldState: a WorldState griddingOn: nil BlockClosure>>on:do: Receiver: [closure] in PasteUpMorph>>becomeActiveDuring: Arguments and temporary variables: <<error during printing> Receiver's instance variables: outerContext: PasteUpMorph>>becomeActiveDuring: startpc: 111 numArgs: 0 PasteUpMorph>>becomeActiveDuring: Receiver: a PasteUpMorph(1622) [world] Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 0@0 corner: 1102@896 owner: nil submorphs: an Array(a TaskbarMorph(3095) a SystemProgressMorph(3746) a PreDebug...etc... fullBounds: nil color: (Color r: 0.97 g: 0.98 b: 1.0) extension: a MorphExtension (2543) [eventHandler = an EventHandler] [other: (...etc... borderWidth: 0 borderColor: (Color r: 0.03 g: 0.02 b: 0.0) presenter: a Presenter (1246) model: a MorphicModel(1926) cursor: 1 padding: 3 backgroundMorph: nil isPartsBin: nil autoLineLayout: false indicateCursor: nil resizeToFit: nil wantsMouseOverHalos: nil worldState: a WorldState griddingOn: nil HandMorph>>sendFocusEvent:to:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 352@84 corner: 368@100 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 352@84 corner: 368@100 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: a PluggableButtonMorph(1282) eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [352@84 mouseUp 109252 nil] targetOffset: 40@23 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '' lastEventBuffer: #(1 109252 352 84 0 0 0 1) lastKeyScanCode: 2 combinedChar: nil HandMorph>>sendEvent:focus:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 352@84 corner: 368@100 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 352@84 corner: 368@100 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: a PluggableButtonMorph(1282) eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [352@84 mouseUp 109252 nil] targetOffset: 40@23 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '' lastEventBuffer: #(1 109252 352 84 0 0 0 1) lastKeyScanCode: 2 combinedChar: nil HandMorph>>sendMouseEvent: Receiver: a HandMorph(3216) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 352@84 corner: 368@100 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 352@84 corner: 368@100 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: a PluggableButtonMorph(1282) eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [352@84 mouseUp 109252 nil] targetOffset: 40@23 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '' lastEventBuffer: #(1 109252 352 84 0 0 0 1) lastKeyScanCode: 2 combinedChar: nil HandMorph>>handleEvent: Receiver: a HandMorph(3216) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 352@84 corner: 368@100 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 352@84 corner: 368@100 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: a PluggableButtonMorph(1282) eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [352@84 mouseUp 109252 nil] targetOffset: 40@23 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '' lastEventBuffer: #(1 109252 352 84 0 0 0 1) lastKeyScanCode: 2 combinedChar: nil HandMorph>>processEvents Receiver: a HandMorph(3216) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 352@84 corner: 368@100 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 352@84 corner: 368@100 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: a PluggableButtonMorph(1282) eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [352@84 mouseUp 109252 nil] targetOffset: 40@23 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '' lastEventBuffer: #(1 109252 352 84 0 0 0 1) lastKeyScanCode: 2 combinedChar: nil --- The full stack --- Array(Object)>>error: Array(Object)>>errorSubscriptBounds: Array(Object)>>at: Decompiler>>pushTemporaryVariable: Decompiler(InstructionStream)>>interpretNextInstructionFor: Decompiler>>interpretNextInstructionFor: Decompiler>>statementsTo: Decompiler>>blockTo: Decompiler>>decompile:in:method:using: Decompiler>>decompile:in:method: CompiledMethod>>getSourceFor:in: CompiledMethod>>methodNode [] in DebuggerMethodMap class>>forMethod: WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent: DebuggerMethodMap class>>forMethod: CompiledMethod>>debuggerMap MethodContext(InstructionStream)>>debuggerMap Debugger>>selectedMessage Debugger>>contextStackIndex:oldContextWas: Debugger>>toggleContextStackIndex: PluggableListMorph>>changeModelSelection: PluggableListMorph>>mouseUp: PluggableListMorph(Morph)>>handleMouseUp: MouseButtonEvent>>sentTo: PluggableListMorph(Morph)>>handleEvent: MorphicEventDispatcher>>dispatchDefault:with: MorphicEventDispatcher>>dispatchEvent:with: PluggableListMorph(Morph)>>processEvent:using: PluggableListMorph(Morph)>>processEvent: PluggableListMorph>>handleFocusEvent: [] in HandMorph>>sendFocusEvent:to:clear: [] in PasteUpMorph>>becomeActiveDuring: BlockClosure>>on:do: PasteUpMorph>>becomeActiveDuring: HandMorph>>sendFocusEvent:to:clear: HandMorph>>sendEvent:focus:clear: HandMorph>>sendMouseEvent: HandMorph>>handleEvent: HandMorph>>processEvents - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [] in WorldState>>doOneCycleNowFor: Array(SequenceableCollection)>>do: WorldState>>handsDo: WorldState>>doOneCycleNowFor: WorldState>>doOneCycleFor: PasteUpMorph>>doOneCycle [] in Project class>>spawnNewProcess [] in BlockClosure>>newProcess ------------------------------------------------------------ -- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
Hi John, How do you have these messages ? When I try to load the 64bits image, I have a white screen and it is really difficult to fix something... Is there a parameter to add when loading the vm ? I added the part of code that you send, but I have the same thing. I modify also the code of SystemTracer. Cheers, Jannik On Dec 6, 2009, at 03:17 , John M McIntosh wrote:
hacking a bit more gets you to <PastedGraphic-1.tiff>
In a few spare moments as I await the Arctic front to bury us in snow...
I consider the return: error
has to be related to the move from BlockContext to BlockClosure so in object:allFieldsWithIndex:collect:
I added object class = BlockClosure ifTrue: [(object instVarAt: 3) ifNotNil: ["May need to adjust PC and startPC if changing wordSize..." results at: 2 put: (block value: (object instVarAt: 2)+(self pcDeltaForMethod: object method) value: 2)]].
mmm try that get this more interesting error
THERE_BE_DRAGONS_HERE Unwind error during termination 5 December 2009 6:13:31 pm
VM: Mac OS - intel - 1062 - Squeak3.8.1 of '28 Aug 2006' [latest update: #6747] 9.0 Image: PharoCore1.0rc1 [Latest update: #10496]
SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir /Volumes/px2/business/SqueakiPhone/SqueakObjCBasedForOSXAndIPhone/SqueakNoOGLIPhoneOSX/testingImages/64bittracingchangesets Trusted Dir /foobar/tooBar/forSqueak/bogus/ Untrusted Dir /foobar/tooBar/forSqueak/bogus/
Array(Object)>>error: Receiver: #() Arguments and temporary variables: <<error during printing> Receiver's instance variables: #()
Array(Object)>>errorSubscriptBounds: Receiver: #() Arguments and temporary variables: <<error during printing> Receiver's instance variables: #()
Array(Object)>>at: Receiver: #() Arguments and temporary variables: <<error during printing> Receiver's instance variables: #()
Decompiler>>pushTemporaryVariable: Receiver: a Decompiler Arguments and temporary variables: <<error during printing> Receiver's instance variables: sender: a CompiledMethod(1253: InstructionStream>>debuggerMap) pc: 29 constructor: {a DecompilerConstructor} method: a CompiledMethod(1253: InstructionStream>>debuggerMap) instVars: an Array({sender} {pc}) tempVars: #() constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2}) stack: an OrderedCollection({pc} {sender debuggerMap (sender blockCopy: sender...etc... statements: an OrderedCollection() lastPc: 28 exit: nil caseExits: an OrderedCollection() lastJumpPc: nil lastReturnPc: nil limit: 45 hasValue: nil blockStackBase: 0 numLocalTemps: 0 blockStartsToTempVars: nil tempVarCount: 0
Decompiler(InstructionStream)>>interpretNextInstructionFor: Receiver: a Decompiler Arguments and temporary variables: <<error during printing> Receiver's instance variables: sender: a CompiledMethod(1253: InstructionStream>>debuggerMap) pc: 29 constructor: {a DecompilerConstructor} method: a CompiledMethod(1253: InstructionStream>>debuggerMap) instVars: an Array({sender} {pc}) tempVars: #() constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2}) stack: an OrderedCollection({pc} {sender debuggerMap (sender blockCopy: sender...etc... statements: an OrderedCollection() lastPc: 28 exit: nil caseExits: an OrderedCollection() lastJumpPc: nil lastReturnPc: nil limit: 45 hasValue: nil blockStackBase: 0 numLocalTemps: 0 blockStartsToTempVars: nil tempVarCount: 0
Decompiler>>interpretNextInstructionFor: Receiver: a Decompiler Arguments and temporary variables: <<error during printing> Receiver's instance variables: sender: a CompiledMethod(1253: InstructionStream>>debuggerMap) pc: 29 constructor: {a DecompilerConstructor} method: a CompiledMethod(1253: InstructionStream>>debuggerMap) instVars: an Array({sender} {pc}) tempVars: #() constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2}) stack: an OrderedCollection({pc} {sender debuggerMap (sender blockCopy: sender...etc... statements: an OrderedCollection() lastPc: 28 exit: nil caseExits: an OrderedCollection() lastJumpPc: nil lastReturnPc: nil limit: 45 hasValue: nil blockStackBase: 0 numLocalTemps: 0 blockStartsToTempVars: nil tempVarCount: 0
Decompiler>>statementsTo: Receiver: a Decompiler Arguments and temporary variables: <<error during printing> Receiver's instance variables: sender: a CompiledMethod(1253: InstructionStream>>debuggerMap) pc: 29 constructor: {a DecompilerConstructor} method: a CompiledMethod(1253: InstructionStream>>debuggerMap) instVars: an Array({sender} {pc}) tempVars: #() constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2}) stack: an OrderedCollection({pc} {sender debuggerMap (sender blockCopy: sender...etc... statements: an OrderedCollection() lastPc: 28 exit: nil caseExits: an OrderedCollection() lastJumpPc: nil lastReturnPc: nil limit: 45 hasValue: nil blockStackBase: 0 numLocalTemps: 0 blockStartsToTempVars: nil tempVarCount: 0
Decompiler>>blockTo: Receiver: a Decompiler Arguments and temporary variables: <<error during printing> Receiver's instance variables: sender: a CompiledMethod(1253: InstructionStream>>debuggerMap) pc: 29 constructor: {a DecompilerConstructor} method: a CompiledMethod(1253: InstructionStream>>debuggerMap) instVars: an Array({sender} {pc}) tempVars: #() constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2}) stack: an OrderedCollection({pc} {sender debuggerMap (sender blockCopy: sender...etc... statements: an OrderedCollection() lastPc: 28 exit: nil caseExits: an OrderedCollection() lastJumpPc: nil lastReturnPc: nil limit: 45 hasValue: nil blockStackBase: 0 numLocalTemps: 0 blockStartsToTempVars: nil tempVarCount: 0
Decompiler>>decompile:in:method:using: Receiver: a Decompiler Arguments and temporary variables: <<error during printing> Receiver's instance variables: sender: a CompiledMethod(1253: InstructionStream>>debuggerMap) pc: 29 constructor: {a DecompilerConstructor} method: a CompiledMethod(1253: InstructionStream>>debuggerMap) instVars: an Array({sender} {pc}) tempVars: #() constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2}) stack: an OrderedCollection({pc} {sender debuggerMap (sender blockCopy: sender...etc... statements: an OrderedCollection() lastPc: 28 exit: nil caseExits: an OrderedCollection() lastJumpPc: nil lastReturnPc: nil limit: 45 hasValue: nil blockStackBase: 0 numLocalTemps: 0 blockStartsToTempVars: nil tempVarCount: 0
Decompiler>>decompile:in:method: Receiver: a Decompiler Arguments and temporary variables: <<error during printing> Receiver's instance variables: sender: a CompiledMethod(1253: InstructionStream>>debuggerMap) pc: 29 constructor: {a DecompilerConstructor} method: a CompiledMethod(1253: InstructionStream>>debuggerMap) instVars: an Array({sender} {pc}) tempVars: #() constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2}) stack: an OrderedCollection({pc} {sender debuggerMap (sender blockCopy: sender...etc... statements: an OrderedCollection() lastPc: 28 exit: nil caseExits: an OrderedCollection() lastJumpPc: nil lastReturnPc: nil limit: 45 hasValue: nil blockStackBase: 0 numLocalTemps: 0 blockStartsToTempVars: nil tempVarCount: 0
CompiledMethod>>getSourceFor:in: Receiver: a CompiledMethod(1253: InstructionStream>>debuggerMap) Arguments and temporary variables: <<error during printing> Receiver's instance variables: a CompiledMethod(1253: InstructionStream>>debuggerMap)
CompiledMethod>>methodNode Receiver: a CompiledMethod(1253: InstructionStream>>debuggerMap) Arguments and temporary variables: <<error during printing> Receiver's instance variables: a CompiledMethod(1253: InstructionStream>>debuggerMap)
[] in DebuggerMethodMap class>>forMethod: Receiver: DebuggerMethodMap Arguments and temporary variables: <<error during printing> Receiver's instance variables: superclass: Object methodDict: a MethodDictionary(#abstractSourceMap->a CompiledMethod(3330: Debug...etc... format: 140 instanceVariables: #('timestamp' 'methodReference' 'methodNode' 'abstractSource...etc... organization: ('accessing' markRecentlyUsed method namedTempAt:in: namedTempAt:...etc... subclasses: {DebuggerMethodMapForBlueBookMethods. DebuggerMethodMapForClosureCo...etc... name: #DebuggerMethodMap classPool: a Dictionary(#MapCache->a WeakIdentityKeyDictionary(a CompiledMethod...etc... sharedPools: nil environment: Smalltalk category: #'Tools-Debugger' traitComposition: nil localSelectors: nil
WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent: Receiver: a WeakIdentityKeyDictionary(a CompiledMethod(1410: HandMorph>>handleEvent:)->a DebuggerMet...etc... Arguments and temporary variables: <<error during printing> Receiver's instance variables: tally: 16 array: an Array(a CompiledMethod(3440: Morph>>processEvent:)->a DebuggerMethodM...etc...
DebuggerMethodMap class>>forMethod: Receiver: DebuggerMethodMap Arguments and temporary variables: <<error during printing> Receiver's instance variables: superclass: Object methodDict: a MethodDictionary(#abstractSourceMap->a CompiledMethod(3330: Debug...etc... format: 140 instanceVariables: #('timestamp' 'methodReference' 'methodNode' 'abstractSource...etc... organization: ('accessing' markRecentlyUsed method namedTempAt:in: namedTempAt:...etc... subclasses: {DebuggerMethodMapForBlueBookMethods. DebuggerMethodMapForClosureCo...etc... name: #DebuggerMethodMap classPool: a Dictionary(#MapCache->a WeakIdentityKeyDictionary(a CompiledMethod...etc... sharedPools: nil environment: Smalltalk category: #'Tools-Debugger' traitComposition: nil localSelectors: nil
CompiledMethod>>debuggerMap Receiver: a CompiledMethod(1253: InstructionStream>>debuggerMap) Arguments and temporary variables: <<error during printing> Receiver's instance variables: a CompiledMethod(1253: InstructionStream>>debuggerMap)
MethodContext(InstructionStream)>>debuggerMap Receiver: MethodContext(InstructionStream)>>debuggerMap Arguments and temporary variables: <<error during printing> Receiver's instance variables: sender: Debugger>>selectedMessage pc: 44 stackp: 0 method: a CompiledMethod(1253: InstructionStream>>debuggerMap) closureOrNil: nil receiver: CompiledMethod>>methodNode
Debugger>>selectedMessage Receiver: a Debugger Arguments and temporary variables: <<error during printing> Receiver's instance variables: dependents: a DependentsArray(a SystemWindow(3468) a PluggableListMorph(1072) a...etc... contents: nil currentCompiledMethod: nil contentsSymbol: #source interruptedProcess: a Process in Debugger class>>openOn:context:label:contents:...etc... interruptedController: nil contextStack: an OrderedCollection(CompiledMethod(Object)>>error: CompiledMetho...etc... contextStackTop: CompiledMethod(Object)>>error: contextStackIndex: 17 contextStackList: an OrderedCollection('CompiledMethod(Object)>>error:' 'Compil...etc... receiverInspector: an Inspector contextVariablesInspector: a ContextVariablesInspector externalInterrupt: false proceedValue: nil selectingPC: true debuggerMap: nil savedCursor: ((CursorWithMask extent: 16@16 depth: 1 fromArray: #( 2r0 2...etc... isolationHead: nil failedProject: nil errorWasInUIProcess: true labelString: nil
Debugger>>contextStackIndex:oldContextWas: Receiver: a Debugger Arguments and temporary variables: <<error during printing> Receiver's instance variables: dependents: a DependentsArray(a SystemWindow(3468) a PluggableListMorph(1072) a...etc... contents: nil currentCompiledMethod: nil contentsSymbol: #source interruptedProcess: a Process in Debugger class>>openOn:context:label:contents:...etc... interruptedController: nil contextStack: an OrderedCollection(CompiledMethod(Object)>>error: CompiledMetho...etc... contextStackTop: CompiledMethod(Object)>>error: contextStackIndex: 17 contextStackList: an OrderedCollection('CompiledMethod(Object)>>error:' 'Compil...etc... receiverInspector: an Inspector contextVariablesInspector: a ContextVariablesInspector externalInterrupt: false proceedValue: nil selectingPC: true debuggerMap: nil savedCursor: ((CursorWithMask extent: 16@16 depth: 1 fromArray: #( 2r0 2...etc... isolationHead: nil failedProject: nil errorWasInUIProcess: true labelString: nil
Debugger>>toggleContextStackIndex: Receiver: a Debugger Arguments and temporary variables: <<error during printing> Receiver's instance variables: dependents: a DependentsArray(a SystemWindow(3468) a PluggableListMorph(1072) a...etc... contents: nil currentCompiledMethod: nil contentsSymbol: #source interruptedProcess: a Process in Debugger class>>openOn:context:label:contents:...etc... interruptedController: nil contextStack: an OrderedCollection(CompiledMethod(Object)>>error: CompiledMetho...etc... contextStackTop: CompiledMethod(Object)>>error: contextStackIndex: 17 contextStackList: an OrderedCollection('CompiledMethod(Object)>>error:' 'Compil...etc... receiverInspector: an Inspector contextVariablesInspector: a ContextVariablesInspector externalInterrupt: false proceedValue: nil selectingPC: true debuggerMap: nil savedCursor: ((CursorWithMask extent: 16@16 depth: 1 fromArray: #( 2r0 2...etc... isolationHead: nil failedProject: nil errorWasInUIProcess: true labelString: nil
PluggableListMorph>>changeModelSelection: Receiver: a PluggableListMorph(1072) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 18@31 corner: 608@201 owner: a SystemWindow(3468) submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775)) fullBounds: nil color: Color white extension: a MorphExtension (973) [locked] [other: (layoutFrame -> a LayoutFr...etc... borderWidth: 1 borderColor: (Color r: 0.667 g: 0.667 b: 0.667) model: a Debugger slotName: nil open: false scrollBar: a ScrollBar(3011) scroller: a TransformMorph(3775) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #contextStackMenu:shifted: getMenuTitleSelector: #messageListSelectorTitle hasFocus: true hScrollBar: a ScrollBar(2791) list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc... getListSelector: #contextStackList getListSizeSelector: nil getListElementSelector: nil getIndexSelector: #contextStackIndex setIndexSelector: #toggleContextStackIndex: keystrokeActionSelector: #contextStackKey:from: autoDeselect: true lastKeystrokeTime: 0 lastKeystrokes: '' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: a LazyListMorph(1316) hScrollRangeCache: nil
PluggableListMorph>>mouseUp: Receiver: a PluggableListMorph(1072) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 18@31 corner: 608@201 owner: a SystemWindow(3468) submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775)) fullBounds: nil color: Color white extension: a MorphExtension (973) [locked] [other: (layoutFrame -> a LayoutFr...etc... borderWidth: 1 borderColor: (Color r: 0.667 g: 0.667 b: 0.667) model: a Debugger slotName: nil open: false scrollBar: a ScrollBar(3011) scroller: a TransformMorph(3775) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #contextStackMenu:shifted: getMenuTitleSelector: #messageListSelectorTitle hasFocus: true hScrollBar: a ScrollBar(2791) list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc... getListSelector: #contextStackList getListSizeSelector: nil getListElementSelector: nil getIndexSelector: #contextStackIndex setIndexSelector: #toggleContextStackIndex: keystrokeActionSelector: #contextStackKey:from: autoDeselect: true lastKeystrokeTime: 0 lastKeystrokes: '' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: a LazyListMorph(1316) hScrollRangeCache: nil
PluggableListMorph(Morph)>>handleMouseUp: Receiver: a PluggableListMorph(1072) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 18@31 corner: 608@201 owner: a SystemWindow(3468) submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775)) fullBounds: nil color: Color white extension: a MorphExtension (973) [locked] [other: (layoutFrame -> a LayoutFr...etc... borderWidth: 1 borderColor: (Color r: 0.667 g: 0.667 b: 0.667) model: a Debugger slotName: nil open: false scrollBar: a ScrollBar(3011) scroller: a TransformMorph(3775) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #contextStackMenu:shifted: getMenuTitleSelector: #messageListSelectorTitle hasFocus: true hScrollBar: a ScrollBar(2791) list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc... getListSelector: #contextStackList getListSizeSelector: nil getListElementSelector: nil getIndexSelector: #contextStackIndex setIndexSelector: #toggleContextStackIndex: keystrokeActionSelector: #contextStackKey:from: autoDeselect: true lastKeystrokeTime: 0 lastKeystrokes: '' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: a LazyListMorph(1316) hScrollRangeCache: nil
MouseButtonEvent>>sentTo: Receiver: [206@151 mouseUp 103652 nil] Arguments and temporary variables: <<error during printing> Receiver's instance variables: timeStamp: 103652 source: a HandMorph(3216) windowIndex: nil type: #mouseUp buttons: 0 position: 206@151 handler: nil wasHandled: true whichButton: 4
PluggableListMorph(Morph)>>handleEvent: Receiver: a PluggableListMorph(1072) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 18@31 corner: 608@201 owner: a SystemWindow(3468) submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775)) fullBounds: nil color: Color white extension: a MorphExtension (973) [locked] [other: (layoutFrame -> a LayoutFr...etc... borderWidth: 1 borderColor: (Color r: 0.667 g: 0.667 b: 0.667) model: a Debugger slotName: nil open: false scrollBar: a ScrollBar(3011) scroller: a TransformMorph(3775) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #contextStackMenu:shifted: getMenuTitleSelector: #messageListSelectorTitle hasFocus: true hScrollBar: a ScrollBar(2791) list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc... getListSelector: #contextStackList getListSizeSelector: nil getListElementSelector: nil getIndexSelector: #contextStackIndex setIndexSelector: #toggleContextStackIndex: keystrokeActionSelector: #contextStackKey:from: autoDeselect: true lastKeystrokeTime: 0 lastKeystrokes: '' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: a LazyListMorph(1316) hScrollRangeCache: nil
MorphicEventDispatcher>>dispatchDefault:with: Receiver: a MorphicEventDispatcher Arguments and temporary variables: <<error during printing> Receiver's instance variables: lastType: #mouseUp lastDispatch: #dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with: Receiver: a MorphicEventDispatcher Arguments and temporary variables: <<error during printing> Receiver's instance variables: lastType: #mouseUp lastDispatch: #dispatchDefault:with:
PluggableListMorph(Morph)>>processEvent:using: Receiver: a PluggableListMorph(1072) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 18@31 corner: 608@201 owner: a SystemWindow(3468) submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775)) fullBounds: nil color: Color white extension: a MorphExtension (973) [locked] [other: (layoutFrame -> a LayoutFr...etc... borderWidth: 1 borderColor: (Color r: 0.667 g: 0.667 b: 0.667) model: a Debugger slotName: nil open: false scrollBar: a ScrollBar(3011) scroller: a TransformMorph(3775) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #contextStackMenu:shifted: getMenuTitleSelector: #messageListSelectorTitle hasFocus: true hScrollBar: a ScrollBar(2791) list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc... getListSelector: #contextStackList getListSizeSelector: nil getListElementSelector: nil getIndexSelector: #contextStackIndex setIndexSelector: #toggleContextStackIndex: keystrokeActionSelector: #contextStackKey:from: autoDeselect: true lastKeystrokeTime: 0 lastKeystrokes: '' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: a LazyListMorph(1316) hScrollRangeCache: nil
PluggableListMorph(Morph)>>processEvent: Receiver: a PluggableListMorph(1072) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 18@31 corner: 608@201 owner: a SystemWindow(3468) submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775)) fullBounds: nil color: Color white extension: a MorphExtension (973) [locked] [other: (layoutFrame -> a LayoutFr...etc... borderWidth: 1 borderColor: (Color r: 0.667 g: 0.667 b: 0.667) model: a Debugger slotName: nil open: false scrollBar: a ScrollBar(3011) scroller: a TransformMorph(3775) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #contextStackMenu:shifted: getMenuTitleSelector: #messageListSelectorTitle hasFocus: true hScrollBar: a ScrollBar(2791) list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc... getListSelector: #contextStackList getListSizeSelector: nil getListElementSelector: nil getIndexSelector: #contextStackIndex setIndexSelector: #toggleContextStackIndex: keystrokeActionSelector: #contextStackKey:from: autoDeselect: true lastKeystrokeTime: 0 lastKeystrokes: '' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: a LazyListMorph(1316) hScrollRangeCache: nil
PluggableListMorph>>handleFocusEvent: Receiver: a PluggableListMorph(1072) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 18@31 corner: 608@201 owner: a SystemWindow(3468) submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775)) fullBounds: nil color: Color white extension: a MorphExtension (973) [locked] [other: (layoutFrame -> a LayoutFr...etc... borderWidth: 1 borderColor: (Color r: 0.667 g: 0.667 b: 0.667) model: a Debugger slotName: nil open: false scrollBar: a ScrollBar(3011) scroller: a TransformMorph(3775) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #contextStackMenu:shifted: getMenuTitleSelector: #messageListSelectorTitle hasFocus: true hScrollBar: a ScrollBar(2791) list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc... getListSelector: #contextStackList getListSizeSelector: nil getListElementSelector: nil getIndexSelector: #contextStackIndex setIndexSelector: #toggleContextStackIndex: keystrokeActionSelector: #contextStackKey:from: autoDeselect: true lastKeystrokeTime: 0 lastKeystrokes: '' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: a LazyListMorph(1316) hScrollRangeCache: nil
[] in HandMorph>>sendFocusEvent:to:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 352@84 corner: 368@100 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 352@84 corner: 368@100 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: a PluggableButtonMorph(1282) eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [352@84 mouseUp 109252 nil] targetOffset: 40@23 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '' lastEventBuffer: #(1 109252 352 84 0 0 0 1) lastKeyScanCode: 2 combinedChar: nil
[] in PasteUpMorph>>becomeActiveDuring: Receiver: a PasteUpMorph(1622) [world] Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 0@0 corner: 1102@896 owner: nil submorphs: an Array(a TaskbarMorph(3095) a SystemProgressMorph(3746) a PreDebug...etc... fullBounds: nil color: (Color r: 0.97 g: 0.98 b: 1.0) extension: a MorphExtension (2543) [eventHandler = an EventHandler] [other: (...etc... borderWidth: 0 borderColor: (Color r: 0.03 g: 0.02 b: 0.0) presenter: a Presenter (1246) model: a MorphicModel(1926) cursor: 1 padding: 3 backgroundMorph: nil isPartsBin: nil autoLineLayout: false indicateCursor: nil resizeToFit: nil wantsMouseOverHalos: nil worldState: a WorldState griddingOn: nil
BlockClosure>>on:do: Receiver: [closure] in PasteUpMorph>>becomeActiveDuring: Arguments and temporary variables: <<error during printing> Receiver's instance variables: outerContext: PasteUpMorph>>becomeActiveDuring: startpc: 111 numArgs: 0
PasteUpMorph>>becomeActiveDuring: Receiver: a PasteUpMorph(1622) [world] Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 0@0 corner: 1102@896 owner: nil submorphs: an Array(a TaskbarMorph(3095) a SystemProgressMorph(3746) a PreDebug...etc... fullBounds: nil color: (Color r: 0.97 g: 0.98 b: 1.0) extension: a MorphExtension (2543) [eventHandler = an EventHandler] [other: (...etc... borderWidth: 0 borderColor: (Color r: 0.03 g: 0.02 b: 0.0) presenter: a Presenter (1246) model: a MorphicModel(1926) cursor: 1 padding: 3 backgroundMorph: nil isPartsBin: nil autoLineLayout: false indicateCursor: nil resizeToFit: nil wantsMouseOverHalos: nil worldState: a WorldState griddingOn: nil
HandMorph>>sendFocusEvent:to:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 352@84 corner: 368@100 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 352@84 corner: 368@100 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: a PluggableButtonMorph(1282) eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [352@84 mouseUp 109252 nil] targetOffset: 40@23 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '' lastEventBuffer: #(1 109252 352 84 0 0 0 1) lastKeyScanCode: 2 combinedChar: nil
HandMorph>>sendEvent:focus:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 352@84 corner: 368@100 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 352@84 corner: 368@100 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: a PluggableButtonMorph(1282) eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [352@84 mouseUp 109252 nil] targetOffset: 40@23 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '' lastEventBuffer: #(1 109252 352 84 0 0 0 1) lastKeyScanCode: 2 combinedChar: nil
HandMorph>>sendMouseEvent: Receiver: a HandMorph(3216) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 352@84 corner: 368@100 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 352@84 corner: 368@100 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: a PluggableButtonMorph(1282) eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [352@84 mouseUp 109252 nil] targetOffset: 40@23 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '' lastEventBuffer: #(1 109252 352 84 0 0 0 1) lastKeyScanCode: 2 combinedChar: nil
HandMorph>>handleEvent: Receiver: a HandMorph(3216) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 352@84 corner: 368@100 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 352@84 corner: 368@100 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: a PluggableButtonMorph(1282) eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [352@84 mouseUp 109252 nil] targetOffset: 40@23 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '' lastEventBuffer: #(1 109252 352 84 0 0 0 1) lastKeyScanCode: 2 combinedChar: nil
HandMorph>>processEvents Receiver: a HandMorph(3216) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 352@84 corner: 368@100 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 352@84 corner: 368@100 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: a PluggableButtonMorph(1282) eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [352@84 mouseUp 109252 nil] targetOffset: 40@23 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '' lastEventBuffer: #(1 109252 352 84 0 0 0 1) lastKeyScanCode: 2 combinedChar: nil
--- The full stack --- Array(Object)>>error: Array(Object)>>errorSubscriptBounds: Array(Object)>>at: Decompiler>>pushTemporaryVariable: Decompiler(InstructionStream)>>interpretNextInstructionFor: Decompiler>>interpretNextInstructionFor: Decompiler>>statementsTo: Decompiler>>blockTo: Decompiler>>decompile:in:method:using: Decompiler>>decompile:in:method: CompiledMethod>>getSourceFor:in: CompiledMethod>>methodNode [] in DebuggerMethodMap class>>forMethod: WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent: DebuggerMethodMap class>>forMethod: CompiledMethod>>debuggerMap MethodContext(InstructionStream)>>debuggerMap Debugger>>selectedMessage Debugger>>contextStackIndex:oldContextWas: Debugger>>toggleContextStackIndex: PluggableListMorph>>changeModelSelection: PluggableListMorph>>mouseUp: PluggableListMorph(Morph)>>handleMouseUp: MouseButtonEvent>>sentTo: PluggableListMorph(Morph)>>handleEvent: MorphicEventDispatcher>>dispatchDefault:with: MorphicEventDispatcher>>dispatchEvent:with: PluggableListMorph(Morph)>>processEvent:using: PluggableListMorph(Morph)>>processEvent: PluggableListMorph>>handleFocusEvent: [] in HandMorph>>sendFocusEvent:to:clear: [] in PasteUpMorph>>becomeActiveDuring: BlockClosure>>on:do: PasteUpMorph>>becomeActiveDuring: HandMorph>>sendFocusEvent:to:clear: HandMorph>>sendEvent:focus:clear: HandMorph>>sendMouseEvent: HandMorph>>handleEvent: HandMorph>>processEvents - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [] in WorldState>>doOneCycleNowFor: Array(SequenceableCollection)>>do: WorldState>>handsDo: WorldState>>doOneCycleNowFor: WorldState>>doOneCycleFor: PasteUpMorph>>doOneCycle [] in Project class>>spawnNewProcess [] in BlockClosure>>newProcess ------------------------------------------------------------
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
On 2009-12-05, at 9:46 PM, Laval Jannik wrote:
I added object class = BlockClosure ifTrue: [(object instVarAt: 3) ifNotNil: ["May need to adjust PC and startPC if changing wordSize..." results at: 2 put: (block value: (object instVarAt: 2)+(self pcDeltaForMethod: object method) value: 2)]].
Oops should be object class = BlockClosure ifTrue: ["May need to adjust PC and startPC if changing wordSize..." results at: 2 put: (block value: (object instVarAt: 2)+(self pcDeltaForMethod: object method) value: 2)]. Post your current change set so we can see However that just gives me, which is where I was earlier. -- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
Hi, I have the same behavior. Now, I don't know what I can do with this. I don't see what is wrong. arghhh.... Cheers, Jannik
Oops should be
object class = BlockClosure ifTrue: ["May need to adjust PC and startPC if changing wordSize..." results at: 2 put: (block value: (object instVarAt: 2)+(self pcDeltaForMethod: object method) value: 2)].
Post your current change set so we can see
However that just gives me, which is where I was earlier.
<PastedGraphic-2.tiff>
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
--- Jannik Laval PhD Student - Rmod Team - INRIA Certified Project Management Associate (IPMA) http://www.jannik-laval.eu http://rmod.lille.inria.fr ---
Eliot and I spent 30 minutes chatting about what is wrong. The conclusion is we *think* we are doing the right thing, yet the Virtual Machine says the image is busted. So a quick fix is not apparent, and we'll dig more. On 2009-12-05, at 11:42 PM, John M McIntosh wrote:
On 2009-12-05, at 9:46 PM, Laval Jannik wrote:
I added object class = BlockClosure ifTrue: [(object instVarAt: 3) ifNotNil: ["May need to adjust PC and startPC if changing wordSize..." results at: 2 put: (block value: (object instVarAt: 2)+(self pcDeltaForMethod: object method) value: 2)]].
Oops should be
object class = BlockClosure ifTrue: ["May need to adjust PC and startPC if changing wordSize..." results at: 2 put: (block value: (object instVarAt: 2)+(self pcDeltaForMethod: object method) value: 2)].
Post your current change set so we can see
However that just gives me, which is where I was earlier.
<PastedGraphic-2.tiff>
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
Hi John, I see this method: ------------ fixedPlusIndexableSizeFor: object "Return my total number of fields" (object isContextPart) ifTrue: [^ object class instSize + object frameSize]. object isCompiledMethod ifTrue: [^ object basicSize + (self pcDeltaForMethod: object)]. ^ object class instSize + object basicSize ------------- So maybe it needs a line like: ------------- (object class = BlockClosure) ifTrue: [^ object class instSize + (self pcDeltaForMethod: object method)]. ------------- But this one does not work.... Do you have an idea ? Or maybe I am not on the good way. Cheers, Jannik On Dec 7, 2009, at 04:59 , John M McIntosh wrote:
Eliot and I spent 30 minutes chatting about what is wrong. The conclusion is we *think* we are doing the right thing, yet the Virtual Machine says the image is busted. So a quick fix is not apparent, and we'll dig more.
On 2009-12-05, at 11:42 PM, John M McIntosh wrote:
On 2009-12-05, at 9:46 PM, Laval Jannik wrote:
I added object class = BlockClosure ifTrue: [(object instVarAt: 3) ifNotNil: ["May need to adjust PC and startPC if changing wordSize..." results at: 2 put: (block value: (object instVarAt: 2)+(self pcDeltaForMethod: object method) value: 2)]].
Oops should be
object class = BlockClosure ifTrue: ["May need to adjust PC and startPC if changing wordSize..." results at: 2 put: (block value: (object instVarAt: 2)+(self pcDeltaForMethod: object method) value: 2)].
Post your current change set so we can see
However that just gives me, which is where I was earlier.
<PastedGraphic-2.tiff>
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
RIght and it's 12:30 am again, So the MAGIC fixes for the tracer to let you build a 64bit Pharo image are below. No doubt they apply to closure based squeak trunk images. Could someone can be kind enough to integrate them into the current System-Tracing.2forPharo.cs ? Then some people in Europe? can grab the current Pharo/Trunk image and convert it, and run some smoke tests. BTW you need to use the Squeak.5.0.0.b9.64*64.app.zip to run a 64bit image Don't forget to convert you have to use a powerpc, or a squeak VM that is running as powerpc (via get info settings) on your macintel machine. Still need someone to *fix* the systemtracer so it will run on intel machines. (Hint watch how it writes out integer data). ... Changes below: "This is the magic change, it's not the conversion of the image that is bad. It's the Smalltalk code assumption of is that 4 or 8 bytes? " "There likely should be a Pharo/Squeak bug for this since it should be using wordSize not a magic number of 4" Eliot notes "Bravo! But Smalltalk wordSize has to be implemented in some way that caches the value in e.g. a class variable (or class inst var for max speed) that is reevaluated on startup." So I'll let someone propose/write a clever solution since the Smalltalk wordSize is computational heavy. CompiledMethod>>initialPC "Answer the program counter for the receiver's first bytecode." ^ (self numLiterals + 1) * (Smalltalk wordSize) + 1 "This next method isn't used much, should be. But the System-Tracing.2forPharo.cs trashes it with a ancient version. This is the correct version" SystemDictionary>>wordSize "Answer the size (in bytes) of an object pointer." "Smalltalk wordSize" ^[SmalltalkImage current vmParameterAt: 40] on: Error do: [4] "Changes to properly fix up BlockClosure in the SystemTracer2" SystemTracer2>>object: object allFieldsWithIndex: block collect: sequenceableCollectionClass "Evaluate block against each of the pointer fields with index, and collect the results in an instance of sequenceableCollectionClass" | fixedSize results varSize nilResults blockvalue | object isCompiledMethod ifTrue: [results := sequenceableCollectionClass new: 1 + object numLiterals. 1 to: 1 + object numLiterals do: [:j | results at: j put: (block value: (object objectAt: j) value: j)]. ^ results]. fixedSize := object class instSize. varSize := object basicSize. results := sequenceableCollectionClass new: fixedSize + varSize. 1 to: fixedSize do: [:j | results at: j put: (block value: (object instVarAt: j) value: j)]. 1 to: varSize do: [:j | results at: fixedSize + j put: (block value: (object basicAt: j) value: fixedSize + j)]. object isContextPart ifTrue: [(object instVarAt: 2) ifNotNil: ["May need to adjust PC and startPC if changing wordSize..." blockvalue := (object instVarAt: 2)+(self pcDeltaForMethod: object method). results at: 2 put: (block value: blockvalue value: 2)]. ((object isMemberOf: BlockContext) and: [object home notNil]) ifTrue: [results at: 5 put: (block value: (object instVarAt: 5)+(self pcDeltaForMethod: object method) value: 5)]. "Need to fill out the nils beyond the knowable end of stack" nilResults := sequenceableCollectionClass new: object frameSize - object basicSize. 1 to: nilResults size do: [:j | nilResults at: j put: (block value: nil value: j)]. ^ results , nilResults]. object class = BlockClosure ifTrue: ["May need to adjust PC and startPC if changing wordSize..." blockvalue := (object instVarAt: 2)+(self pcDeltaForMethod: object method). results at: 2 put: (block value: blockvalue value: 2)]. ^ results
Eliot and I spent 30 minutes chatting about what is wrong. The conclusion is we *think* we are doing the right thing, yet the Virtual Machine says the image is busted. So a quick fix is not apparent, and we'll dig more.
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
Obviously some bored developer should take one of these handy 64bit images and with a 64bit vm fire it up and create oh mmm let's say a 10GB image? Just to see, don't forget to save it and reopen, do a garbage collect all... Can't recall hearing of anyone trying an image greater than 2 GB... If you show proof of a 100GB image, then I'll buy you a beer at the next ESUG. On 2009-12-16, at 12:48 AM, John M McIntosh wrote:
So the MAGIC fixes for the tracer to let you build a 64bit Pharo image are below.
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
Hi john I'm sure that jannik (which is not bored) can generate huge images :) Stef On Dec 16, 2009, at 9:54 AM, John M McIntosh wrote:
Obviously some bored developer should take one of these handy 64bit images and with a 64bit vm fire it up and create oh mmm let's say a 10GB image? Just to see, don't forget to save it and reopen, do a garbage collect all...
Can't recall hearing of anyone trying an image greater than 2 GB...
If you show proof of a 100GB image, then I'll buy you a beer at the next ESUG.
On 2009-12-16, at 12:48 AM, John M McIntosh wrote:
So the MAGIC fixes for the tracer to let you build a 64bit Pharo image are below.
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Wed, Dec 16, 2009 at 9:54 PM, John M McIntosh <johnmci@smalltalkconsulting.com> wrote:
Obviously some bored developer should take one of these handy 64bit images and with a 64bit vm fire it up and create oh mmm let's say a 10GB image? Â Just to see, don't forget to save it and reopen, do a garbage collect all...
Can't recall hearing of anyone trying an image greater than 2 GB...
If you show proof of a 100GB image, then I'll buy you a beer at the next ESUG.
Do you have a computer with 100GB of memory I could borrow? :-). Gulik. -- http://gulik.pbwiki.com/
On 17 Dec 2009, at 02:19, Michael van der Gulik wrote:
On Wed, Dec 16, 2009 at 9:54 PM, John M McIntosh <johnmci@smalltalkconsulting.com> wrote:
Obviously some bored developer should take one of these handy 64bit images and with a 64bit vm fire it up and create oh mmm let's say a 10GB image? Just to see, don't forget to save it and reopen, do a garbage collect all...
Can't recall hearing of anyone trying an image greater than 2 GB...
If you show proof of a 100GB image, then I'll buy you a beer at the next ESUG.
Do you have a computer with 100GB of memory I could borrow? :-).
Gulik.
Possibly Keith
Well I did visit the network operations centre for Sprint once, and the main computer in the bunker was *rather* interesting. But it could be interesting to see if os-x with 200GB of free disk space would let you expand the swap space to 100GB. Unfortunately you'll need to page in/out all 100GB of memory, that could take awhile. On 2009-12-16, at 6:19 PM, Michael van der Gulik wrote:
On Wed, Dec 16, 2009 at 9:54 PM, John M McIntosh <johnmci@smalltalkconsulting.com> wrote:
Obviously some bored developer should take one of these handy 64bit images and with a 64bit vm fire it up and create oh mmm let's say a 10GB image? Just to see, don't forget to save it and reopen, do a garbage collect all...
Can't recall hearing of anyone trying an image greater than 2 GB...
If you show proof of a 100GB image, then I'll buy you a beer at the next ESUG.
Do you have a computer with 100GB of memory I could borrow? :-).
Gulik.
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
Hi, (cc to vm-dev list) The 64-bit image that I provided is a direct descendent of the original one that was produced by Dan and Ian. Original 64-bit image: http://squeakvm.org/squeak64/dist3/Squeak64-3.8g-6548.image.tar.gz My update: http://squeakvm.org/squeak64/sq64-dtl.zip The original one was produced with a specialized system tracer, the code for which is here: http://squeakvm.org/squeak64/dist3/ChangeSets/System-Tracing.2.cs I did *not* use the system tracer to produce the updated image. Instead, it is the original image with various updates that I made over the years to keep up with VM developments (which were not entirely backward compatible). The original image will not run on a current VM, and that is the reason that I posted my update. The system tracer (including the specialized 64-bit one) does not work on little-endian machines. Somebody (tm) should fix this one of these days. There are a couple of Mantis reports related to this: http://bugs.squeak.org/view.php?id=5240 http://bugs.squeak.org/view.php?id=5239 As far as producing a 64-bit Pharo image, I think there are two things that could be tried: 1) Fix the system tracer to work on little-endian boxes (probably not too difficult), then try tracing some Pharo and Squeak images into 64-bit format. 2) Find somebody who has a big-endian Mac available, and have them try tracing some images. I can think of no reason why the newer images with closure support could not be traced into 64-bit formats, but I guess the only way to find out is to try it and see what happens. Dave On Fri, Dec 04, 2009 at 01:39:28PM -0800, John M McIntosh wrote:
I think David Lewis made the last one, let's cc him.
Perhaps the process would be
Examine the squeak image. take the required source that does the system tracing someone make a MC project (no idea if one exists?)
a) file that into a Pharo image. b) Correct things like references to Smalltalk, versus SmalltalkImage current c) run it. d) place 64bit image on pharo server.
I note to run the system tracer you need to run it either on a PowerPC. Or on a MacIntel using a 4.x series macintosh VM, make a copy, do a get info on the VM check "Open using Rosetta"
If "Open using Rosetta" is not an option and you are running 10.6 then it is likely you did not install Rosetta when you upgraded/installed 10.6. You need to find your 10.6 DVD and lookup how to install Rosetta after installing 10.6
PS yes you could use a 10.5 series VM for this too.
However to complicate things I don't think anyone has done a Closure based image and I don't know if that will be a problem. You could take a pre-closure Pharo image and try it just to get past the point where having the SystemTracer code in a MC is done.
On 2009-12-04, at 1:23 PM, Laval Jannik wrote:
Hi Alex,
PharoCore is a 32bits image. So it works on Squeak.5.0.0.b9.64*32.app.
I see that Squeak has a 64bits fork image, is it possible to have a Pharo one? What is the process to do this ?
Cheers, Jannik
Pharo core is a 32bit image, unless someone kindly converted it to a 64bit image last night? Hint I"m not going to do this. Therefore you must use the 64*32.app. As a reminder The VM binary runs either in 32 bit or 64 bit mode. The VM then reads and interprets a squeak.image, the squeak image can be either 32bit or 64bit. This leads to 4 different combinations plus the fact that PowerPC 32, and Intel is 32/64 or just 32. Unfortunately building a VM that deals both with a 32bit and a 64bit at the same time is difficult. Therefore we have two flavours a VM that reads a 32bit image, and a VM that reads a 64bit image. The 64*32.app will run 32bit squeak images where a squeak word size is 32 bits. it runs as a PowerPC 32 bit, Intel 32bit, Intel 64bit. The 64*64.app will run 64bit squeak images where a squeak word size is 64bits it runs only as a Intel 64bit. It is possible that it could run on a 32bit powerpc, 32bit intel, but frankly I'm not going to check that out yet until we get to the point of having a workable 64bit Pharo image. Thus in the *near*? future I would like to have a VM that runs in 32 or 64 bit mode that works with 32bit images, and a VM that runs in 32 or 64 bit mode that works with 64bit images. On 2009-12-04, at 11:50 AM, Alexandre Bergel wrote:
Hi!
I just tried Squeak.5.0.0.b9.64*64.app.zip, but I was not able to run a pharo core on it. I have a MacBookPro 10.5.8. I do not know whether this is helpful or not. Feel free to ask more info about my config.
Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
participants (7)
-
Alexandre Bergel -
David T. Lewis -
John M McIntosh -
keith -
Laval Jannik -
Michael van der Gulik -
Stéphane Ducasse