resolve: passAsFile importcfg_entries (dynamic-mode link drv exceeds MAX_ARG_STRLEN on torture)#127
Merged
aldoborrero merged 1 commit intomainfrom Apr 16, 2026
Merged
Conversation
The link drv's importcfg_entries env var holds one packagefile line per transitive dep — ~400KB on torture (3270+ packages), which exceeds Linux's 128KB MAX_ARG_STRLEN and fails the builder exec with "Argument list too long". passAsFile makes Nix write it to a temp file and pass the path instead. Same for per-package compile drvs (smaller but no reason to differ). Dag mode already does this for compileManifestJSON. :house: Remote-Dev: homespace
Benchmark Regression Check
Baseline: |
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.
Follow-up to #125 — second commit there didn't land. The dynamic-mode link drv puts ~3270
packagefilelines into oneimportcfg_entriesenv var (~400KB), which exceeds Linux'sMAX_ARG_STRLEN(128KB) and the builder exec fails withArgument list too long.passAsFilemakes Nix write it to a temp file. With this + #125,bench-incremental --fixture torture --tools nix-dynamic(from #124) completes.