On Mon, Dec 17, 2018 at 7:57 AM Andres Freund <andres@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