On Mon, Dec 17, 2018 at 7:57 AM Andres Freund <and...@anarazel.de> wrote: > The interesting bit is that if I replace the _exit(2) in > bgworker_quickdie() with an exit(2) (i.e. processing atexit handlers), > or manully add an OPENSSL_cleanup() before the _exit(2), valgrind > doesn't find errors.
Weird. Well I can see that there were bugs last year where OpenSSL failed to clean up its thread locals[1], and after they fixed that, cases where it bogusly cleaned up someone else's thread locals[2]. Maybe there is some interference between pthread keys or something like that. [1] https://github.com/openssl/openssl/issues/3033 [2] https://github.com/openssl/openssl/issues/3584 -- Thomas Munro http://www.enterprisedb.com