[cl-plus-ssl-devel] concurrency problems when used with chrome?
Attila Lendvai
attila.lendvai at gmail.com
Tue May 17 20:49:16 UTC 2011
dear list,
i've successfully added https support to hu.dwim.web-server, which
thanks to cl+ssl was much less trouble (for now) than i've expected.
it seems to work mostly fine with ff and opera, but with chrome i get
the following error randomly in half of the worker threads (one worker
for one connection):
The TLS/SSL connection on handle #.(SB-SYS:INT-SAP #X00C1C4A0) has
been closed. (return code: 5)SSL error queue:
[Condition of type CL+SSL::SSL-ERROR-ZERO-RETURN]
the relevant part of the backtrace:
5: ((LABELS HU.DWIM.UTIL::HANDLE-LEVEL-1-ERROR)
#<CL+SSL::SSL-ERROR-ZERO-RETURN {10088187B1}>)
6: (SIGNAL #<CL+SSL::SSL-ERROR-ZERO-RETURN {10088187B1}>)
7: (ERROR CL+SSL::SSL-ERROR-ZERO-RETURN :HANDLE #.(SB-SYS:INT-SAP
#X7FFFEC0654B0) :RET 5 :QUEUE "SSL error queue: \n")
8: (CL+SSL::SSL-SIGNAL-ERROR #.(SB-SYS:INT-SAP #X7FFFEC0654B0)
#<FUNCTION CL+SSL::SSL-READ> 5 0)
9: ((FLET #:WPO[READ-HTTP-REQUEST/HEAD]46))
10: (HU.DWIM.WEB-SERVER::READ-HTTP-REQUEST/HEAD 15
#<CL+SSL::SSL-SERVER-STREAM for 15> #.(SB-SYS:INT-SAP #X7FFFEC0654B0)
:LENGTH-LIMIT 65536)
i suspect that there's something inside cl+ssl that is not threadsafe,
because afaik chrome is more aggressively parallel than the others...
maybe there's a C struct that should be thread local and is a mere
global?
unfortunately my first glance didn't find anything suspicious.
any ideas how to proceed with this?
--
attila
Notice your eroding (digital) freedom, and do something about it!
PGP: 2FA1 A9DC 9C1E BA25 A59C 963F 5D5F 45C7 DFCD 0A39
OTR XMPP: 8647EEAC EA30FEEF E1B55146 573E52EE 21B1FF06
BitCoin: 154uf86Vd9rpjMULd9CXa7nVwikknYZJiB
More information about the cl-plus-ssl-devel
mailing list