Fix pipe I/O failures when fd exceeds FD_SETSIZE

NousResearch/hermes-agent · cluster 94928 · environments

Data as of

Nothing open on GitHub. Fix merged in #142299. Check it covers your case.

The short answer

0open issues
0open PRs
8items grouped
Known?
Yes. 8 related items grouped here, 1 issue already closed.
Fix event
A fix was merged to main in PR #142299. Check it covers your case. No release data is tracked.
Tracker
The maintainers' tracker marks this resolved, deciding PR #142299. That is separate from the fix event.
Still open
Nothing open on GitHub.

These items address a bug where terminal and tool output is lost when pipe file descriptors reach or exceed FD_SETSIZE. The fix replaces select()-based draining with poll() or selector APIs that handle high-numbered file descriptors correctly.

Open issues0

No open issues.

Open PRs0

No open pull requests.

Fixes on record

Merged to main. A stamp counts the issues a fix is linked to.

  • #142299 fix(terminal): command output no longer vanishes above 1024 open fds (#94928, salvage #142125)

    merged to main

    files: contributors/emails/[redacted:email], hermes_cli/pty_bridge.py, tests/hermes_cli/test_pty_bridge.py, tests/tools/test_drain_high_fd.py, tools/environments/base_output.py, tools/environments/fd_wait.py, tools/process_registry.py

6 PRs closed without merging

From the close comments: superseded by another PR 2 · PR volume cleanup 1 · closed without comment 1 · done elsewhere 1 · duplicate 1

  • #94934 fix(tools): drain high-fd pipes with selectors instead of select · closed without comment
  • #94937 fix(tools): drain high-fd pipes with selectors instead of select · duplicate → #94939, #94928
  • #94939 fix(terminal): drain stdout with poll() so output survives pipe fds >= FD_SETSIZE (#94928) · superseded by another PR → #94937, #94928, #8340
  • #95177 fix(tools): drain high-fd pipes with selectors instead of select · PR volume cleanup
  • #135141 fix(terminal): retain subprocess output above FD_SETSIZE · superseded by another PR → 0b8dee0, 3559108, #142299
Show 1 more
  • #142125 fix(terminal): drain stdout with selectors to survive fd >= FD_SETSIZE · done elsewhere → 0b8dee0, 9b6b243, 0910e48, #142299
Closed issues · 1
  • Closed#94928[Bug]: Desktop: terminal/read_file return empty output when pipe fds exceed FD_SETSIZE
How this cluster was grouped
  • Link evidence (structural links throughout): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
  • Pairwise link density 0.29: the share of item pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. 1.00 means every pair is linked.

Pick up a Lab task

Check whether a fix covers the open issues here, with your own agent. Bring back evidence for maintainers.

Open the Lab

At a glance

Subsystem
environments
Merged PRs
#142299
Closed issues
1
Attempts
6 PRs closed without merging
Fix link checked
21 Oct 2026

For your agent

The same facts, typed.