Dan Burkert has uploaded a new patch set (#2). Change subject: Work around another OpenSSL thread safety bug ......................................................................
Work around another OpenSSL thread safety bug In the course of debugging some CHECK failures and TSAN errors, I found that older versions of OpenSSL have non-threadsafe OBJ_create and even ERR_peek_error methods. This commit fixes an instance where we were calling OBJ_create concurrently by wrapping it in a std::call_once. I don't have a fix for ERR_peek_err unsafety, since that's used pervasively in most methods touching OpenSSL. Side note: for debugging issues like this, I find it helpful to run ASAN with the following options: ASAN_OPTIONS="fast_unwind_on_malloc=0" That option typically makes races more reproducible, and produces better stack traces as well. Change-Id: I9a9fe1a32f77bf24a5c7e692a55b8ad96488d409 --- M src/kudu/security/cert-test.cc M src/kudu/security/cert.cc 2 files changed, 31 insertions(+), 6 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/97/6997/2 -- To view, visit http://gerrit.cloudera.org:8080/6997 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I9a9fe1a32f77bf24a5c7e692a55b8ad96488d409 Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan Burkert <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon <[email protected]>
