treewide: Remove toView() because it leads to segfaults when compiled…#14154
Merged
treewide: Remove toView() because it leads to segfaults when compiled…#14154
Conversation
… with newer nixpkgs
Firstly, this is now available on darwin where the default in llvm 19.
Secondly, this leads to very weird segfaults when building with newer nixpkgs for some reason.
(It's UB after all).
This appears when building with the following:
mesonComponentOverrides = finalAttrs: prevAttrs: {
mesonBuildType = "debugoptimized";
dontStrip = true;
doCheck = false;
separateDebugInfo = false;
preConfigure = (prevAttrs.preConfigure or "") + ''
case "$mesonBuildType" in
release|minsize|debugoptimized) appendToVar mesonFlags "-Db_lto=true" ;;
*) appendToVar mesonFlags "-Db_lto=false" ;;
esac
'';
};
And with the following nixpkgs input:
nix build ".#nix-cli" -L --override-input nixpkgs "https://releases.nixos.org/nixos/unstable/nixos-25.11pre870157.7df7ff7d8e00/nixexprs.tar.xz"
Stacktrace:
#0 0x00000000006afdc0 in ?? ()
#1 0x00007ffff71cebb6 in _Unwind_ForcedUnwind_Phase2 () from /nix/store/41ym1jm1b7j3rhglk82gwg9jml26z1km-gcc-14.3.0-lib/lib/libgcc_s.so.1
#2 0x00007ffff71cf5b5 in _Unwind_Resume () from /nix/store/41ym1jm1b7j3rhglk82gwg9jml26z1km-gcc-14.3.0-lib/lib/libgcc_s.so.1
#3 0x00007ffff7eac7d8 in std::basic_ios<char, std::char_traits<char> >::~basic_ios (this=<optimized out>, this=<optimized out>)
at /nix/store/82kmz7r96navanrc2fgckh2bamiqrgsw-gcc-14.3.0/include/c++/14.3.0/bits/basic_ios.h:286
#4 std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream (this=<optimized out>, this=<optimized out>)
at /nix/store/82kmz7r96navanrc2fgckh2bamiqrgsw-gcc-14.3.0/include/c++/14.3.0/sstream:806
#5 nix::SimpleLogger::logEI (this=<optimized out>, ei=...) at ../logging.cc:121
#6 0x00007ffff7515794 in nix::Logger::logEI (this=0x675450, lvl=nix::lvlError, ei=...) at /nix/store/bkshji3nnxmrmgwa4n2kaxadajkwvn65-nix-util-2.32.0pre-dev/include/nix/util/logging.hh:144
#7 nix::handleExceptions (programName=..., fun=...) at ../shared.cc:336
#8 0x000000000047b76b in main (argc=<optimized out>, argv=<optimized out>) at /nix/store/82kmz7r96navanrc2fgckh2bamiqrgsw-gcc-14.3.0/include/c++/14.3.0/bits/new_allocator.h:88
Mic92
approved these changes
Oct 5, 2025
|
Backport failed for Please cherry-pick the changes locally and resolve any conflicts. git fetch origin 2.28-maintenance
git worktree add -d .worktree/backport-14154-to-2.28-maintenance origin/2.28-maintenance
cd .worktree/backport-14154-to-2.28-maintenance
git switch --create backport-14154-to-2.28-maintenance
git cherry-pick -x dce1a893d0206083cbab19b9211ddb01eaa53f70 |
1 similar comment
|
Backport failed for Please cherry-pick the changes locally and resolve any conflicts. git fetch origin 2.28-maintenance
git worktree add -d .worktree/backport-14154-to-2.28-maintenance origin/2.28-maintenance
cd .worktree/backport-14154-to-2.28-maintenance
git switch --create backport-14154-to-2.28-maintenance
git cherry-pick -x dce1a893d0206083cbab19b9211ddb01eaa53f70 |
|
Successfully created backport PR for |
philiptaron
added a commit
to philiptaron/nixpkgs
that referenced
this pull request
Jan 8, 2026
## Bug fixes (crashes) - Fix segfaults from `toView()` when compiled with newer nixpkgs (NixOS/nix#14154) - Fix use-after-move in `DerivationGoal::repairClosure` and `SampleStack` (NixOS/nix#14086) - Fix assertion failure on partially valid derivation outputs (NixOS/nix#14137) - Fix `RestrictedStore::addDependency` recursion causing crashes (NixOS/nix#14729) - Fix crash on flakerefs containing newlines (NixOS/nix#14450) ## Bug fixes (functionality) - Fix fakeSSH check breaking SSH copies with `user@host` format (NixOS/nix#14150) - Fix `builtins.dirOf` regression from Nix 2.23 (NixOS/nix#14515) - Restore missing `isAllowed` check in `ChrootLinuxDerivationBuilder` (NixOS/nix#14531) - Fix curl with c-ares failing to resolve DNS in sandbox on macOS (NixOS/nix#14792) - Fix tarball percent decoding for `file://` URIs (NixOS/nix#14729) - `exportReferencesGraph`: Handle heterogeneous arrays (NixOS/nix#13861) - Fix filesystem ops in store optimization (NixOS/nix#14676) ## Bug fixes (output) - Fix double-quoting of paths in logs (NixOS/nix#14210) - Include path in world-writable error messages (NixOS/nix#14785) ## Improvements - Better git refnames validation (NixOS/nix#14253) - Use pure/restricted eval for help pages (NixOS/nix#14156) - Improve store-reference compatibility with IPv6 ZoneId literals (NixOS/nix#14134) - Correct `build-dir` error in manual (NixOS/nix#14745) ## Build system - Add mdbook 0.5 support (NixOS/nix#14690) - Drop legacy Apple SDK pattern (NixOS/nix#13976) https://github.com/NixOS/nix/releases/tag/2.31.3
philiptaron
added a commit
to philiptaron/nixpkgs
that referenced
this pull request
Jan 8, 2026
Changelog of fixes: ## Bug fixes (crashes) - Fix segfaults from `toView()` when compiled with newer nixpkgs (NixOS/nix#14154) - Fix use-after-move in `DerivationGoal::repairClosure` and `SampleStack` (NixOS/nix#14086) - Fix assertion failure on partially valid derivation outputs (NixOS/nix#14137) - Fix `RestrictedStore::addDependency` recursion causing crashes (NixOS/nix#14729) - Fix crash on flakerefs containing newlines (NixOS/nix#14450) ## Bug fixes (functionality) - Fix fakeSSH check breaking SSH copies with `user@host` format (NixOS/nix#14150) - Fix `builtins.dirOf` regression from Nix 2.23 (NixOS/nix#14515) - Restore missing `isAllowed` check in `ChrootLinuxDerivationBuilder` (NixOS/nix#14531) - Fix curl with c-ares failing to resolve DNS in sandbox on macOS (NixOS/nix#14792) - Fix tarball percent decoding for `file://` URIs (NixOS/nix#14729) - `exportReferencesGraph`: Handle heterogeneous arrays (NixOS/nix#13861) - Fix filesystem ops in store optimization (NixOS/nix#14676) ## Bug fixes (output) - Fix double-quoting of paths in logs (NixOS/nix#14210) - Include path in world-writable error messages (NixOS/nix#14785) ## Improvements - Better git refnames validation (NixOS/nix#14253) - Use pure/restricted eval for help pages (NixOS/nix#14156) - Improve store-reference compatibility with IPv6 ZoneId literals (NixOS/nix#14134) - Correct `build-dir` error in manual (NixOS/nix#14745) ## Build system - Add mdbook 0.5 support (NixOS/nix#14690) - Drop legacy Apple SDK pattern (NixOS/nix#13976) https://github.com/NixOS/nix/releases/tag/2.31.3
13 tasks
philiptaron
added a commit
to philiptaron/nixpkgs
that referenced
this pull request
Jan 15, 2026
Changelog of fixes: ## Bug fixes (crashes) - Fix segfaults from `toView()` when compiled with newer nixpkgs (NixOS/nix#14154) - Fix use-after-move in `DerivationGoal::repairClosure` and `SampleStack` (NixOS/nix#14086) - Fix assertion failure on partially valid derivation outputs (NixOS/nix#14137) - Fix `RestrictedStore::addDependency` recursion causing crashes (NixOS/nix#14729) - Fix crash on flakerefs containing newlines (NixOS/nix#14450) ## Bug fixes (functionality) - Fix fakeSSH check breaking SSH copies with `user@host` format (NixOS/nix#14150) - Fix `builtins.dirOf` regression from Nix 2.23 (NixOS/nix#14515) - Restore missing `isAllowed` check in `ChrootLinuxDerivationBuilder` (NixOS/nix#14531) - Fix curl with c-ares failing to resolve DNS in sandbox on macOS (NixOS/nix#14792) - Fix tarball percent decoding for `file://` URIs (NixOS/nix#14729) - `exportReferencesGraph`: Handle heterogeneous arrays (NixOS/nix#13861) - Fix filesystem ops in store optimization (NixOS/nix#14676) ## Bug fixes (output) - Fix double-quoting of paths in logs (NixOS/nix#14210) - Include path in world-writable error messages (NixOS/nix#14785) ## Improvements - Better git refnames validation (NixOS/nix#14253) - Use pure/restricted eval for help pages (NixOS/nix#14156) - Improve store-reference compatibility with IPv6 ZoneId literals (NixOS/nix#14134) - Correct `build-dir` error in manual (NixOS/nix#14745) ## Build system - Add mdbook 0.5 support (NixOS/nix#14690) - Drop legacy Apple SDK pattern (NixOS/nix#13976) https://github.com/NixOS/nix/releases/tag/2.31.3
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.
… with newer nixpkgs
Motivation
Firstly, this is now available on darwin where the default in llvm 19. Secondly, this leads to very weird segfaults when building with newer nixpkgs for some reason. (It's UB after all).
This appears when building with the following:
And with the following nixpkgs input:
nix build ".#nix-cli" -L --override-input nixpkgs "https://releases.nixos.org/nixos/unstable/nixos-25.11pre870157.7df7ff7d8e00/nixexprs.tar.xz"
Stacktrace:
Context
Add 👍 to pull requests you find important.
The Nix maintainer team uses a GitHub project board to schedule and track reviews.