]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Test] Fix rspamd startup timeout and ASAN configuration
authorVsevolod Stakhov <vsevolod@rspamd.com>
Sat, 18 Oct 2025 09:52:46 +0000 (10:52 +0100)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Sat, 18 Oct 2025 09:52:46 +0000 (10:52 +0100)
- 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
test/integration/docker-compose.yml

index 9b1d28dccb3d8709141767f61ce63bd637ba07de..a57895eb8bd05c33d9ef9b31188f8c5462542586 100644 (file)
@@ -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!"
index d29751637d893c8473919cb2ecc3d2c49eaa9662..a3b0277ec2e6e532a56a0516837d369aa26a7787 100644 (file)
@@ -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" ]