Skip to content

test: synchronize process timeout fixture - #204

Merged
steipete merged 1 commit into
mainfrom
codex/fix-attachment-pid-readiness
Aug 2, 2026
Merged

test: synchronize process timeout fixture#204
steipete merged 1 commit into
mainfrom
codex/fix-attachment-pid-readiness

Conversation

@steipete

@steipete steipete commented Aug 2, 2026

Copy link
Copy Markdown
Collaborator

Root cause

The descendant-cleanup regression started its 500 ms kill deadline immediately after launching its shell fixture, then read the PID file only after the timed operation returned. Under scheduler pressure, the timeout could terminate the shell before it spawned the child and wrote pids, producing NSCocoaErrorDomain 260. The temporary directory cleanup was not early; the file had never been created.

Fix

  • move the descendant process-group regression to the ProcessTimeout owner tests
  • have the fixture persist both PIDs and emit a readiness byte through a pipe
  • close the parent pipe writer and keep the descendant from inheriting the readiness pipe
  • begin the timeout only after the parent receives readiness and parses both PIDs
  • add the 0.13.5 reliability changelog entry

Proof

  • exact regression: 20 consecutive runs passed
  • full suite: 501 tests passed
  • lint: passed with existing warning baseline only
  • production arm64 CLI and arm64e/arm64/x86_64 helper build: passed
  • live binary: imsg --version returned 0.13.5 and imsg status --json returned a valid SIP-safe payload
  • pre-commit autoreview at P2 scope: clean

@clawsweeper

clawsweeper Bot commented Aug 2, 2026

Copy link
Copy Markdown

ClawSweeper status: review started.

I am starting a fresh review of this pull request: test: synchronize process timeout fixture This is item 1/1 in the current shard. Shard 0/1.

This placeholder means the worker is alive and reading the current context. I will edit this same comment with the actual review when the claws are done clicking.

Crustacean status: shell secured, claws on keyboard, evidence pebbles being sorted.

@steipete
steipete merged commit 5bdd2b0 into main Aug 2, 2026
4 checks passed
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