Skip to content

Conversation

@swordfish444
Copy link
Contributor

Fixes #9559.

When shell_snapshot runs, it may execute user startup files (e.g. .bashrc). If those files read from stdin (or if stdin is an interactive TTY under job control), the snapshot subprocess can block or receive SIGTTIN (as reported over SSH).

This change explicitly sets stdin to Stdio::null() for the snapshot subprocess, so it can't read from the terminal.

Regression test added that would hang/timeout without this change.
Tests: ulimit -n 4096 && cargo test -p codex-core.

cc @dongdongbh @etraut-openai

@etraut-openai
Copy link
Collaborator

@codex review

@chatgpt-codex-connector
Copy link
Contributor

Codex Review: Didn't find any major issues. 🎉

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@swordfish444
Copy link
Contributor Author

@etraut-openai ping — all required checks are green, and Codex review came back clean. When you have a moment, could you take a look?

(For context: Bazel is marked SKIPPED on fork PRs since BUILDBUDDY_API_KEY isn’t available to forks; happy to adjust if you’d prefer a different approach.)

@etraut-openai
Copy link
Collaborator

@swordfish444, we're pretty far behind on code reviews at the moment. The entire Codex team is very busy on higher-priority work. This is in the queue, and we'll get to this eventually.

cancel-in-progress: ${{ github.ref_name != 'main' }}
jobs:
test:
# This workflow relies on `secrets.BUILDBUDDY_API_KEY`, which is not available for PRs
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bazel is not required for now in the CI so please drop this

@etraut-openai etraut-openai added the needs-response Additional information is requested label Jan 26, 2026
@swordfish444
Copy link
Contributor Author

@jif-oai Done — dropped the Bazel workflow change (reverted). PR now only contains the shell_snapshot fix. Thanks!

@swordfish444 swordfish444 requested a review from jif-oai January 27, 2026 16:27
@etraut-openai etraut-openai removed the needs-response Additional information is requested label Jan 28, 2026
@jif-oai
Copy link
Collaborator

jif-oai commented Jan 28, 2026

@codex review

@chatgpt-codex-connector
Copy link
Contributor

Codex Review: Didn't find any major issues. Delightful!

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@swordfish444
Copy link
Contributor Author

@etraut-openai Totally understand the review backlog.

I’ve been doing some issue triage (closing obvious dupes/empty reports + consolidating threads) to help reduce noise. If there are any specific issue clusters you’d like support on (e.g. identify confirmed dupes / gather repros), point me at them and I’ll focus there.

@etraut-openai
Copy link
Collaborator

@swordfish444, thanks I appreciate your contributions!

@etraut-openai etraut-openai merged commit 9008a0e into openai:main Jan 30, 2026
26 of 32 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Jan 30, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TTY input fails over SSH with SIGTTIN (regression in v0.71.0+)

4 participants