ignore alloc-dealloc mismatch for gcc and removed detect_stack_use_after_return=0

Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
This commit is contained in:
Pratik Mankawde
2026-02-19 16:55:50 +00:00
parent c9ff20d729
commit 2f60ce71ff
3 changed files with 7 additions and 5 deletions

View File

@@ -206,7 +206,11 @@ jobs:
- name: Set sanitizer options
if: ${{ !inputs.build_only && env.SANITIZERS_ENABLED == 'true' }}
run: |
echo "ASAN_OPTIONS=include=${GITHUB_WORKSPACE}/sanitizers/suppressions/runtime-asan-options.txt:suppressions=${GITHUB_WORKSPACE}/sanitizers/suppressions/asan.supp" >> ${GITHUB_ENV}
ASAN_OPTS="include=${GITHUB_WORKSPACE}/sanitizers/suppressions/runtime-asan-options.txt:suppressions=${GITHUB_WORKSPACE}/sanitizers/suppressions/asan.supp"
if [[ "${{ inputs.config_name }}" == *gcc* ]]; then
ASAN_OPTS="${ASAN_OPTS}:alloc_dealloc_mismatch=0"
fi
echo "ASAN_OPTIONS=${ASAN_OPTS}" >> ${GITHUB_ENV}
echo "TSAN_OPTIONS=include=${GITHUB_WORKSPACE}/sanitizers/suppressions/runtime-tsan-options.txt:suppressions=${GITHUB_WORKSPACE}/sanitizers/suppressions/tsan.supp" >> ${GITHUB_ENV}
echo "UBSAN_OPTIONS=include=${GITHUB_WORKSPACE}/sanitizers/suppressions/runtime-ubsan-options.txt:suppressions=${GITHUB_WORKSPACE}/sanitizers/suppressions/ubsan.supp" >> ${GITHUB_ENV}
echo "LSAN_OPTIONS=include=${GITHUB_WORKSPACE}/sanitizers/suppressions/runtime-lsan-options.txt:suppressions=${GITHUB_WORKSPACE}/sanitizers/suppressions/lsan.supp" >> ${GITHUB_ENV}

View File

@@ -1,6 +1,6 @@
# The idea is to empty this file gradually by fixing the underlying issues and removing suppresions.
#
# ASAN_OPTIONS="suppressions=sanitizers/suppressions/asan.supp:halt_on_error=0:detect_stack_use_after_return=0"
# ASAN_OPTIONS="suppressions=sanitizers/suppressions/asan.supp:include=sanitizers/suppressions/runtime-asan-options.txt"
#
# Boost coroutines cause multiple ASAN false positives due to swapcontext/fiber stack switching.
# ASAN cannot correctly track stack memory across coroutine context switches, leading to:
@@ -14,11 +14,10 @@
# These are now handled by:
# 1. Using Boost.Coroutine2 with the ucontext backend (BOOST_USE_ASAN + BOOST_USE_UCONTEXT)
# 2. Runtime options in runtime-asan-options.txt:
# - alloc_dealloc_mismatch=0: Suppresses false "bad-free" errors from fiber stack deallocation
# - alloc_dealloc_mismatch=0: Suppresses false "bad-free" errors from fiber stack deallocation, on GCC. For Clang we don't instrument boost
# - detect_stack_use_after_return=0: Prevents false positives from fake stack tracking
# - use_sigaltstack=0: Avoids conflicts with coroutine stack switching
interceptor_name:clock_gettime
interceptor_name:__bzero
interceptor_name:nudb
interceptor_name:boost # Suppress any flackiness

View File

@@ -1,5 +1,4 @@
detect_container_overflow=0
detect_stack_use_after_return=0
halt_on_error=0
print_summary=true
use_sigaltstack=0