On 04/20/2017 07:31 AM, Gregg Smith wrote:
ABS doesn't work with openssl 1.1.0, on windows anyway. It builds
without warning yet doesn't work.

abs https://www.domain.com
just sits there forever and never completes or shows anything.

I cannot imagine this being a windows only problem.

I haven't tested Windows yet, but in Ubuntu, ab built with OpenSSL 1.1.0 hangs whether you're using HTTP or HTTPS.

We call OPENSSL_malloc_init(), which in 1.1.0 is documented to be unnecessary except "in certain shared-library situations." (I haven't found documented examples of these "situations" yet.) This is a macro that just sets a bunch of malloc callbacks to their defaults.

Unfortunately on my machine, the "default" functions are actually translated into PLT stubs for the linker -- it's a macro call, so it uses the executable's addresses for the functions rather than the library's. So CRYPTO_malloc calls the PLT stub which calls CRYPTO_malloc which calls the PLT stub which recurses into madness. Configuring OpenSSL with --debug turns the hang into a stack overflow like we'd expect.

On the one hand, it's arguably an API bug in OpenSSL, but I get the feeling that we're not supposed to call most of these initialization functions anymore as of 1.1.0.

--Jacob

Reply via email to