> Now I try to reproduce it in
11128.
>
> I put a self halt in a method and execute the
method.
> And I got no problem.
> After I tried to select 'self
halt' + doit in the debugger itself and it worked too.
>
> Did you
have a way reproduce it systematically ?
>
> Stef
> On Dec
31, 2009, at 4:17 AM, Martin McClure wrote:
>
>> This one's
pretty nasty.
>>
>> Symptom:
>>
>> The
debugger in recent and current 1.1 images is completely
broken.
>>
>> To reproduce (save your image
first!):
>>
>> "self halt" doit. It goes into an infinite
loop, and if there's a way to
>> get out of that without killing the
VM I'd like to know about it. Alt-.
>> works, but just tries to open
another debugger, which goes into another
>> infinite loop,
etc.
>>
>>
>>
>>
Cause:
>>
>> DebuggerMethodMap>MapCache is a
WeakIdentityKeyDictionary, but it is
>> corrupt. It has an array of
22 nils, expired is 0, so it contains
>> nothing, but
tally=16.
>>
>> This causes MapCache to lie about its
size.
>>
>> This drives DebuggerMethodMap
class>>cacheDebugMap:forMethod: into an
>> infinite loop, the
whileTrue: condition is always true, it keeps trying
>> to remove
non-existent elements to get the size to be less than 16 but
>> the
size is always 16.
>>
>> I don't see any obvious code paths
to get into this state. I suspect it
>> may have been left in this
state when weak collections were updated with
>> the new code not too
long ago.
>>
>>
>> Cure:
>>
>> In
an inspector, set tally=0. Debuggers then work again.
>>
>>
Not sure how to package this as a slice, so I'll leave the update
to
>> someone else, and get back to hashing, which was hard when
every
>> walkback froze my system
:-)
>>
>>
>> Regards,
>>
>>
-Martin
>>
>>
_______________________________________________
>> Pharo-project
mailing list
>>
Pharo-project@lists.gforge.inria.fr>>
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project>
>
>
_______________________________________________
> Pharo-project mailing
list
>
Pharo-project@lists.gforge.inria.fr>
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project_______________________________________________
Pharo-project
mailing list
Pharo-project@lists.gforge.inria.frhttp://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project