[RUNTIME-ANOMALY] run_overnight pid/liveness mismatch and unstable startup #396

Closed
opened 2026-03-02 23:35:13 +09:00 by agentson · 1 comment
Collaborator

Summary

실운영 시작 시 scripts/run_overnight.sh 경로에서 app/watchdog pid 기준으로 즉시 종료로 판정되는 현상이 재현됨.
동일 실행 명령을 수동(nohup bash -lc ...) 또는 tmux 직접 세션으로 실행하면 일정 시간 정상 동작함.

Observed Behavior

  • run_overnight.sh 실행 직후 생성된 data/overnight/app.pid, watchdog.pid가 생존 확인에서 곧바로 실패하는 케이스 반복
  • 로그에는 시작 라인만 남고 종료 원인 스택이 누락되는 케이스 존재
  • 대시보드 포함 실행에서는 :8080 address already in use 충돌 발생 시 즉시 종료 가능
  • 대시보드 제외 + tmux 직접 실행은 60초 이상 생존 확인됨 (.venv/bin/python -m src.main --mode=live)

Evidence

  • run log: data/overnight/run_20260302_232600.log
  • watchdog log: data/overnight/watchdog_20260302_232600.log
  • port conflict log: data/overnight/run_20260302_232518.log (address already in use)
  • stable direct run sample: /tmp/manual_overnight_nohup_20260302_232801.log

Scope

  • scripts/run_overnight.sh
  • scripts/watchdog.sh
  • (optional) runtime monitor integration in scripts/runtime_verify_monitor.sh

Acceptance Criteria

  • run_overnight.sh 실행 시 app/watchdog pid 생존 판정이 실제 프로세스 상태와 일치한다.
  • 대시보드 포트 충돌 시 명시적인 실패 처리/로그가 남고, 자동 재시도 또는 즉시 중단 정책이 문서화된다.
  • tmux 모드/비tmux 모드 모두에서 동일한 시작/생존 판정 결과를 보장한다.
## Summary 실운영 시작 시 `scripts/run_overnight.sh` 경로에서 app/watchdog pid 기준으로 즉시 종료로 판정되는 현상이 재현됨. 동일 실행 명령을 수동(`nohup bash -lc ...`) 또는 `tmux` 직접 세션으로 실행하면 일정 시간 정상 동작함. ## Observed Behavior - `run_overnight.sh` 실행 직후 생성된 `data/overnight/app.pid`, `watchdog.pid`가 생존 확인에서 곧바로 실패하는 케이스 반복 - 로그에는 시작 라인만 남고 종료 원인 스택이 누락되는 케이스 존재 - 대시보드 포함 실행에서는 `:8080 address already in use` 충돌 발생 시 즉시 종료 가능 - 대시보드 제외 + tmux 직접 실행은 60초 이상 생존 확인됨 (`.venv/bin/python -m src.main --mode=live`) ## Evidence - run log: `data/overnight/run_20260302_232600.log` - watchdog log: `data/overnight/watchdog_20260302_232600.log` - port conflict log: `data/overnight/run_20260302_232518.log` (`address already in use`) - stable direct run sample: `/tmp/manual_overnight_nohup_20260302_232801.log` ## Scope - `scripts/run_overnight.sh` - `scripts/watchdog.sh` - (optional) runtime monitor integration in `scripts/runtime_verify_monitor.sh` ## Acceptance Criteria - `run_overnight.sh` 실행 시 app/watchdog pid 생존 판정이 실제 프로세스 상태와 일치한다. - 대시보드 포트 충돌 시 명시적인 실패 처리/로그가 남고, 자동 재시도 또는 즉시 중단 정책이 문서화된다. - tmux 모드/비tmux 모드 모두에서 동일한 시작/생존 판정 결과를 보장한다.
Author
Collaborator

Status: CONFIRMED
Observed At: 2026-03-03 08:16:52 KST, 2026-03-02 23:16:52 UTC
Environment: live
Evidence: reproduced run_overnight startup/liveness mismatch against actual process lifecycle; pid/log inconsistency observed
Next: implement run_overnight/watchdog liveness contract fix.

Status: CONFIRMED Observed At: 2026-03-03 08:16:52 KST, 2026-03-02 23:16:52 UTC Environment: live Evidence: reproduced run_overnight startup/liveness mismatch against actual process lifecycle; pid/log inconsistency observed Next: implement run_overnight/watchdog liveness contract fix.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jihoson/The-Ouroboros#396