Bug in Dynamic Protocols?

Michael Fremont fremontmj at gmail.com
Mon Oct 15 19:25:33 UTC 2007


Damien,

Thanks for looking into this.

I have now downloaded the same image you're using.  I make no changes
to it whatsoever.  Doing 'SystemNavigation default obsoleteClasses'
returns an empty array.

Then I make a new class 'Test'.  I delete it by doing: 'Test
removeFromSystemUnlogged' in a workspace.
Now 'SystemNavigation default obsoleteClasses' returns (AnObsoleteTest).

Using PointerFinder I see that DPRecentlyModified's cache is holding a
reference to the deleted class.

Perhaps the problem is I'm not deleting the class through the browser?

I also noticed that turning off dynamicProtocolActivation in the
Preference Browser doesn't make a difference; and if I make a method
with 'self halt' in it, the OB shows a red flag for that method, even
though I turned off BOTH dynamicProtocolActivation AND Debugging.
Very strange.

Best regards,

Mike

On 10/14/07, Damien Cassou <damien.cassou at gmail.com> wrote:
> Hi Michael,
>
> I can't reproduce the bug. I use a sq3.10-7158dev07.10.2.
>
> 1) Dynamic protocols and the Debugging protocol are activated
> 2) I create a Test class with a #test method containing 'self halt.
> 3) 'DPDebugging cache' now associates a set containing #test on the class Test.
> 4) If I remove the class, 'DPDebugging cache' does not contain the
> pair class->set anymore.
>
> Can you try again and tell me where your experience differs from mine?
> Also, can you try with a more recent version of DynamicProtocols
> and/or squeak-dev?
>
> Thank you
>
> 2007/10/12, Michael Fremont <fremontmj at gmail.com>:
> > I believe I've found a bug in the Debugging protocol.  If I have a
> > selector with a 'self halt' in it, and then delete the class, the
> > dynamic protocols cache still holds a reference to the deleted class.
> > I land up with a new ObsoleteMethod.
> >
> > This happens even though I have dynamic protocols turned off!
> >
> > I don't know, but it's likely the other dynamic methods have a similar problem.
> >
> > Best,
> >
> > Mike
> >
> >
>
>
> --
> Damien Cassou
>
>



More information about the Squeak-dev mailing list