[cl-plus-ssl-devel] ssl crashing in hunchentoot. A solution?

Anton Vodonosov avodonosov at yandex.ru
Thu Apr 21 07:53:43 UTC 2011


21.04.2011, 03:16, "Anton Vodonosov" <avodonosov at yandex.ru>:
> BTW, I've tried the same testcase with ACL, express edition,
> but CFFI seems to be significantly broken in this combination
> (reported to cffi-devel).
>

I was wrong here. It's not CFFI broken. 

With Allegro, CL+SSL always uses lisp BIO, which is broken.

When I defined a method like:

#+allegro
(defmethod stream-fd ((stream stream))
  (ignore-errors (socket:socket-os-fd stream)))

it allowed CL+SSL to pass the native socket file descriptor to OpenSSL
instead of using lisp BIO (with CCL we also use file descriptors).

In this case huchentoot works OK, and Allegro doesn't crash.

Although it prints warnings like:
    Warning: non-blocking stream encountered unexpectedly

but the browser opens HTML pages successfully, while in parallel ApacheBench
makes thousands of request with concurrency level 14.

So. Allegro doesn't crash. This fact counts in favor of the "CCL bug" theory.

Best regards,
- Anton




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