First aid for latest updates

Henrik Gedenryd h.gedenryd at open.ac.uk
Fri May 3 12:14:32 UTC 2002


Dan Ingalls wrote:

> Folks -
> 
> After running the latest updates in one of my images, I got an error during
> save and quit.  There is a method, forgetGrabCommandsInAllMorphs which
> enumerates all objects in the system, and then performs a check for those that
> are morphs.  In the process, isMorph gets sent to every object in your system.
> 
> I haven't yet figured out why, but some objects were newly obsolete in my
> image after reading in the latest updates (but it did not happen with several
> other images), thus causing an error during the enumeration.

> 
> - Dan

Well, the fix we put out *does* fool around with obsolete *classes*. But we
did test it on a few images, and also we don't understand why it would
affect this particular case since we don't think it obsoletes any new
classes. Still this is the obvious suspect.

However, we haven't been able to access the latest 3.3a updates so we
couldn't try it.

Henrik & Nathanael

PS: Besides fixing some methods in ClassBuilder, the ClassBuilderFix
changeset does the following cleanup:

- Making the class hierarchy consistent. This means that it ensures that
every regular (resp. obsolete) class is properly registered as a regular
(resp. obsolete) class of its superclass,

- Going through all the modules and removing all the weird String keys that
are referencing obsolete classes.

- Performing a garbage collection that gets rid of all the obsolete classes
that are not referenced anymore.

Perhaps this can provide a clue; maybe this cleanup exposes a lingering
problem?




More information about the Squeak-dev mailing list