can't run VM simulation

Martin Kuball MartinKuball at web.de
Fri Nov 12 20:42:09 UTC 2004


Hi!

This is actually a followup to my message
"Error in CommandHistory>>#forgetAllGrabCommandsFrom:Am Wednesday". 
I'm still trying to find out what's going on. What I can say is that 
I can reliably create an object that is somehow broken. Maybe my 
usage of Object>>becomeForward: is wrong? After removing some classes 
I do:

Smalltalk obsoleteClasses do:
 [ :c |
    c allInstancesDo: [ :i | i becomeForward: nil ]
 ].
Smalltalk obsoleteClasses do:
 [ :c |
    c becomeForward: nil
 ].

After that the image is broken. I tried with 3.7 and 3.8beta. The 
effect is always the same.

I tried to start the VM simulation to inspect the situation when the 
error occurs. But when I start the simulation I always get the 
following error (regardless of the image I use):

Error: subscript is out of bounds: 0

Array(Object)>>errorSubscriptBounds:
Array(Object)>>at:
InterpreterSimulatorLSB(Interpreter)>>functionPointerFor:inClass:
InterpreterSimulatorLSB(Interpreter)>>addNewMethodToCache
InterpreterSimulatorLSB(Interpreter)>>internalFindNewMethod
InterpreterSimulatorLSB(Interpreter)>>commonSend
InterpreterSimulatorLSB(Interpreter)>>normalSend
InterpreterSimulatorLSB(Interpreter)>>secondExtendedSendBytecode
InterpreterSimulatorLSB(InterpreterSimulator)>>dispatchOn:in:
InterpreterSimulatorLSB(InterpreterSimulator)>>test

Any help is welcome.

Martin


10 November 2004 15:16 schrieb Martin Kuball:
> Hi!
>
> I'm trying to shrink a 3.7-5989 image a little bit. Well,
> everything goes fine until I want to quit the image. Then I get the
> following error message on the console window:
>
> Recursive not understood error encountered
>
> 1098846384 [] in CommandHistory class>forgetAllGrabCommandsFrom:
> 1098845824 BlockContext>on:do:
> 1098845356 BlockContext>ifError:
> 1098844784 CommandHistory class>forgetAllGrabCommandsFrom:
> 1098844600 CommandHistory class>resetAllHistory
> 1098844196 CommandHistory class>DoIt
> 1098826088 Compiler>evaluate:in:to:notifying:ifFail:logged:
> 1098826576 [] in ParagraphEditor>evaluateSelection
> 1098825892 BlockContext>on:do:
> 1098825156 ParagraphEditor>evaluateSelection
> 1098825064 ParagraphEditor>doIt
> 1098825340 [] in ParagraphEditor>doIt:
> [...]
>
> I examined the #forgetAllGrabCommandsFrom: method. It has an error
> handler. I added "self halt." to it. But this does not bring up the
> debugger nor does it change anything else.
> So what can I do to find the culprit?
>
> By the way, why do we iterate over all objects here instead of
> using Morph allSubInstancesDo: [...]?
>
> Martin



More information about the Squeak-dev mailing list