Skip to content

test(b5): treat zombie pane processes as stopped - #117

Open
Florious95 wants to merge 1 commit into
fix/grok-inspect-project-trustfrom
fix/b5-zombie-liveness-contract-luna
Open

test(b5): treat zombie pane processes as stopped#117
Florious95 wants to merge 1 commit into
fix/grok-inspect-project-trustfrom
fix/b5-zombie-liveness-contract-luna

Conversation

@Florious95

@Florious95 Florious95 commented Aug 30, 2026

Copy link
Copy Markdown
Owner

Goal: close the v0.5.69 Ubuntu B5 residual-sweep red without weakening leader/server survival.

Root cause: the integration fixture used kill -0 as a running-process predicate. On Unix kill -0 also succeeds for an exited but not-yet-reaped zombie. The historical Ubuntu failure spent the long residual-loop path and then reported only the worker PID as alive; neither the leader nor tmux server was reported dead. The fixture therefore misclassified a terminated worker as running.

Change: read ps STAT, treat Z as stopped, and include STAT in future worker failure output. The leader and tmux server use the same strict predicate, so a zombie leader/server still fails the survival contract.

Validation at head f34b1d7:

  • Historical red: run 33325304045, job 99294264033, 4 passed / 1 failed; worker PID 25535 was the sole failed invariant.
  • cargo test -p team-agent --test b5_leader_terminal_kill_red red_v3_residual_sweep_must_not_reap_leaders_tmux_server -- --exact --test-threads=1 --nocapture on macOS: 1 passed.
  • Grok Linux direct clone, Rust/Cargo 1.95.0, same exact selector: 1 passed, ExecMainStatus=0, unit gb-f34b1d79-v0569-b5-linux-fixed-sol-a4.

No product lifecycle behavior, timeout, retry, serialization, or assertion scope changed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant