GC Weirdness solved.

Andres Valloud sqrmax at comcast.net
Sat Apr 3 22:27:35 UTC 2004


Hello Bryce,

Saturday, April 3, 2004, 2:18:43 PM, you wrote:

BK> I've fixed my recursive doesNotUnderstand problem. Just ran the image
BK> through the SystemTracer from SqueakMap.
BK> The problem produced image crashes like: <snip>

I remember running into a problem where an object's class was [String
new].  That didn't work very well.  Maybe my solution can help you
out.

What I did was to evaluate this in a workspace:

[self halt.  Smalltalk allObjectsDo: [:x | x yourself]] value

You get a debugger with the halt.  Simply skip over the halt and tell
the debugger to go ahead and continue.  Eventually, the simulation
crashes and you can find the object giving you grief.  Note that this
time the VM doesn't crash because it wasn't running code.  Just be careful
and don't inspect the bad object because chances are it could not respond to
anything.  Then, if you see it in a pane in the debugger (in this
case, x because it's the argument of the block that had trouble),
you can go to the pane and do something like String new become: x
(note become: is sent to String new, not x).  The garbage collect and
you should be done.

Andres.




More information about the Squeak-dev mailing list