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