Well.....the maximum I got after a couple of hours is to be able to reproduce it executing TWO times (because the first one works) the following:

"code that geenrates the bug"
HashedCollection compactAll.
Smalltalk removeEmptyMessageCategories.

"Code to test the bug"
��� Smalltalk
��� ��� allClassesAndTraitsDo: [ :class |
��� ��� ��� [ :each |
��� ��� ��� ��� each
��� ��� ��� ��� ��� removeEmptyCategories;
��� ��� ��� ��� ��� sortCategories ]
��� ��� ��� ��� ��� ��� value: class organization;
��� ��� ��� ��� ��� ��� value: class class organization ].
��� ��� ��� ��� ���

If I do only� HashedCollection compactAll or only Smalltalk removeEmptyMessageCategories., there is no problem, I can execute the rest without problems. If I do both (no matter which order), then the error happens. Moreover, I tried:
(HashedCollection allSubclasses reject: [:each | each = MethodDictionary ]) do: #compactAllInstances.
and that does work (no errors). So...somehow, the compact of the MethodDictionary is affecting something...what it is weird is that it only fails if the other code is executed...

Anyway, any hint is appreciated.

Thanks



On Fri, Dec 16, 2011 at 8:24 PM, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
Hi guys. Somethine is very strange. I cannot do ScriptLoader new cleanUpForRelease because I get an error saying MessageNotUnderstood: ByteSymbol>>run:with:in:
So....all the info is here: http://code.google.com/p/pharo/issues/detail?id=5005
I checked and it is not related to methodDictionary rehash..... so, do you have in mind what can we be doing in cleanUpForRelease which causes tu put symbols in the value of the association of a MethodDictionary rather than a CompiledMethod ???

Thanks!

--
Mariano
http://marianopeck.wordpress.com




--
Mariano
http://marianopeck.wordpress.com