From: Vsevolod Stakhov Date: Sat, 18 Oct 2025 09:52:46 +0000 (+0100) Subject: [Test] Fix rspamd startup timeout and ASAN configuration X-Git-Tag: 3.14.0~67^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9e88fc2694d68b539d3958c0149be4fb91b9c97e;p=thirdparty%2Frspamd.git [Test] Fix rspamd startup timeout and ASAN configuration - Increase wait time to 3 minutes (rspamd takes ~40s to start) - Remove fast_unwind_on_malloc=0 which causes rspamd to hang - Keep ASAN_OPTIONS: detect_leaks=1, log_path=/data/asan.log - Keep LSAN_OPTIONS: exitcode=0 to collect all leaks - ASAN logs are written on process termination --- diff --git a/.github/workflows/integration-test.yml b/.github/workflows/integration-test.yml index 9b1d28dccb..a57895eb8b 100644 --- a/.github/workflows/integration-test.yml +++ b/.github/workflows/integration-test.yml @@ -195,8 +195,9 @@ jobs: docker compose up -d # Wait for services to be ready + # Rspamd takes ~30-40s to compile TLD database and load maps echo "Waiting for services to start..." - sleep 10 + sleep 20 # Check services echo "=== Docker Compose Services Status ===" @@ -218,7 +219,7 @@ jobs: - name: Wait for Rspamd to be ready working-directory: test/integration run: | - for i in {1..30}; do + for i in {1..60}; do if curl -s http://localhost:50002/ping > /dev/null 2>&1; then echo "Rspamd Controller is ready!" @@ -231,8 +232,8 @@ jobs: exit 0 fi - echo "Waiting for Rspamd... ($i/30)" - sleep 2 + echo "Waiting for Rspamd... ($i/60)" + sleep 3 done echo "Rspamd failed to start!" diff --git a/test/integration/docker-compose.yml b/test/integration/docker-compose.yml index d29751637d..a3b0277ec2 100644 --- a/test/integration/docker-compose.yml +++ b/test/integration/docker-compose.yml @@ -43,7 +43,8 @@ services: # AddressSanitizer configuration for multiple processes # 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 + # NOTE: fast_unwind_on_malloc=0 causes rspamd to hang, so it's omitted + - ASAN_OPTIONS=detect_leaks=1:print_stats=1:log_path=/data/asan.log:quarantine_size_mb=2048:malloc_context_size=20 - LSAN_OPTIONS=suppressions=/etc/rspamd/lsan.supp:print_suppressions=0:exitcode=0 healthcheck: test: [ "CMD-SHELL", "pidof rspamd > /dev/null || exit 1" ]