Skip to content

fix(cli-agent-bridge): recover verified children of zombie parents - #9

Draft
Hylouis233 wants to merge 1 commit into
audit/bridge-upstream-20261002from
fix/bridge-zombie-reparent-20261002
Draft

Hylouis233 wants to merge 1 commit into
audit/bridge-upstream-20261002from
fix/bridge-zombie-reparent-20261002

Conversation

@Hylouis233

@Hylouis233 Hylouis233 commented Oct 2, 2026 •

Copy link
Copy Markdown
Owner

Scope

Own-fork draft for review against upstream main 6481e4ae1e0375a4ddb3d5e9b29845354ab1cead. The base branch is an unchanged snapshot of that commit. This isolates the useful remainder of fix/bridge-stability-20260911 after upstream MiniMax-AI#43 and MiniMax-AI#50; it does not reopen the old test-timing changes or port larger Windows smoke budgets.

Remaining bug

On Linux, an exited parent can remain in /proc as a zombie with its original start identity after the child has already been reparented. The current early-child-binding logic cannot establish the old PPID relationship in this case. Later queue processing permanently marks the child uncertain and omits it from the snapshot even when its run marker independently proves ownership.

Recover that child only after two consecutive stable run-marker scans and a final same-generation PID identity check. Preserve early child binding, immutable recorded identities, sticky prior uncertainty, and rejection of wrong/absent markers. This improves the retained POSIX diagnostic tracker; it does not enable POSIX production delegation or change the Windows Job Object support boundary.

Validation

  • The six new event-driven regressions fail three cases on unmodified upstream, including the zombie-parent reproduction
  • Current candidate process-tree tests: 53 passed, 0 failed
  • Current candidate process-tree plus workspace-lock tests: 80 passed, 0 failed
  • Repository validator: 28 hosted Plugins and all examples passed
  • git diff --check passed
  • Fresh Ubuntu CI: 351 tests passed, 0 failed, 0 skipped on Node 22.23.3
  • Complete native Windows bridge suite: 228 total, 212 passed, 0 failed, 16 existing platform skips on Node 22.23.3
  • CodeQL passed
  • Validated head: e8974b8cf7598661556873cd69122cce599e42ed; the CI merge commit and head have the identical tree 6dc99bec177a4e114d6cf80388348aa530064568

Only process-tree.mjs and tests/process-tree.test.mjs are changed. No workflow edits, deadline-budget changes, new dependencies, releases, or deployment.

A parent can retain its original /proc identity as a zombie after its child
has been reparented. Recover this remaining diagnostic-tracker race only
after stable run-marker evidence and a final immutable PID identity check.

Keep upstream's early child binding, sticky uncertainty, and Windows-only
production support boundary. Add six event-driven regressions covering
recovery, wrong or absent markers, PID reuse, child exit, and uncertainty.
Do not change integration budgets or workflow configuration.
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