GC Weirdness solved.

Bryce Kampjes bryce at kampjes.demon.co.uk
Sat Apr 3 22:18:43 UTC 2004


I've fixed my recursive doesNotUnderstand problem. Just ran the image
through the SystemTracer from SqueakMap.

The problem produced image crashes like:

    Recursive not understood error encountered
    
    1096064288 WeakKeyAssociation>key
    1096064196 WeakIdentityKeyDictionary>scanFor:
    1096064104 Set>findElementOrNil:
    1096064012 Dictionary>at:ifAbsent:
    1096063828 Object>myDependents
    1096063644 Object>dependents
    1096063552 Object>canDiscardEdits
    1096062448 [] in Object>canDiscardEdits
    1096062356 SequenceableCollection>do:without:

It is possible to reproduce these errors with a stock VM and
image. Use the latest 3.7 image with Ian's 3.4-2 VM.  I haven't been
able to test if this fix works for the stock VM problem because
SqueakMap is down. It does however fix my problem with my custom VMs
which wouldn't happen if my code was creating the corruption.

>From what I can tell, the image problem is in the stock images. It
doesn't normally cause problems. Here, I'm unlucky probably because
I'm calling "Smalltalk garbageCollect" frequently to test code that
interacts with the rootTable.

Many thanks to Andreas, Craig Latta , Brian Rice, and Jecel for help
here and on IRC.

Bryce



More information about the Squeak-dev mailing list