A strange Squeak bug

Boris Gaertner Boris.Gaertner at gmx.net
Mon Feb 7 12:18:40 UTC 2005


"Samir Saidani" <saidani at info.unicaen.fr> wrote:


> Hi there,
> 
> During a coding party, a student caused a quite strange bug easy to
> reproduce in the stable squeak 3.7 :
> 
> In a workspace, 
> LanguageEditor := Morph new. (for instance)
> 
This assignment destroys a class definition. The unpleasant
thing is that after evaulation of the statement, LanguageEditor
is still an entry in the system dictionary, but its value
is not a class anymore. This causes the browser failure
that you reported.

> Anyway I didn't manage to get rid of this bug.
Destruction of a live-critical class will cause
irreparable damage to your image. (Sounds like
a warning on a cigarette box  :-)  )
I think you have to file in a complete change set for the
destroyed definition to restore the image. Image restauration
may be entirely impossible when you have destroyed a
class that is really fundamental. 

> Ideas ?

It is perhaps desireable to have a paser that tells you that
you should not assign a value to a class. Attached you find a
very tentative attempt to do that, but frankly spoken, I hope
that the maintainers of the compiler will say a word about
such changes.

Gretings, Boris
-------------- next part --------------
A non-text attachment was scrubbed...
Name: AvoidAssignmentToClass.1.cs
Type: application/octet-stream
Size: 1145 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20050207/ad539872/AvoidAssignmentToClass.1.obj


More information about the Squeak-dev mailing list