• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pantsbuild / pants / 24462635203
80%
main: 93%

Build:
Build:
LAST BUILD BRANCH: improve_uv
DEFAULT BRANCH: main
Ran 15 Apr 2026 03:46PM UTC
Jobs 12
Files 1728
Run time 3min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

15 Apr 2026 03:16PM UTC coverage: 80.27% (+5.2%) from 75.08%
24462635203

push

github

web-flow
Fix sandboxer daemon inheriting parent stdin/stdout file descriptors (Cherry-pick of #23246) (#23253)

## Summary
- Redirect the sandboxer daemon's stdin and stdout to `/dev/null` when
spawning, preventing it from holding the parent's file descriptors open
indefinitely
- Only stderr was previously redirected (to a logfile); stdin/stdout
used Tokio's default (`Stdio::inherit()`), causing hangs when the
parent's stdout was a pipe or regular file

## Context

Fixes #23169

When the sandboxer daemon is spawned without explicit stdin/stdout
configuration, it inherits the parent's file descriptors. If those FDs
are pipes (e.g., `pants ... | grep`, pre-commit hooks, IDE integrations,
AI coding tools capturing output) or regular files, the sandboxer holds
them open for its lifetime, preventing EOF and causing the caller to
hang.

The sandboxer communicates exclusively via a Unix domain socket and
never reads stdin or writes stdout. All logging goes to stderr via
`env_logger`. This change matches the existing pattern used by other
process runners in the codebase (`local.rs`, `workspace.rs`).

## Test plan
- [x] `cargo test -p sandboxer` passes (3 tests)
- [x] FD inspection before/after: verified the sandboxer's FD 1 changes
from inherited `REG pants.log` to `CHR /dev/null` across all three
stdout contexts (see [test
script](https://gist.github.com/tarekrached/30c7f05cdf4eb6dd0975fe3d91697701)
and [verification
comment](https://github.com/pantsbuild/pants/pull/23246#issuecomment-4239525830))

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Tarek Rached <tarek.rached@equilibriumenergy.com>

78805 of 98175 relevant lines covered (80.27%)

3.36 hits per line

Jobs
ID Job ID Ran Files Coverage
1 test_python_macos14_arm64 - 24462635203.1 15 Apr 2026 03:50PM UTC 1170
43.26
GitHub Action Run
2 test_python_linux_arm64 - 24462635203.2 15 Apr 2026 03:46PM UTC 1170
43.25
GitHub Action Run
3 test_python_linux_x86_64_8/10 - 24462635203.3 15 Apr 2026 04:04PM UTC 1188
45.22
GitHub Action Run
4 test_python_linux_x86_64_6/10 - 24462635203.4 15 Apr 2026 03:55PM UTC 1183
40.79
GitHub Action Run
5 test_python_linux_x86_64_4/10 - 24462635203.5 15 Apr 2026 04:10PM UTC 1219
49.76
GitHub Action Run
6 test_python_linux_x86_64_1/10 - 24462635203.6 15 Apr 2026 04:00PM UTC 1185
40.08
GitHub Action Run
7 test_python_linux_x86_64_2/10 - 24462635203.7 15 Apr 2026 03:56PM UTC 1188
46.72
GitHub Action Run
8 test_python_linux_x86_64_5/10 - 24462635203.8 15 Apr 2026 03:56PM UTC 1201
49.13
GitHub Action Run
9 test_python_linux_x86_64_9/10 - 24462635203.9 15 Apr 2026 04:01PM UTC 1193
44.94
GitHub Action Run
10 test_python_linux_x86_64_7/10 - 24462635203.10 15 Apr 2026 04:06PM UTC 1192
42.55
GitHub Action Run
11 test_python_linux_x86_64_0/10 - 24462635203.11 15 Apr 2026 04:01PM UTC 1207
46.79
GitHub Action Run
12 test_python_linux_x86_64_3/10 - 24462635203.12 15 Apr 2026 04:02PM UTC 1186
45.68
GitHub Action Run
Source Files on build 24462635203
  • Tree
  • List 1728
  • Changed 648
  • Source Changed 0
  • Coverage Changed 648
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24462635203
  • 8c27fe87 on github
  • Prev Build on 2.31.x (#24457923341)
  • Next Build on 2.31.x (#24466190608)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc