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

Joe McDonnell updated IMPALA-12040:
-----------------------------------
    Summary: LSAN isn't detecting some types of leaks for backend tests  (was: 
LSAN isn't detecting leaks for backend tests)

> LSAN isn't detecting some types of leaks for backend tests
> ----------------------------------------------------------
>
>                 Key: IMPALA-12040
>                 URL: https://issues.apache.org/jira/browse/IMPALA-12040
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Backend
>    Affects Versions: Impala 4.3.0
>            Reporter: Joe McDonnell
>            Priority: Major
>
> I have a backend test that I know leaks memory. It isn't checked in anywhere, 
> but I know from visual inspection that it does leak memory. However, when I 
> compile with ASAN and run the test via ctest, LSAN doesn't detect the leak. 
> Turning on verbose mode, I get this:
> {noformat}
> 54: Test command: /home/joemcdonnell/upstream/Impala/bin/run-jvm-binary.sh 
> "/home/joemcdonnell/upstream/Impala/be/build/debug//runtime/memory-leak-test" 
> "-log_dir=/home/joemcdonnell/upstream/Impala/logs/be_tests"
> 54: Environment variables: 
> 54:  
> LSAN_OPTIONS=suppressions=/home/joemcdonnell/upstream/Impala/bin/lsan-suppressions.txt
> 54: Test timeout computed to be: 10000000
> ...
> 54: [==========] Running 1 test from 1 test case.
> 54: [----------] Global test environment set-up.
> 54: [----------] 1 test from MemoryLeakTest
> 54: [ RUN      ] MemoryLeakTest.LeakMemory
> 54: [       OK ] MemoryLeakTest.LeakMemory (0 ms)
> 54: [----------] 1 test from MemoryLeakTest (0 ms total)
> 54: 
> 54: [----------] Global test environment tear-down
> 54: [==========] 1 test from 1 test case ran. (0 ms total)
> 54: [  PASSED  ] 1 test.
> 1/1 Test #54: memory-leak-test .................   Passed    0.60 sec
> The following tests passed:
>     memory-leak-test
> 100% tests passed, 0 tests failed out of 1
> {noformat}
> LSAN can detect some memory leaks, but this particular memory leak only gets 
> detected if I also add ASAN_OPTIONS="detect_leaks=1". It looks like we 
> intended that to be added, because we have it listed here in 
> be/CMakeLists.txt:
> {noformat}
> FUNCTION(ENABLE_LSAN_FOR_TEST TEST_NAME)
>     SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES ENVIRONMENT
>         "ASAN_OPTIONS=handle_segv=0 detect_leaks=1 
> allocator_may_return_null=1")
>     SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES ENVIRONMENT
>         
> "LSAN_OPTIONS=suppressions=${CMAKE_SOURCE_DIR}/bin/lsan-suppressions.txt")
> ENDFUNCTION(){noformat}
> The second invocation overwrites the first rather than appending, so we only 
> get LSAN_OPTIONS.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to