On 10 March 2012 23:44, Helmut Eller heller@common-lisp.net wrote:
Can you reproduce it with something other than SBCL? It's known that SBCL's dispatch caches are deadlock prone.
This is an example of the kind of deadlock I was referring to a while ago when I said that the flushing timeout was there for a reason.
The deadlock is this:
Compiler thread tries to output a compiler note. Holds world lock, wants the slime's stream lock.
Auto flush thread tries to compile a dispatch function. Holds the slime's stream lock, wants world lock.
...not saying that SBCL is behaving well here, but the deadlock is due to interaction with slime's stream lock and the auto-flusher -- and was fixed earlier.
Cheers,
-- Nikodemus