From 9e88fc2694d68b539d3958c0149be4fb91b9c97e Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Sat, 18 Oct 2025 10:52:46 +0100 Subject: [PATCH] [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 --- .github/workflows/integration-test.yml | 9 +++++---- test/integration/docker-compose.yml | 3 ++- 2 files changed, 7 insertions(+), 5 deletions(-) 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" ] -- 2.47.3