[gambit-list] Can you explain this message?

Marc Feeley feeley at iro.umontreal.ca
Thu Apr 2 16:19:14 EDT 2009


The "trace" subsystem shows the traces on the interaction channel  
(here the console).  To prevent garbled traces from multiple threads,  
the interaction channel's lock must be acquired before a trace line is  
printed and it is released when printing the line is done.  If you  
interrupt the thread in the middle of this sequence, then the system  
will want to start a new REPL at the point of the interrupt.  But this  
means that the interaction channel's lock must be acquired *while it  
is currently acquired*.  So this leads to a deadlock.

Marc

On 2-Apr-09, at 4:07 PM, Bradley Lucier wrote:

> Marc:
>
> The setup is:
>
> I'm in an infinite loop, streaming trace information to the terminal.
>
> I hit ^C to interrupt it.
>
> I get the message
>
> *** ERROR IN Newton-step, "utilities.scm"@93.16 -- Deadlock detected
> 1>
>
> Can you explain what this message means in this context?
>
> This is gcc -v (with no configuration information ;-):
>
> [lucier at descartes src]$ gsc -v
> v4.4.2 20090319212953 powerpc64-unknown-linux-gnu
>
> Brad




More information about the Gambit-list mailing list