Skip to content

test: keep reaped browser processes marked stopped - #11235

Merged
atomantic merged 1 commit into
mainfrom
claim/issue-11233
Oct 12, 2026
Merged

atomantic merged 1 commit into
mainfrom
claim/issue-11233

Conversation

@atomantic

Copy link
Copy Markdown
Owner

A killed browser can be reaped between the signal-0 liveness probe and reading its Linux process state. The old fallback reported that completed exit as alive, allowing the browser cleanup poll to reverse an observed zombie exit and fail early.

Recheck signal-0 when the process-state read fails, preserving the existing fallback on platforms without /proc and keeping all browser termination assertions unchanged. A deterministic zombie-to-reaped regression fails against the original helper and passes with this fix. This is a confirmed race consistent with the CI symptom; the historical CI failure itself has not been reproduced.

Validation:

  • Complete temp-root lifecycle and process-liveness suites: 14 passed.
  • 50 focused repetitions with four concurrent invocations and PORTOS_PREGATE_MAX_WORKERS=4: all passed on macOS, including the simulated Linux reaping race.
  • Configured tool-free provider:codex review (gpt-6.1-sol, low): clean, no findings.
  • npm run pregate: passed (reported stages only; required CI remains authoritative).

Closes #11233

@atomantic
atomantic merged commit 542d97a into main Oct 12, 2026
10 checks passed
@atomantic
atomantic deleted the claim/issue-11233 branch October 12, 2026 02:42
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.

CI: vitestTempRoot "stops a browser left by a dead run" failed on a client-only PR

1 participant