[cl-plus-ssl-devel] Fwd: concurrency problems when used with chrome?

Anton Vodonosov avodonosov at yandex.ru
Wed May 18 06:30:30 UTC 2011


Hello Attila,

There is an outstanding multi-threading problem which so far was confirmed
for CCL + Windows. We thought for Linux it works OK (it was tested with ApacheBench).
You may find more details in the recent cl-plus-ssl-devel archives.
In short, this problem is not easy to catch, and there is a hight probability if
will remain unfixed in the nearest months.

What is your platform (OS and Lisp impl)? Any other details you think relevant?

As a workaround, until the problem is fixed, you may need to use a reverse proxy like
nginx for https.

Best regards,
- Anton

18.05.2011, 00:49, "Attila Lendvai" <attila.lendvai at gmail.com>;:

>  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
>
>  _______________________________________________
>  cl-plus-ssl-devel mailing list
>  cl-plus-ssl-devel at common-lisp.net
>  http://lists.common-lisp.net/cgi-bin/mailman/listinfo/cl-plus-ssl-devel




More information about the cl-plus-ssl-devel mailing list