Todd Lipcon has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/9460 )

Change subject: KUDU-2328. Fix crash at startup with OpenSSL FIPS mode
......................................................................

KUDU-2328. Fix crash at startup with OpenSSL FIPS mode

The wrapping of libdl functions added by commit
d9e7037138646e3efb331af98c6982de13294c4b has a problem if any other
dynamic initializer calls dlopen or dlclose. It turns out that OpenSSL
in FIPS mode does indeed do that, leading to a crash with a stack like:

  #0  0x0000000000000000 in ?? ()
  #1  0x0000000001b45d23 in dlopen ()
  #2  0x00007f1f444967ba in ?? () from /lib64/libcrypto.so.1.0.0
  #3  0x00007f1f44496857 in ?? () from /lib64/libcrypto.so.1.0.0
  #4  0x00007f1f44496bfe in FIPS_module_mode_set () from 
/lib64/libcrypto.so.1.0.0
  #5  0x00007f1f4437216c in FIPS_mode_set () from /lib64/libcrypto.so.1.0.0
  #6  0x00007f1f4436eb60 in OPENSSL_init_library () from 
/lib64/libcrypto.so.1.0.0
  #7  0x00007f1f450a2c0a in call_init.part () from /lib64/ld-linux-x86-64.so.2
  #8  0x00007f1f450a2cf3 in _dl_init () from /lib64/ld-linux-x86-64.so.2
  #9  0x00007f1f4509518a in _dl_start_user () from /lib64/ld-linux-x86-64.so.2

The fix takes the same approach we already used to workaround a similar issue
with the ASAN runtime, but generalizes it to all of our wrapped functions.

Change-Id: I10a04126411f51b4d8e290a6b061aa585aad0769
Reviewed-on: http://gerrit.cloudera.org:8080/9460
Tested-by: Todd Lipcon <t...@apache.org>
Reviewed-by: Alexey Serbin <aser...@cloudera.com>
---
M src/kudu/util/debug/unwind_safeness.cc
1 file changed, 27 insertions(+), 11 deletions(-)

Approvals:
  Todd Lipcon: Verified
  Alexey Serbin: Looks good to me, approved

--
To view, visit http://gerrit.cloudera.org:8080/9460
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I10a04126411f51b4d8e290a6b061aa585aad0769
Gerrit-Change-Number: 9460
Gerrit-PatchSet: 3
Gerrit-Owner: Todd Lipcon <t...@apache.org>
Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mpe...@apache.org>
Gerrit-Reviewer: Todd Lipcon <t...@apache.org>
Gerrit-Reviewer: Will Berkeley <wdberke...@gmail.com>

Reply via email to