Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#19 SBCL: Problems with worker threads

open
nobody
None
5
2012-09-14
2004-02-12
Anonymous
No

I'm running aserve on SBCL 0.8.7.45. The server seems to
sometimes lose worker threads. The http-accept-thread
function adds a socket for an incoming connection to a
worker thread's run reasons;
(acl-compat.mp:process-add-run-reason (car workers)
sock)
is called.
However, sometimes the worker thread never wakes up.
It has revoked the previous run reason in the past (I
have a debug print for that), but never seems to get the
new one.
The result is that the requesting client is never served
(the connection is open, but inactive) and the
corresponding worker thread never gets another run
reason (because (acl-compat.mp:process-run-reasons
(car workers)) is not null).

Discussion

  • Logged In: NO

    Version of the portableaserve is the cvs version of
    2004-02-12.

     
  • Rudi Schlatte
    Rudi Schlatte
    2004-02-14

    Logged In: YES
    user_id=12159

    This sounds like a race condition somewhere in the sbcl thread code.
    I've mostly copied this from sbcl-specific code in the McCLIM project, but
    haven't load-tested it yet. It's possible I made a mistake in the run-
    reason code.
    Please submit bug reports to the mailing list; I only saw this one by
    accident, as I don't visit the paserve project site very often, and haven't
    yet found an option to be sent new bug reports automatically.