From 173a57544ef7682457a01229c2e99de4a7ff6ea7 Mon Sep 17 00:00:00 2001 From: Noah Gift Date: Wed, 21 Oct 2026 15:36:26 +0200 Subject: [PATCH] fix(guards): check_ladder_cells_producer reaps its fake serves when SIGKILLed (detached watcher) EXIT traps do not run on SIGKILL; 8 fake_apr serves leaked on lambda. Co-Authored-By: Claude Sonnet 5.5 --- scripts/check_ladder_cells_producer.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/check_ladder_cells_producer.sh b/scripts/check_ladder_cells_producer.sh index 3ad6c300b1..4db96dca67 100755 --- a/scripts/check_ladder_cells_producer.sh +++ b/scripts/check_ladder_cells_producer.sh @@ -30,6 +30,11 @@ reap_work() { rm -rf "${WORK:?}" } trap reap_work EXIT +# EXIT does not run on SIGKILL (a cancelled or timed-out job): a detached watcher repeats the sweep once this shell is gone +# (8 fake serves leaked on lambda, 2026-10-21). The dir is removed by the same name, never by a pattern. +setsid bash -c 'while kill -0 "$1" 2>/dev/null; do sleep 2; done + for p in /proc/[0-9]*; do c=$(tr "\0" " " 2>/dev/null < "$p/cmdline") || continue; case "$c" in *"$2/"*) kill -TERM "${p#/proc/}" 2>/dev/null ;; esac; done + rm -rf -- "${2:?}"' _ "$$" "$WORK" < /dev/null > /dev/null 2>&1 & FAKE="$ROOT/scripts/lib/model_ladder_cells_produce_cases/fake_apr.py" cat > "$WORK/ladder.yaml" <<'EOF'