Potential bug in becomeForward:, need help!

Chris Muller afunkyobject at yahoo.com
Sat May 18 18:42:45 UTC 2002


Hi Randal, none of my proxies can understand #hash.  I didn't want to have to
deal with knowing which Sets to rehash.

>From my understanding of what Bob said, every object in Squeak is represented
by a "buffer" in memory, which holds information about it.  It's class pointer,
its instance variable pointers, and its identityHash value.

Well, when you tell anObject to becomeForward: anotherObject, anotherObject
seems to be getting its identityHash value changed.  I consider this a real
problem because it is effectively changing the object-identity of the target
object.  Only the RECEIVER is supposed to have its identity changed.

And the identity of any Symbol should *never* change within the same image
session.



--- "Randal L. Schwartz" <merlyn at stonehenge.com> wrote:
> >>>>> "Chris" == Chris Muller <afunkyobject at yahoo.com> writes:
> 
> 
> Chris> Ehh, do you think it would work?  For added safety, maybe it would be
> worth the
> Chris> cost to verify what we find respondsTo: #rehash..
> 
> It would seem the problem is that #hash is being processed locally,
> rather than being forwarded to the real object.  Can't #hash
> be trapped and handled specially?  How in the world is the IdentitySet
> getting the hash value of the forwarder instead of the final object?
> 
> -- 
> Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
> <merlyn at stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
> Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
> See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!


__________________________________________________
Do You Yahoo!?
LAUNCH - Your Yahoo! Music Experience
http://launch.yahoo.com



More information about the Squeak-dev mailing list