[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