repro: re-enable portable_pty backend to reproduce SIGCHLD crash#71
Closed
gmpassos wants to merge 1 commit into
Closed
repro: re-enable portable_pty backend to reproduce SIGCHLD crash#71gmpassos wants to merge 1 commit into
gmpassos wants to merge 1 commit into
Conversation
… crash This branch exists solely to let the portable_pty maintainer reproduce the intermittent native SIGCHLD-handler crash using the real OmnyShell app. - pubspec.yaml: re-enable portable_pty: ^0.0.5 - un-park the FFI backend/session from .txt -> .dart (archived on master precisely because of this crash); add the missing ShellSession.shellFamily getter that landed on the interface while they were parked - export them from the omnyshell_node barrel - bin/omnyshell.dart: wire `node start --pty-backend native` back in and make it the default so a normal node start uses portable_pty - REPRODUCE.md: step-by-step hub+node+client crash-reproduction guide Not for merge or publish; master's default stays `script`. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
Purpose
Do not merge. This branch exists solely to let the
portable_ptymaintainer reproduce the intermittent nativeSIGCHLD-handler crash using the real OmnyShell app.portable_ptyinstalls a process-globalSIGCHLDhandler that races the Dart VM's child reaper. Under the session churn of opening/closing interactive PTY sessions, the node process intermittently segfaults (EXC_BAD_ACCESS/ "Code Signature Invalid" on macOS) in/aroundportable_pty_open. It's a race, so it doesn't reproduce in a minimal example — hence this harness over the real app.Upstream: https://github.com/kingwill101/dart_terminal/issues
Changes
pubspec.yaml: re-enableportable_pty: ^0.0.5..txt→.dart(archived onmasterprecisely because of this crash); add theShellSession.shellFamilygetter that landed on the interface while they were parked.omnyshell_nodebarrel.bin/omnyshell.dart: wirenode start --pty-backend nativeback in and make it the default, so a normalnode startusesportable_pty.REPRODUCE.md: step-by-step Hub + Node + Client crash-reproduction guide.--pty-backend script(themasterdefault) andnoneremain available and do not crash — useful as a control proving the fault is in the native lib.Verification
dart pub getresolvesportable_pty 0.0.5dart analyze lib bin→ No issues foundnode start --helpshows[script, native (default), none]See REPRODUCE.md for the full reproduction steps.
🤖 Generated with Claude Code