-
-
Notifications
You must be signed in to change notification settings - Fork 17.7k
nixVersions.nix_2_32: 2.32.4 -> 2.32.5 #477176
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
# Changelog: Nix 2.32.5 ## Bug Fixes ### Critical Crashes Fixed - **Fix heap-use-after-free crash under high build load** ([NixOS#14772](NixOS/nix#14772)) Fixed a daemon segfault that could occur under high build load. The issue was caused by the `initialOutputs` field referencing data from an activation frame that had gone out of scope during coroutine tail-call optimization in the build scheduler. - **Fix segfault when querying non-existent derivation files** ([NixOS#14571](NixOS/nix#14571), [NixOS#14572](NixOS/nix#14572)) Running `nix derivation show /nix/store/...-doesnotexist.drv` would crash with a segfault. Now properly returns an "invalid store path" error. - **Fix RestrictedStore::addDependency crash** ([NixOS#14729](NixOS/nix#14729)) Fixed a crash caused by incorrect non-virtual interface pattern implementation that led to bad recursion/UB in `addDependencyPrep`. ### Regressions Fixed - **Fix "dynamic attributes not allowed in let" regression** ([NixOS#14642](NixOS/nix#14642), [NixOS#14646](NixOS/nix#14646)) Expressions like `let a = 1; "b" = 2; ${"c"} = 3; in [ a b c ]` that worked in 2.30 would incorrectly fail in 2.32.x. This was caused by the ExprString arena optimization, which has been reverted. - **Fix fetchGit with `ref = "HEAD"` regression** ([NixOS#13948](NixOS/nix#13948), [NixOS#14672](NixOS/nix#14672)) `fetchGit { url = "..."; ref = "HEAD"; }` was broken and returned "revspec 'HEAD' not found". - **Fix unnecessary substituter queries** ([NixOS#14836](NixOS/nix#14836), [NixOS#14837](NixOS/nix#14837)) Fixed a regression where Nix would query all substituters (including `cache.nixos.org`) even when a higher-priority local substituter already had the path. This caused unnecessary network traffic. ### Platform-Specific Fixes - **Fix curl with c-ares failing DNS resolution in macOS sandbox** ([NixOS#14792](NixOS/nix#14792)) When curl is built with c-ares (as in recent nixpkgs), DNS resolution would fail inside the Nix build sandbox on macOS with "Could not contact DNS servers". ### Store & File System Fixes - **Fix file system race conditions in store optimization** ([NixOS#14676](NixOS/nix#14676), [NixOS#7273](NixOS/nix#7273)) Multiple fixes to `optimizePath_`: - Actually call `remove()` when `rename()` fails - Propagate error codes in `createSymlink()` - Make `AutoDelete` non-copyable and non-movable to prevent use-after-free ## Improvements - **Include path in world-writable error messages** ([NixOS#14785](NixOS/nix#14785)) The error message for world-writable directory checks now includes the specific path that failed, making debugging easier. - **Documentation: correct `build-dir` error information** ([NixOS#14745](NixOS/nix#14745)) Fixed out-of-date information in the manual about `build-dir` errors and added links to relevant settings. ## Maintenance - CI improvements: added `upload-release.yml` workflow, improved Docker push workflow configurability, updated magic-nix-cache with post-build-hook fix - Documented maintainer git tag signing process - Fixed lowdown override compatibility with newer nixpkgs - Removed mdbook-linkcheck and added support for mdbook 0.5.x - Remove static data from headers to fix compilation issues - **Fix heap-use-after-free crash under high build load** ([NixOS#14772](NixOS/nix#14772)) --- Diff: NixOS/nix@2.32.4...2.32.5
|
|
|
Hydra's currently broken on master. |
|
Hydra is still broken on unstable |
|
Apologies, I got confused and thought this PR broke Hydra. I see it was broken before now. |
Changelog: Nix 2.32.5
Bug Fixes
Critical Crashes Fixed
Fix heap-use-after-free crash under high build load (#14772)
Fixed a daemon segfault that could occur under high build load. The issue was caused by the
initialOutputsfield referencing data from an activation frame that had gone out of scope during coroutine tail-call optimization in the build scheduler.Fix segfault when querying non-existent derivation files (#14571, #14572)
Running
nix derivation show /nix/store/...-doesnotexist.drvwould crash with a segfault. Now properly returns an "invalid store path" error.Fix RestrictedStore::addDependency crash (#14729)
Fixed a crash caused by incorrect non-virtual interface pattern implementation that led to bad recursion/UB in
addDependencyPrep.Regressions Fixed
Fix "dynamic attributes not allowed in let" regression (#14642, #14646)
Expressions like
let a = 1; "b" = 2; ${"c"} = 3; in [ a b c ]that worked in 2.30 would incorrectly fail in 2.32.x. This was caused by the ExprString arena optimization, which has been reverted.Fix fetchGit with
ref = "HEAD"regression (#13948, #14672)fetchGit { url = "..."; ref = "HEAD"; }was broken and returned "revspec 'HEAD' not found".Fix unnecessary substituter queries (#14836, #14837)
Fixed a regression where Nix would query all substituters (including
cache.nixos.org) even when a higher-priority local substituter already had the path. This caused unnecessary network traffic.Platform-Specific Fixes
Fix curl with c-ares failing DNS resolution in macOS sandbox (#14792)
When curl is built with c-ares (as in recent nixpkgs), DNS resolution would fail inside the Nix build sandbox on macOS with "Could not contact DNS servers".
Store & File System Fixes
Fix file system race conditions in store optimization (#14676, #7273)
Multiple fixes to
optimizePath_:remove()whenrename()failscreateSymlink()AutoDeletenon-copyable and non-movable to prevent use-after-freeImprovements
Include path in world-writable error messages (#14785)
The error message for world-writable directory checks now includes the specific path that failed, making debugging easier.
Documentation: correct
build-direrror information (#14745)Fixed out-of-date information in the manual about
build-direrrors and added links to relevant settings.Maintenance
upload-release.ymlworkflow, improved Docker push workflow configurability, updated magic-nix-cache with post-build-hook fixDiff: NixOS/nix@2.32.4...2.32.5
Things done
passthru.tests.nixpkgs-reviewon this PR. See nixpkgs-review usage../result/bin/.Add a 👍 reaction to pull requests you find important.