mirror of
https://github.com/NixOS/nix.git
synced 2025-11-24 11:19:35 +01:00
Similar to the deepSeq fix, toJSON on deeply nested structures caused an uncontrolled OS-level stack overflow. Fix by adding call depth tracking to printValueAsJSON.
15 lines
439 B
Nix
15 lines
439 B
Nix
# Test that derivations with __structuredAttrs and deeply nested structures
|
|
# produce a controlled stack overflow error rather than a segfault.
|
|
|
|
derivation {
|
|
name = "test";
|
|
system = "x86_64-linux";
|
|
builder = "/bin/sh";
|
|
__structuredAttrs = true;
|
|
nested =
|
|
let
|
|
long = builtins.genList (x: x) 100000;
|
|
reverseLinkedList = builtins.foldl' (tail: head: { inherit head tail; }) null long;
|
|
in
|
|
reverseLinkedList;
|
|
}
|