Eelco Dolstra
b91500a14e
Fix clang warning
2022-02-28 15:48:26 +01:00
Eelco Dolstra
a949673a5b
Fix Darwin build
...
Fixes #6169
2022-02-28 15:48:26 +01:00
Eelco Dolstra
df552ff53e
Remove std::string alias (for real this time)
...
Also use std::string_view in a few more places.
2022-02-25 16:13:02 +01:00
Kevin Amado
b312d4d096
refactor: remove verbose-build from docs
...
- From what I see it is an implementation detail
but is no longer configurable from the settings
2022-02-25 09:16:42 -05:00
Eelco Dolstra
36c7b12f33
Remove std::string alias
2022-02-21 16:37:25 +01:00
Eelco Dolstra
fe9afb65bb
Remove std::set alias
2022-02-21 16:28:23 +01:00
Eelco Dolstra
afcdc7606c
Remove std::list alias
2022-02-21 16:25:12 +01:00
Linus Heckemann
dbdc63bc41
path-info: use full store paths when we have them
...
Fixes #5645
2022-02-19 00:32:05 +01:00
Eelco Dolstra
2d6d9a28eb
addToStoreFromDump(): Take std::string_view
2022-02-16 11:02:35 +01:00
Sebastian Ullrich
c437e1326d
Fix using sandbox without user namespaces
2022-02-12 16:28:36 +01:00
Eelco Dolstra
97e02c23bd
Fix 'basic_string::_M_construct null not valid' in interrupted download
...
Fixes #5985 .
2022-02-07 10:53:47 +01:00
Eelco Dolstra
cd35bbbeef
Merge branch 'more-stringviews' of https://github.com/pennae/nix
2022-02-02 12:38:37 +01:00
Thomas Koch
85b1427662
fix spelling mistakes reported by Debian's lintian tool
2022-01-30 10:51:39 +02:00
pennae
41d70a2fc8
return string_views from forceString*
...
once a string has been forced we already have dynamic storage allocated for it,
so we can easily reuse that storage instead of copying.
2022-01-27 17:15:43 +01:00
pennae
0d7fae6a57
convert a for more utilities to string_view
2022-01-27 17:15:43 +01:00
Eelco Dolstra
35dbdbedd4
nix store ping: Report Nix daemon version
...
Fixes #5952 .
2022-01-25 21:15:58 +01:00
Eelco Dolstra
076945c808
Merge pull request #5875 from hercules-ci/fix-large-drv-field-stack-overflow
...
Fix segfault or stack overflow caused by large derivation fields
2022-01-24 12:05:30 +01:00
Robert Hensing
0407436b0f
derivations.cc: Use larger buffer in printString
...
If we want to be careful about hitting the stack protector page, we should use `-fstack-check` instead.
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2022-01-21 17:25:37 +01:00
Eelco Dolstra
e85cf34ea3
Merge pull request #5949 from obsidiansystems/old-copyClosure
...
Add back `copyClosure` for plain `StorePath`s
2022-01-21 11:33:32 +01:00
John Ericson
5ee937523d
Add back copyClosure
for plain StorePath
s
...
This was removed in 2e199673a5
when
`copyPath` transitioned to use `RealisedPath`. But then in
e9848beca7
we added it back just for
`realisedPath`.
I think it is a good utility function --- one can easily imagine it
becoming optimized in the future, and copying paths *violating* the
closure is a very niche feature.
So if we have `copyPaths` for both sorts of paths, I think we should
have `copyClosure` for both sorts too.
2022-01-20 20:57:44 +00:00
Robert Hensing
dec7748119
Replace withBuffer by boost small_vector
...
Although this will leave gaps in the stack, the performance impact
of those should be insignificant and we get a simpler solution
this way.
2022-01-19 15:21:56 +01:00
Robert Hensing
6dd271b7b4
withBuffer: avoid allocating a std::function
2022-01-19 15:21:56 +01:00
Robert Hensing
55c58580be
Add withBuffer
...
... to avoid non-standard, unidiomatic alloca.
2022-01-19 15:21:56 +01:00
Robert Hensing
d038a67bd3
Fix segfault or stack overflow caused by large derivation fields
...
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.
2022-01-19 15:21:56 +01:00
regnat
e36add56cf
Fix the build with nlohmann/json 3.10.4+
2022-01-19 14:37:54 +01:00
lincoln auster [they/them]
3e5a9ad7ff
allow modifying lockfile commit msg with nix config option
...
This allows setting the commit-lockfile-summary option to a non-empty
string to override the commit summary while leaving the body unchanged.
2022-01-18 16:10:27 -07:00
Eelco Dolstra
5b243a2b4b
BinaryCacheStore: Implement addBuildLog()
2022-01-18 16:14:01 +01:00
Eelco Dolstra
4dda1f92aa
Add command 'nix store copy-log'
...
Fixes #5222 .
2022-01-18 14:08:49 +01:00
Eelco Dolstra
f6f0bcf11f
Doh
2022-01-18 14:06:51 +01:00
Eelco Dolstra
50be51d9a8
Doh
2022-01-18 13:50:25 +01:00
Eelco Dolstra
d62a9390fc
Get rid of std::shared_ptr<std::string> and ref<std::string>
...
These were needed back in the pre-C++11 era because we didn't have
move semantics. But now we do.
2022-01-18 11:12:30 +01:00
Eelco Dolstra
776eb97a43
serialise.hh: Use std::string_view
2022-01-17 22:20:23 +01:00
Eelco Dolstra
8a446aff75
Merge pull request #5898 from layus/repair-path-links
...
Make --repair-path also repair corrupt optimised links
2022-01-11 14:14:44 +01:00
Guillaume Maudoux
9f9f39a24b
Prefer RepairFlag over bool when applicable
2022-01-11 13:38:28 +01:00
Guillaume Maudoux
e9a4abdb5d
Make --repair-path also repair corrupt optimised links
...
There already existed a smoke test for the link content length,
but it appears that there exists some corruptions pernicious enough
to replace the file content with zeros, and keeping the same length.
--repair-path now goes as far as checking the content of the link,
making it true to its name and actually repairing the path for such
coruption cases.
2022-01-11 11:57:45 +01:00
Eelco Dolstra
19fd6e585d
'target' points to 'source'
2022-01-10 16:52:25 +01:00
Eelco Dolstra
df11e75d0e
Merge branch 'recursive-nix-fix' of https://github.com/L-as/nix
2022-01-10 16:51:59 +01:00
Eelco Dolstra
be64fb9b51
DerivationGoal::loadDerivation(): Don't use derivationFromPath()
...
This causes a recursive call to ensurePath(), which is not a good
idea.
2022-01-07 13:22:34 +01:00
Domen Kožar
bdc577936f
Merge pull request #5749 from GavinRay97/patch-1
...
Better diagnostics if no valid signature found
2022-01-06 08:39:58 +01:00
Eelco Dolstra
9747ea84b4
Remove CPU locking
...
This was already accidentally disabled in ba87b08
. It also no longer
appears to be beneficial, and in fact slow things down, e.g. when
evaluating a NixOS system configuration:
elapsed time: median = 3.8170 mean = 3.8202 stddev = 0.0195 min = 3.7894 max = 3.8600 [rejected, p=0.00000, Δ=0.36929±0.02513]
2021-12-22 15:56:25 +01:00
Eelco Dolstra
ec8f24ed3a
Ignore EPERM when unsharing FS state
...
On Docker (but not podman), unshare(CLONE_FS) fails with EPERM. So
let's ignore it and hope nothing bad happens.
Attempted fix for #5777 .
2021-12-16 22:02:50 +01:00
Eelco Dolstra
18e4851752
Merge pull request #5769 from NixOS/ca/get-build-stats
...
Add a crude tracing mechansim for the build results
2021-12-14 10:53:51 +01:00
Théophane Hufschmitt
6234e1c811
Merge pull request #5702 from baloo/baloo/hide-non-reproducible-settings
...
reproducibility: hide non-reproducible settings from manual
2021-12-14 09:14:25 +01:00
Théophane Hufschmitt
3fc8042f77
Merge pull request #5366 from trofi/speedup-ca-query
...
ca-specific-schema.sql: add index on RealisationsRefs(referrer)
2021-12-14 09:08:17 +01:00
Eelco Dolstra
95bd5da341
queryMissing(): Use a bigger thread pool
...
This is a temporary hack until we make queryMissing() async.
Closes #5324 .
2021-12-13 21:11:37 +01:00
Eelco Dolstra
46d86e06ba
Simplify
2021-12-13 20:28:53 +01:00
Eelco Dolstra
9529de2eed
Merge branch 'arm32-personality' of https://github.com/cleverca22/nix
2021-12-13 19:58:40 +01:00
Eelco Dolstra
d17d46cfc2
More debug info
2021-12-13 19:03:08 +01:00
Eelco Dolstra
05fcc681ac
Retry on ECONNREFUSED
...
https://hydra.nixos.org/build/161439235
2021-12-13 19:00:19 +01:00
Eelco Dolstra
6d30f9e6fe
Explicitly make GC roots client sockets blocking
...
On macOS / BSD, these sockets inherit the non-blocking flag of the
server soocket, which is not what we want.
https://github.com/dotnet/runtime/issues/25069
https://bugs.python.org/issue7995
https://hydra.nixos.org/build/161439304
2021-12-13 18:59:50 +01:00