On Jun 26, 2013, at 5:11 AM, Levente Uzonyi <[email protected]> wrote:

> On Tue, 25 Jun 2013, Stéphane Ducasse wrote:
> 
>> Hi guys
>> 
>> when working on a new morphic kernel, we got stuck with a really difficult 
>> to find
>> bug (we are still looking for it).
>> If new generation debugger lovers want to try. Here it is
>> 
>>      - load the bloc version 6 from AlainPlantec/Bloc on smalltalkHub
>> 
>>      - execute the snippet (alain will post the snippet because it is on his 
>> machine)
>> 
>>                      BlProtoMorph new openInWorld
>> 
>>                      (there is another one)
>> 
>>      - move the mouse and the system gets blocked.
> 

We did a fork and killed the morph.
But the debugger and system should help doing that naturally


> Just type
> 
> kill -USR1 <pid>
> 
> and you'll be able to see where it got blocked.
> 
> Alternatively you can run a high priority process in the image which takes 
> snapshots of other processes (I'd choose the UI process and the finalization 
> process, since the former gets blocked, and the latter uses a pretty much 
> broken data structure in Pharo) every once in a while, and writes them do 
> disk/whatever.
> 
> 
> Levente
> 
>> 
>> After looking for it for a couple of hours here are some wishes list.
>> 
>> 
>>      - would be good to be able to set a haltOnce to **all** the methods of 
>> a **particular** object :)
>> 
>>      - would be good to have the equivalent of GlobalVaHoldingOneObject 
>> haltOnce ifTrue: [….]
>> 
>>      - would be nice that we can say that the object once debugged does not 
>> receive any other messages
>>      (imagine an object in a fast rendering loops and that one message 
>> causes problems).
>> 
>> 
>> 
>> Stef


Reply via email to