From 53947bd6bc504e1450b11f6fc345d409bf3e9a86 Mon Sep 17 00:00:00 2001 From: Anton Yuzhaninov Date: Tue, 13 Nov 2018 19:41:52 -0500 Subject: [PATCH] Use clang sanitizers --- .drone.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index da1386e26..8bdbc77e2 100644 --- a/.drone.yml +++ b/.drone.yml @@ -38,6 +38,8 @@ pipeline: - test "$(id -un)" = nobody - cd /rspamd/fedora/build - export LDFLAGS='-fuse-ld=lld' + - export CFLAGS='-fsanitize=address,undefined,implicit-integer-truncation' + - export ASAN_OPTIONS=detect_leaks=0 - > cmake -DENABLE_CLANG_PLUGIN=ON @@ -112,7 +114,11 @@ pipeline: group: tests commands: - test "$(id -un)" = nobody - - ulimit -c unlimited + # Asan reserves 20Tb of virtual memory, limit core size to 2 Gb to avoid writing huge core + - ulimit -c 2097152 + # disable leak sanitizer: too many leaks detected, most of them probably FP + - export ASAN_OPTIONS="detect_leaks=0:print_stacktrace=1:disable_coredump=0" + - export UBSAN_OPTIONS="print_stacktrace=1:log_path=/tmp/ubsan" - cd /rspamd/fedora/build/test - set +e - ./rspamd-test -p /rspamd/lua; EXIT_CODE=$? @@ -123,6 +129,7 @@ pipeline: if [ $EXIT_CODE -gt 128 ]; then gdb --batch -ex 'bt' -c /var/tmp/*.rspamd-test.core ./rspamd-test; fi + - cat /tmp/ubsan.* - exit $EXIT_CODE functional: -- 2.39.5