echo "Scanning $TOTAL_EMAILS emails (parallelism: $PARALLEL)..."
# Scan all files from the corpus using xargs to handle long argument list
+# Log errors separately for debugging
cat "$DATA_DIR/shuffled_files.txt" | xargs rspamc -h "$RSPAMD_HOST:$CONTROLLER_PORT" \
- -P "$PASSWORD" -n "$PARALLEL" -j > "$DATA_DIR/scan_results.json" 2>&1
+ -P "$PASSWORD" -n "$PARALLEL" -j > "$DATA_DIR/scan_results.json" 2> "$DATA_DIR/scan_errors.log"
+
+SCAN_EXIT=$?
+if [ $SCAN_EXIT -ne 0 ]; then
+ echo "ERROR: Scanning failed with exit code $SCAN_EXIT"
+ echo "First 50 lines of error log:"
+ head -n 50 "$DATA_DIR/scan_errors.log" || true
+ echo ""
+ echo "Last 50 lines of error log:"
+ tail -n 50 "$DATA_DIR/scan_errors.log" || true
+ exit 1
+fi
echo "✓ Scanning complete"
echo ""