You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kudu.apache.org by "RuiChen (Jira)" <ji...@apache.org> on 2020/04/01 09:31:00 UTC

[jira] [Updated] (KUDU-3101) There is no checking for incompatibility of ASAN and dynamic linking in CMakeLists.txt

     [ https://issues.apache.org/jira/browse/KUDU-3101?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

RuiChen updated KUDU-3101:
--------------------------
    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.
{code:java}
    CC=../../thirdparty/clang-toolchain/bin/clang \
    CXX=../../thirdparty/clang-toolchain/bin/clang++ \
    cmake -DCMAKE_BUILD_TYPE=debug -DKUDU_USE_ASAN=1 ../..{code}
I build Kudu in ARM64 server, issue like this:
{code:java}
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
{code}
 

[[1]: https://github.com/apache/kudu#building-kudu-with-dynamic-linking|https://github.com/apache/kudu#building-kudu-with-dynamic-linking]

  was:
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.
{code:java}
    CC=../../thirdparty/clang-toolchain/bin/clang \
    CXX=../../thirdparty/clang-toolchain/bin/clang++ \
    cmake -DCMAKE_BUILD_TYPE=debug -DKUDU_USE_ASAN=1 ../..{code}
I build Kudu in ARM64 server, issue like this:

 
{code:java}
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
{code}
 

[[1]: https://github.com/apache/kudu#building-kudu-with-dynamic-linking|https://github.com/apache/kudu#building-kudu-with-dynamic-linking]


> There is no checking for incompatibility of ASAN and dynamic linking in CMakeLists.txt
> --------------------------------------------------------------------------------------
>
>                 Key: KUDU-3101
>                 URL: https://issues.apache.org/jira/browse/KUDU-3101
>             Project: Kudu
>          Issue Type: Bug
>            Reporter: RuiChen
>            Priority: Minor
>
> 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.
> {code:java}
>     CC=../../thirdparty/clang-toolchain/bin/clang \
>     CXX=../../thirdparty/clang-toolchain/bin/clang++ \
>     cmake -DCMAKE_BUILD_TYPE=debug -DKUDU_USE_ASAN=1 ../..{code}
> I build Kudu in ARM64 server, issue like this:
> {code:java}
> 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
> {code}
>  
> [[1]: https://github.com/apache/kudu#building-kudu-with-dynamic-linking|https://github.com/apache/kudu#building-kudu-with-dynamic-linking]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)