Skip to content

fix: Avoid panic in sandboxed environments by removing system-configuration dependency#11828

Merged
anthonyshew merged 1 commit intomainfrom
shew/issue-11826
Feb 13, 2026
Merged

fix: Avoid panic in sandboxed environments by removing system-configuration dependency#11828
anthonyshew merged 1 commit intomainfrom
shew/issue-11826

Conversation

@anthonyshew
Copy link
Copy Markdown
Contributor

Summary

Fixes #11826

  • Replace hyper-util's "full" feature flag with only the features actually used (client-legacy, http1, http2, tokio) in turborepo-microfrontends-proxy
  • This removes the system-configuration crate from the dependency tree entirely

Why

The "full" feature on hyper-util includes "client-proxy-system", which pulls in the system-configuration crate on macOS. Due to Cargo feature unification, this feature was activated for all hyper-util consumers in the workspace, including reqwest.

When reqwest builds a client, it calls SCDynamicStoreCreateWithOptions() to detect system proxy settings. In sandboxed environments (e.g. OpenAI Codex), this macOS API returns NULL, and the system-configuration crate panics with "Attempted to create a NULL object" — crashing turbo with exit code 101.

The microfrontends proxy never needed system proxy detection. It only uses hyper-util for its HTTP client (Client::builder), TokioIo, TokioExecutor, and HTTP/1+2 support.

Testing

  • cargo check --workspace passes
  • All 13 turborepo-microfrontends-proxy tests pass
  • cargo tree --workspace | grep system-configuration returns nothing — the dependency is fully removed

…ration dependency

Replace hyper-util's "full" feature with only the specific features needed
(client-legacy, http1, http2, tokio). The "full" feature included
"client-proxy-system", which pulls in the system-configuration crate on
macOS. Due to Cargo feature unification, this activated system proxy
detection for all reqwest clients in the workspace. In sandboxed environments
(e.g. Codex), the macOS SCDynamicStoreCreateWithOptions() API returns NULL,
causing a panic in the system-configuration crate.

Closes #11826
@anthonyshew anthonyshew requested a review from a team as a code owner February 13, 2026 13:33
@anthonyshew anthonyshew requested review from tknickman and removed request for a team February 13, 2026 13:33
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented Feb 13, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
examples-basic-web Ready Ready Preview, Comment, Open in v0 Feb 13, 2026 1:34pm
examples-designsystem-docs Ready Ready Preview, Comment, Open in v0 Feb 13, 2026 1:34pm
examples-gatsby-web Ready Ready Preview, Comment, Open in v0 Feb 13, 2026 1:34pm
examples-kitchensink-blog Ready Ready Preview, Comment, Open in v0 Feb 13, 2026 1:34pm
examples-nonmonorepo Ready Ready Preview, Comment, Open in v0 Feb 13, 2026 1:34pm
examples-svelte-web Ready Ready Preview, Comment, Open in v0 Feb 13, 2026 1:34pm
examples-tailwind-web Ready Ready Preview, Comment, Open in v0 Feb 13, 2026 1:34pm
examples-vite-web Ready Ready Preview, Comment, Open in v0 Feb 13, 2026 1:34pm
turbo-site Ready Ready Preview, Comment, Open in v0 Feb 13, 2026 1:34pm
turborepo-agents Ready Ready Preview, Comment, Open in v0 Feb 13, 2026 1:34pm
turborepo-test-coverage Ready Ready Preview, Comment, Open in v0 Feb 13, 2026 1:34pm

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented Feb 13, 2026

Congrats! CodSpeed is installed 🎉

🆕 4 new benchmarks were detected.

You will start to see performance impacts in the reports once the benchmarks are run from your default branch.

Detected benchmarks


Open in CodSpeed

@github-actions
Copy link
Copy Markdown
Contributor

Coverage Report

Metric Coverage
Lines 76.16%
Functions 47.08%
Branches 0.00%

View full report

@anthonyshew anthonyshew merged commit 1aa2ba1 into main Feb 13, 2026
103 of 105 checks passed
@anthonyshew anthonyshew deleted the shew/issue-11826 branch February 13, 2026 13:52
github-actions Bot added a commit that referenced this pull request Feb 13, 2026
## Release v2.8.8-canary.2

Versioned docs: https://v2-8-8-canary-2.turborepo.dev

### Changes

- release(turborepo): 2.8.8-canary.1 (#11817) (`bcf2007`)
- fix: Repair audit fixer log streaming and replace git push with patch
upload (#11818) (`fb0e937`)
- chore: Small stuff for agent fixer (#11819) (`74e9bf2`)
- chore: Bump tonic to 0.14 (#11820) (`bd26746`)
- feat: Add security gate to release pipeline (#11821) (`e762d80`)
- fix: Pin @turbo/gen version to match the running turbo binary (#11822)
(`eabd8f4`)
- chore: Use env vars for remote cache config in integration tests
(#11823) (`008fc2c`)
- fix: Use `secret_key_override` in tests to eliminate env var race
condition (#11824) (`f297435`)
- fix: Avoid panic in sandboxed environments by removing
system-configuration dependency (#11828) (`1aa2ba1`)
- ci: Make release security scan non-blocking (#11830) (`4836f65`)

Co-authored-by: Turbobot <turbobot@vercel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

The turbo command failed to run in Codex

1 participant