Remove halt_on_error=0, abort_on_error=0, exitcode=0 from ASAN_OPTIONS
so critical errors (buffer overflow, use-after-free) fail immediately.
Keep exitcode=0 only in LSAN_OPTIONS to collect all memory leaks.
- RSPAMD_REDIS_ADDR=redis
- RSPAMD_REDIS_PORT=6379
# AddressSanitizer configuration for multiple processes
- # halt_on_error=0 and abort_on_error=0 allow collecting all errors
- # exitcode=0 prevents ASAN from returning non-zero exit code
- - ASAN_OPTIONS=detect_leaks=1:halt_on_error=0:abort_on_error=0:exitcode=0:print_stats=1:log_path=/data/asan.log:quarantine_size_mb=2048:malloc_context_size=20:fast_unwind_on_malloc=0
+ # ASAN errors (buffer overflow, etc) immediately fail the test
+ # Leak sanitizer collects all leaks without failing (exitcode=0)
+ - ASAN_OPTIONS=detect_leaks=1:print_stats=1:log_path=/data/asan.log:quarantine_size_mb=2048:malloc_context_size=20:fast_unwind_on_malloc=0
- LSAN_OPTIONS=suppressions=/etc/rspamd/lsan.supp:print_suppressions=0:exitcode=0
healthcheck:
test: [ "CMD-SHELL", "pidof rspamd > /dev/null || exit 1" ]