On Sat, 19 Mar 2005 19:50:22 +0100, Sergio Garcia sergio.garcia@gmail.com wrote:
I upgraded to a 2.6 kernel, and the error message stopped. However, the problem changed. Now, the browser just freezed, and in the sbcl REPL I got:
WARNING: recursive lock attempt #S(SB-THREAD:MUTEX :NAME "session-data-lock" :LOCK 0 :DATA NIL :VALUE 5041)
I had a look at the code of session, and it seems to me that setting-f a session-value when a session has not been created, creates a nested "with-lock-held" on a same object by calling start-session. I just put a start-session at the beggining of the session test, and it seems to work fine now. Is this right?
The analysis is right, but the cure isn't. (Well, in this particular case it probably is.) The problem is that parts of TBNL assume that locks /can/ be nested which is the case for CMUCL, LW, and AllegroCL. You might want to ask on the SBCL mailing list how to get locks that can be nested or alternatively ask Kevin Rosenberg to patch KMRCL.
The easiest way is to switch to CMUCL, though... :)
Cheers, Edi.