Details
-
Sub-task
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
1.12.0
-
None
-
None
Description
Kudu Readme mention "NOTE: Dynamic linking is incompatible with ASAN and static linking is incompatible with TSAN."[1], but no checking for it in CMakeLists.txt, so if developer use following cmake command, cmake and make will be successful, but maybe face issue when run test cases.
CC=../../thirdparty/clang-toolchain/bin/clang \ CXX=../../thirdparty/clang-toolchain/bin/clang++ \ cmake -DCMAKE_BUILD_TYPE=debug -DKUDU_USE_ASAN=1 ../..
I build Kudu in ARM64 server, issue like this, if I use KUDU_LINK=static, testing pass,
but weird, in x86 ASAN and dynamic linking worked in Jenkins CI, seems this issue only impact ARM64 :
ubuntu@ubuntu:~/workspace/github.com/apache/kudu/build/asan$./bin/example-test AddressSanitizer:DEADLYSIGNAL ================================================================= ==20451==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x000000000000 bp 0xffffd0853a20 sp 0xffffd0853a20 T0) ==20451==Hint:pcpointstothezeropage. ==20451==The signal is caused by a READ memoryaccess. ==20451==Hint: address points to the zero page. AddressSanitizercannotprovideadditionalinfo. SUMMARY: AddressSanitizer: SEGV (<unknown module>) ==20451==ABORTING
[1]: https://github.com/apache/kudu#building-kudu-with-dynamic-linking