Stop macOS e2e from exhausting PTYs#825
Merged
Merged
Conversation
8adf721 to
f51883b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Kolu now consumes the Juspay node-pty fork branch that keeps
foregroundPidand fixes the macOS/dev/ptmxleak. The previous setup patched npmnode-pty@1.1.0locally forforegroundPid, but that release leaks one PTY fd per spawn on Darwin and eventually makes e2e crash with an uncaughtNapi::Error.The dependency now resolves to
juspay/node-pty#fix/darwin-pty-fd-leak, pinned inpnpm-lock.yamlas commitcc137d9. That fork branch is based onkolu/foreground-pid, cherry-picks upstreammicrosoft/node-ptyPR #882 (af053f2), and includes builtlib/output so Kolu’s Nix package can consume it from a git tarball like it consumed the npm package. The oldpatches/node-pty@1.1.0.patchis no longer needed.The foreground PID patch has also been opened upstream as microsoft/node-pty#918.
Verification
just fmtnix develop --accept-flake-config -c pnpm --filter kolu-server typechecknix buildnode-ptyexposesforegroundPidsincereintent, with Kolu wired to the same fork commit:start 0,end 0after 20 PTY spawnsCUCUMBER_PARALLEL=1 KOLU_TEST_VERBOSE=1 just test-quick features/codex.featurepassed: 6 scenarios, 27 stepsjust cipassed on commitf51883bacross all expected contextsTry it locally
Generated by Codex (model
gpt-5).