Age | Commit message (Collapse) | Author |
|
This removes a dynamic stack allocation, making the derivation
unparsing logic robust against overflows when large strings are
added to a derivation.
Overflow behavior depends on the platform and stack configuration.
For instance, x86_64-linux/glibc behaves as (somewhat) expected:
$ (ulimit -s 20000; nix-instantiate tests/lang/eval-okay-big-derivation-attr.nix)
error: stack overflow (possible infinite recursion)
$ (ulimit -s 40000; nix-instantiate tests/lang/eval-okay-big-derivation-attr.nix)
error: expression does not evaluate to a derivation (or a set or list of those)
However, on aarch64-darwin:
$ nix-instantiate big-attr.nix ~
zsh: segmentation fault nix-instantiate big-attr.nix
This indicates a slight flaw in the single stack protection page
approach that is not encountered with normal stack frames.
|
|
|
|
This caused the gc test to fail on Darwin.
|
|
http://hydra.nixos.org/build/36631898
|
|
|
|
|
|
|
|
*why* the test failed...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Removed some dead code (successor stuff) from nix-push.
* Updated terminology in the tests (store expr -> drv path).
* Check that the deriver is set properly in the tests.
|
|
back the query flag `--force-realise'.
* Fixed some of the tests.
|
|
* Re-enable `nix-store --query --requisites'.
|
|
environment variables.
* Started adding some automatic tests.
* Do a `make check' when building RPMs.
|