fix: Avoid panic in sandboxed environments by removing system-configuration dependency#11828
Merged
anthonyshew merged 1 commit intomainfrom Feb 13, 2026
Merged
fix: Avoid panic in sandboxed environments by removing system-configuration dependency#11828anthonyshew merged 1 commit intomainfrom
anthonyshew merged 1 commit intomainfrom
Conversation
…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
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Congrats! CodSpeed is installed 🎉
You will start to see performance impacts in the reports once the benchmarks are run from your default branch.
|
Contributor
Coverage Report
|
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>
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.
Summary
Fixes #11826
hyper-util's"full"feature flag with only the features actually used (client-legacy,http1,http2,tokio) inturborepo-microfrontends-proxysystem-configurationcrate from the dependency tree entirelyWhy
The
"full"feature onhyper-utilincludes"client-proxy-system", which pulls in thesystem-configurationcrate on macOS. Due to Cargo feature unification, this feature was activated for allhyper-utilconsumers in the workspace, includingreqwest.When
reqwestbuilds a client, it callsSCDynamicStoreCreateWithOptions()to detect system proxy settings. In sandboxed environments (e.g. OpenAI Codex), this macOS API returns NULL, and thesystem-configurationcrate 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-utilfor its HTTP client (Client::builder),TokioIo,TokioExecutor, and HTTP/1+2 support.Testing
cargo check --workspacepassesturborepo-microfrontends-proxytests passcargo tree --workspace | grep system-configurationreturns nothing — the dependency is fully removed