Hi,
I run in Squeak 3.7 full (InterpreterSimulator new openOn: Smalltalk imageName) test
But it failed quickly.
I searched the web and found that Nathanel alreardy pointed this bug in may 2004. But, found no fix. Any hint?
Noury -------------------------------------------------------------- Dr. Noury Bouraqadi - Enseignant/Chercheur Ecole des Mines de Douai - Dept. G.I.P http://csl.ensm-douai.fr/noury
European Smalltalk Users Group Board http://www.esug.org
Squeak: an Open Source Smalltalk http://www.squeak.org --------------------------------------------------------------
On Thursday 31 March 2005 4:52 am, Noury Bouraqadi wrote:
I run in Squeak 3.7 full (InterpreterSimulator new openOn: Smalltalk imageName) test
But it failed quickly.
Can you give us more details? The stack traces of the intpreter and the stack trace of the interpreted image, perhaps (you can get the stack from the InterpreterSimulator by calling printStack).
I searched the web and found that Nathanel alreardy pointed this bug in may 2004. But, found no fix. Any hint?
Yes. I was able to run the InterpreterSimulator in a recent 3.8g image (using a very recent VM) on a stock 3.7 image (prepared as described below) as the target image (with an MVC project open in the target image). Other than not seeing all the fonts rendered, it worked well enough to debug (very well, if you don't need the UI to work). I've attached a screenshot.
I got more or less the same results on a 3.8g target image prepared as below (i.e. no fonts displayed).
Follow the process below if you're interested:
I'd recommend trying a smaller image first (with the fonts changed as described below). In the target image (the one to be run in the InterpreterSimulator):
Revert the change to Project class>>interruptName: in the LowSpaceWatcherFix changeset if you have a recent image.
Change all the system fonts in the image that you're going to simulate to non-Truetype fonts. Close every window and save the image.
Make a new MVC or Morphic project (MVC will be faster, of course).
Destroy all the flaps if it's a Morphic project.
Load the MVCSupport.cs.gz fixes that Yoshiki posted on 14 March if you'd like to run MVC and have a recent image.
Change the desktop background color to something different than the host image's desktop color.
Save and quit.
In the host image:
First, get a 3.8 image and load the latest VMMaker package for 3.8 into it.
Revert the change in the LowSpaceWatcherFix changeset.
Save the image.
Open a Transcript
Then run the InterpreterSimulator as above on the target image:
(InterpreterSimulator new openOn: 'myTest.image') test
or if you run out of memory:
(InterpreterSimulator new openOn: 'myTest.image' extraMemory: 10000000) test
You may have to fiddle with the extraMemory setting.
Everything seems to work more or less well (that is, the InterpreterSimulator mostly works and keeps going; there may be some minor problems with individual plugins (like for instance the FloatArrayPlugin, which is why I suggested to eliminate TrueType fonts).
To find out what's going on:
Interrupt the running simulator using alt-.
Debug the interrrupted simulator.
Select a stack frame that has the InterpreterSimulator as a receiver.
Do-it: self printAllStacks
And you'll see all the stacks in the target image on the Transcript.
When I tried it the first time (in a Morphic project, with the default fonts), I didn't see a quick failure. It actually ran for a while before having a problem.
What I got is a walkback on trying to store a float (which in Smalltalk is 2 words) into the memory with #longAt:put:
Bitmap(Object)>>error: Bitmap(Object)>>errorImproperStore Bitmap(Object)>>at:put: InterpreterSimulatorLSB(InterpreterSimulator)>>longAt:put: CArray>>at:put: FloatArrayPlugin>>primitiveAtPut InterpreterSimulatorLSB(InterpreterSimulator)>>callExternalPrimitive: InterpreterSimulatorLSB(Interpreter)>>primitiveExternalCall InterpreterSimulatorLSB(InterpreterSimulator)>>dispatchFunctionPointer: InterpreterSimulatorLSB(Interpreter)>>internalExecuteNewMethod InterpreterSimulatorLSB(InterpreterSimulator)>>internalExecuteNewMethod InterpreterSimulatorLSB(Interpreter)>>commonSend InterpreterSimulatorLSB(Interpreter)>>normalSend InterpreterSimulatorLSB(Interpreter)>>bytecodePrimAtPut InterpreterSimulatorLSB(InterpreterSimulator)>>dispatchOn:in: InterpreterSimulatorLSB(InterpreterSimulator)>>test
And the stack of the interpreter is:
16r0269FA8C MatrixTransform2x3>>#a11: 16r0269FA30 MatrixTransform2x3>>#setScale: 16r0269F9D4 MatrixTransform2x3 class>>#withScale: 16r0269FCF0 TTGlyph>>#asFormWithScale:ascender:descender:fgColor:bgColor:depth:replaceColor:lineGlyph:lingGlyphWidth:empha 16r0269FBF4 TTGlyph>>#asFormWithScale:ascender:descender:fgColor:bgColor:depth:replaceColor: 16r0269F978 TTGlyph>>#asFormWithScale:ascender:descender:fgColor:bgColor:depth: 16r0269F2E8 TTCFont>>#computeForm: 16r0269F28C TTCFont>>#widthOf: 16r0269F230 AbstractFont>>#widthOfString:from:to: 16r0269F1D4 AbstractFont>>#widthOfString: 16r0269F178 StringMorph>>#measureContents 16r0269F0C0 StringMorph>>#fitContents 16r0269F064 StringMorph>>#font:emphasis: 16r0269E358 SystemWindow>>#initializeLabelArea 16r0269D3A0 SystemWindow>>#initialize 16r0269D344 PreDebugWindow>>#initialize 16r0269D2E8 SystemWindow class>>#labelled: 16r02656684 Debugger>>#buildMorphicNotifierLabelled:message: 16r02656604 Debugger>>#openNotifierContents:label: 16r02656338 [] in Debugger class>>#openOn:context:label:contents:fullView: 16r026562DC BlockContext>>#on:do: 16r02656118 [] in Debugger class>>#openOn:context:label:contents:fullView: 16r02656214 [] in BlockContext>>#newProcess
ned
I do not have the time to try that but thanks this looks great. By any chance did dan gave you his fix? The last time I saw him he told me that while doing the 64bits port he fixed a lot of problems and since then I tried to chase him so that he released these fixes. So when 3.8 is officially out I will restart, but you could help me there :)
Stef
On 31 mars 05, at 20:10, Ned Konz wrote:
On Thursday 31 March 2005 4:52 am, Noury Bouraqadi wrote:
I run in Squeak 3.7 full (InterpreterSimulator new openOn: Smalltalk imageName) test
But it failed quickly.
Can you give us more details? The stack traces of the intpreter and the stack trace of the interpreted image, perhaps (you can get the stack from the InterpreterSimulator by calling printStack).
I searched the web and found that Nathanel alreardy pointed this bug in may 2004. But, found no fix. Any hint?
Yes. I was able to run the InterpreterSimulator in a recent 3.8g image (using a very recent VM) on a stock 3.7 image (prepared as described below) as the target image (with an MVC project open in the target image). Other than not seeing all the fonts rendered, it worked well enough to debug (very well, if you don't need the UI to work). I've attached a screenshot.
I got more or less the same results on a 3.8g target image prepared as below (i.e. no fonts displayed).
Follow the process below if you're interested:
I'd recommend trying a smaller image first (with the fonts changed as described below). In the target image (the one to be run in the InterpreterSimulator):
Revert the change to Project class>>interruptName: in the LowSpaceWatcherFix changeset if you have a recent image.
Change all the system fonts in the image that you're going to simulate to non-Truetype fonts. Close every window and save the image.
Make a new MVC or Morphic project (MVC will be faster, of course).
Destroy all the flaps if it's a Morphic project.
Load the MVCSupport.cs.gz fixes that Yoshiki posted on 14 March if you'd like to run MVC and have a recent image.
Change the desktop background color to something different than the host image's desktop color.
Save and quit.
In the host image:
First, get a 3.8 image and load the latest VMMaker package for 3.8 into it.
Revert the change in the LowSpaceWatcherFix changeset.
Save the image.
Open a Transcript
Then run the InterpreterSimulator as above on the target image:
(InterpreterSimulator new openOn: 'myTest.image') test
or if you run out of memory:
(InterpreterSimulator new openOn: 'myTest.image' extraMemory:
test
You may have to fiddle with the extraMemory setting.
Everything seems to work more or less well (that is, the InterpreterSimulator mostly works and keeps going; there may be some minor problems with individual plugins (like for instance the FloatArrayPlugin, which is why I suggested to eliminate TrueType fonts).
To find out what's going on:
Interrupt the running simulator using alt-.
Debug the interrrupted simulator.
Select a stack frame that has the InterpreterSimulator as a receiver.
Do-it: self printAllStacks
And you'll see all the stacks in the target image on the Transcript.
When I tried it the first time (in a Morphic project, with the default fonts), I didn't see a quick failure. It actually ran for a while before having a problem.
What I got is a walkback on trying to store a float (which in Smalltalk is 2 words) into the memory with #longAt:put:
Bitmap(Object)>>error: Bitmap(Object)>>errorImproperStore Bitmap(Object)>>at:put: InterpreterSimulatorLSB(InterpreterSimulator)>>longAt:put: CArray>>at:put: FloatArrayPlugin>>primitiveAtPut InterpreterSimulatorLSB(InterpreterSimulator)>>callExternalPrimitive: InterpreterSimulatorLSB(Interpreter)>>primitiveExternalCall InterpreterSimulatorLSB(InterpreterSimulator)>>dispatchFunctionPointer: InterpreterSimulatorLSB(Interpreter)>>internalExecuteNewMethod InterpreterSimulatorLSB(InterpreterSimulator)>>internalExecuteNewMethod InterpreterSimulatorLSB(Interpreter)>>commonSend InterpreterSimulatorLSB(Interpreter)>>normalSend InterpreterSimulatorLSB(Interpreter)>>bytecodePrimAtPut InterpreterSimulatorLSB(InterpreterSimulator)>>dispatchOn:in: InterpreterSimulatorLSB(InterpreterSimulator)>>test
And the stack of the interpreter is:
16r0269FA8C MatrixTransform2x3>>#a11: 16r0269FA30 MatrixTransform2x3>>#setScale: 16r0269F9D4 MatrixTransform2x3 class>>#withScale: 16r0269FCF0 TTGlyph>>#asFormWithScale:ascender:descender:fgColor:bgColor:depth: replaceColor:lineGlyph:lingGlyphWidth:empha 16r0269FBF4 TTGlyph>>#asFormWithScale:ascender:descender:fgColor:bgColor:depth: replaceColor: 16r0269F978 TTGlyph>>#asFormWithScale:ascender:descender:fgColor:bgColor:depth: 16r0269F2E8 TTCFont>>#computeForm: 16r0269F28C TTCFont>>#widthOf: 16r0269F230 AbstractFont>>#widthOfString:from:to: 16r0269F1D4 AbstractFont>>#widthOfString: 16r0269F178 StringMorph>>#measureContents 16r0269F0C0 StringMorph>>#fitContents 16r0269F064 StringMorph>>#font:emphasis: 16r0269E358 SystemWindow>>#initializeLabelArea 16r0269D3A0 SystemWindow>>#initialize 16r0269D344 PreDebugWindow>>#initialize 16r0269D2E8 SystemWindow class>>#labelled: 16r02656684 Debugger>>#buildMorphicNotifierLabelled:message: 16r02656604 Debugger>>#openNotifierContents:label: 16r02656338 [] in Debugger class>>#openOn:context:label:contents:fullView: 16r026562DC BlockContext>>#on:do: 16r02656118 [] in Debugger class>>#openOn:context:label:contents:fullView: 16r02656214 [] in BlockContext>>#newProcess
-- Ned Konz http://bike-nomad.com/squeak/ <interpreterSimulator.png>
Noury Bouraqadi bouraqadi@ensm-douai.fr wrote:
Hi,
I run in Squeak 3.7 full (InterpreterSimulator new openOn: Smalltalk imageName) test
Yup. The simulator is far from perfect in 3.7 and much better in 3.8 and about to get quite a bit better when the 64bit VM enhancements get integrated into the next VMMaker release.
To the best of my knowledge the current VMMaker3.8 version of the simulator will reasonably well run an image setup to start in MVC mode.
tim -- Tim Rowledge, tim@sumeru.stanford.edu, http://sumeru.stanford.edu/tim Useful Latin Phrases:- Mihi ignosce. Cum homine de cane debeo congredi = Excuse me. I've got to see a man about a dog.
Thank you for your report. I have transferred your report to Squeak's Mantis Database and you can followup on the issue if desired by going to http://bugs.impara.de/view.php?id=1031 .
In the future please report new issues on Squeak's Mantis Database at http://bugs.impara.de/ .
Thanks!
On Thu, 2005-03-31 at 14:52 +0200, Noury Bouraqadi wrote:
Hi,
I run in Squeak 3.7 full (InterpreterSimulator new openOn: Smalltalk imageName) test
But it failed quickly.
I searched the web and found that Nathanel alreardy pointed this bug in may 2004. But, found no fix. Any hint?
Noury
squeak-dev@lists.squeakfoundation.org