Skip to content

Commit 9a21260

Browse files
committed
tarantool: work around LeakSanitizer internal errors
With enabled LeakSanitizer on AArch64 ICU build fails due to false positive warnings from Leak Sanitizer (part of config.log): ``` configure:3209: checking whether we are cross compiling configure:3217: clang -o conftest -O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link -lpthread conftest.c >&5 configure:3221: $? = 0 configure:3228: ./conftest ==666==LeakSanitizer has encountered a fatal error. ==666==HINT: For debugging, try setting environment variable LSAN_OPTIONS=verbosity=1:log_threads=1 ==666==HINT: LeakSanitizer does not work under ptrace (strace, gdb, etc) configure:3232: $? = 1 configure:3239: error: in `/src/tarantool/build/icu': configure:3241: error: cannot run C compiled programs. ``` The patch disable LeakSanitizer on AArch64 and increase verbosity. Related to google#11798 Related to google/sanitizers#723
1 parent 18c087c commit 9a21260

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

projects/tarantool/build.sh

+8
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,14 @@ case $SANITIZER in
5353
*) SANITIZERS_ARGS="" ;;
5454
esac
5555

56+
export LSAN_OPTIONS="verbosity=1:log_threads=1"
57+
58+
# Workaround for a LeakSanitizer crashes,
59+
# see https://github.com/google/oss-fuzz/issues/11798.
60+
if [ "$ARCHITECTURE" = "aarch64" ]; then
61+
export ASAN_OPTIONS=detect_leaks=0
62+
fi
63+
5664
: ${LD:="${CXX}"}
5765
: ${LDFLAGS:="${CXXFLAGS}"} # to make sure we link with sanitizer runtime
5866

0 commit comments

Comments
 (0)