AW: [VM] unstability
Bob Arning
arning at charm.net
Fri Feb 1 03:14:11 UTC 2002
On Thu, 31 Jan 2002 18:22:34 -0800 Scott Wallace <scott.wallace at squeakland.org> wrote:
>As you'll see, you are correct that it relates to the referencing
>mechanism in scripting. The point of departure -- the method from
>which, once entered in these "hang" conditions, one never returns --
>is Object.uniqueNameForReference.
Scott,
One problem is that Object>>uniqueNameForReference has a bug:
aName _ Utilities keyLike: stem satisfying:
[:jinaLake |
nameSym _ jinaLake asSymbol.
((References definedNames includesKey: nameSym) not and:
[(Module root moduleDefining: nameSym) notNil]) and:
[(knownClassVars includes: nameSym) not]].
will return a name that *is* defined by a module.
[(Module root moduleDefining: nameSym) notNil]) and:
should be
[(Module root moduleDefining: nameSym) isNil]) and:
If you want to see this in action, before you make the change, try
Morph new uniqueNameForReference
Do this once and you get #Morph. It will fail the second time because the name #Morph now refers to the instance of Morph created in the first test. Needless to say, don't do this on an image you care about.
Cheers,
Bob
More information about the Squeak-dev
mailing list
|