That's me.
While investigating condenseChanges I found that some of the trait methods had non-shared compiled methods in the classes using them, even when not local to the classes using them. After further delving, methods that call super have their own compiled method (legitimate) but some without super calls also did (not good). These extra compiled methods share the source code pointer and so, when filed out (a subsequent time), refer to the old changes file with the new changes pointer.
By manually fixing up the trait usage via #notifyUsersofChangedSelectors: for all local (trait) methods I was able to get it to the point where my suggestion for a revised #moveChangesTo: method managed to condense the changes correctly (subject to other issues addressed elsewhere).
Saved my bacon since running into the 32MB limit.
-----Original Message----- From: squeak-dev-bounces@lists.squeakfoundation.org [mailto:squeak-dev-bounces@lists.squeakfoundation.org]On Behalf Of Adrian Lienhard Sent: 07 July 2006 12:15 PM To: The general-purpose Squeak developers list Subject: Re: Patch request for 7036
Hi Pavel,
I started looking into the condenseChanges problem (http:// bugs.impara.de/view.php?id=3737).
In the IRC log which is attached to the Mantis report there is some talk about inconsistencies with the Traits structure in memory (and some code which should fix this). I'd like to understand what is wrong. Do you know more? Or do you know who is "Gazza" resp. "guru'?
Cheers, Adrian
On Jun 30, 2006, at 12:19 , Pavel Krivanek wrote:
Hi Stef,
can you put this two patches into the next 3.9a release?
condenseChanges fix is related to http://bugs.impara.de/view.php? id=3737
- this patch doesn't solve all problems of condenseChanges routine but
it's better than nothing.
AsyncFile fix simply renames class variable named Error to ErrorCode. The first name collides with global class name.
This will help me to update self-bootstrapping environment for Squeak 3.9 and make its public repository (http://www.squeaksource.com/KernelImage.html) usable.
-- Pavel
<condenseChanges fix.st> <AsyncFile fix.cs>