bug: runtime_verify_monitor exits early due pipefail/no-match path #413

Open
opened 2026-03-04 10:22:02 +09:00 by agentson · 0 comments
Collaborator

Summary

  • scripts/runtime_verify_monitor.sh exits immediately after writing startup line, so 24h observation loop does not run.

Observed At

  • 2026-03-04 10:1910:21 KST (2026-03-04 01:1901:21 UTC)

Evidence

  • monitor log only contains startup line:
    • data/overnight/runtime_verify_20260304_101940.log
  • background pid terminated quickly (data/overnight/runtime_verify_bg.pid)
  • bash -x scripts/runtime_verify_monitor.sh trace showed loop entering and then halting around find_live_pids pipeline under set -euo pipefail

Suspected Root Cause

  • find_live_pids() uses pgrep ... | awk ... under pipefail; when pgrep has no match, non-zero exits the whole script.

Impact

  • Coverage/forbidden invariant monitoring for #409/#318/#325 cannot run unattended.

Next Actions

  1. Harden find_live_pids to tolerate no-match (|| true or equivalent safe handling).
  2. Add regression test/script check for monitor loop survival when no live pid exists.
## Summary - `scripts/runtime_verify_monitor.sh` exits immediately after writing startup line, so 24h observation loop does not run. ## Observed At - 2026-03-04 10:19~10:21 KST (2026-03-04 01:19~01:21 UTC) ## Evidence - monitor log only contains startup line: - `data/overnight/runtime_verify_20260304_101940.log` - background pid terminated quickly (`data/overnight/runtime_verify_bg.pid`) - `bash -x scripts/runtime_verify_monitor.sh` trace showed loop entering and then halting around `find_live_pids` pipeline under `set -euo pipefail` ## Suspected Root Cause - `find_live_pids()` uses `pgrep ... | awk ...` under `pipefail`; when `pgrep` has no match, non-zero exits the whole script. ## Impact - Coverage/forbidden invariant monitoring for #409/#318/#325 cannot run unattended. ## Related - #409 - #318 - #325 ## Next Actions 1. Harden `find_live_pids` to tolerate no-match (`|| true` or equivalent safe handling). 2. Add regression test/script check for monitor loop survival when no live pid exists.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jihoson/The-Ouroboros#413