Eelco Dolstra
10f9a8e77d
Add a test for the non-blocking GC
2021-10-15 16:52:37 +02:00
Eelco Dolstra
ac54c6faa6
Fix main GC thread exiting
2021-10-15 16:36:48 +02:00
Eelco Dolstra
e0936ae38f
Fix crash when a GC client disconnects
...
The client thread can't just delete its own thread object from
connections, it has to detach it.
2021-10-15 16:12:21 +02:00
Eelco Dolstra
130284b850
Merge pull request #5390 from NixOS/fix-isnewerthan-check
...
Fix the `isDaemonNewer` guard in the testsuite
2021-10-15 15:50:20 +02:00
regnat
0b55c8767d
Disable the eval-store test when using the daemon
...
Using the daemon will break most of the assumptions of this test, so
it’s as simple to just disable it
2021-10-15 14:15:43 +02:00
Eelco Dolstra
4d014221d4
Fix test against old daemon
2021-10-15 12:52:21 +02:00
Eelco Dolstra
be35569a6e
Run installTests on Hydra
2021-10-15 12:36:29 +02:00
Eelco Dolstra
304180d0de
Memoize queryReferrers()
2021-10-15 12:20:23 +02:00
Eelco Dolstra
c0951299b3
Merge pull request #5383 from kvtb/patch-7
...
fix build with gcc11
2021-10-15 09:03:12 +02:00
Eelco Dolstra
c574ab3907
Merge pull request #5388 from yvt/fix-oahd-path
...
Add another path where a Rosetta 2 daemon plist file is possibly located
2021-10-15 09:02:16 +02:00
Domen Kožar
330650d294
Merge pull request #5389 from kamadorueda/master
...
add pos to EvalState::forceValue
2021-10-15 00:17:11 -05:00
Kevin Amado
1bdeef8395
add pos to EvalState::forceValue
...
- This way we improve error messages
on infinite recursion
- Demo:
```nix
let
x = builtins.fetchMercurial x;
in
x
```
- Before:
```bash
$ nix-instantiate --show-trace --strict
error: infinite recursion encountered
```
- After:
```bash
nix-instantiate --show-trace --strict
error: infinite recursion encountered
at /data/github/kamadorueda/test/default.nix:2:7:
1| let
2| x = builtins.fetchMercurial x;
| ^
3| in
```
Mentions: #3505
2021-10-14 23:23:05 -05:00
yvt
a9d9e55551
Add another path where a Rosetta 2 configuration file is possibly located
2021-10-15 09:48:15 +09:00
regnat
b598e5c47c
Fix the min bound for the structured-attrs test
...
The min bound written corresponds to the date of the commit that
introduced the change, but it only got merged on master some weeks
later. Since the version is essentially the commit date, that means that
there’s a whole range of commits on master (including the current
`nixUnstable`) that have a higher version but don’t contain the required
change.
2021-10-14 16:00:59 +02:00
regnat
3a2fc9ce1d
Fix the isDaemonNewer
check
...
- Don’t hardcode the “newer” version
- Remove an ill-placed `return`
2021-10-14 16:00:45 +02:00
Eelco Dolstra
17e6ebcc90
Speed up GC by marking entire closures as live
2021-10-14 14:13:57 +02:00
Eelco Dolstra
0154fa30cf
Remove GCState
2021-10-14 13:52:49 +02:00
Eelco Dolstra
0317ffdad3
Move deleteFromStore()
2021-10-14 13:34:48 +02:00
Eelco Dolstra
0be8cc1466
pathInfoCache: Use the entire base name as the cache key
...
This fixes a bug in the garbage collector where if a path
/nix/store/abcd-foo is valid, but we do a
isValidPath("/nix/store/abcd-foo.lock") first, then a negative entry
for /nix/store/abcd is added to pathInfoCache, so /nix/store/abcd-foo
is subsequently considered invalid and deleted.
2021-10-14 13:28:22 +02:00
Eelco Dolstra
eab934cb2a
Make the canReachRoots() traversal non-recursive
2021-10-14 12:34:32 +02:00
Eelco Dolstra
09b14ea97a
Cleanup
2021-10-14 10:04:13 +02:00
kvtb
eae29b0385
fix build with gcc11
2021-10-13 18:03:33 +00:00
Eelco Dolstra
35c98a59c5
Fix GC when there are cycles in the referrers graph
...
(where "referrers" includes the reverse of derivation outputs and
derivers). Now we do a full traversal to look if we can reach any
root. If not, all paths reached can be deleted.
2021-10-13 12:12:44 +02:00
Eelco Dolstra
e31a48366f
Fix referrers test
...
This test broke the assumption that the hash parts of store paths are
unique.
2021-10-13 12:12:44 +02:00
Eelco Dolstra
1785ba2980
Simplify
2021-10-13 12:12:44 +02:00
Eelco Dolstra
dced45f146
strcpy -> memcpy
...
Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
2021-10-13 12:12:44 +02:00
Eelco Dolstra
c24b9d68c5
tests/multiple-outputs.sh: Assert empty store
2021-10-13 12:12:44 +02:00
Eelco Dolstra
262520fcfe
Use a thread per connection
2021-10-13 12:12:44 +02:00
Eelco Dolstra
ff453b06f9
Fix auto-gc
2021-10-13 12:12:44 +02:00
Eelco Dolstra
8614cf1334
Non-blocking garbage collector
...
The garbage collector no longer blocks other processes from
adding/building store paths or adding GC roots. To prevent the
collector from deleting store paths just added by another process,
processes need to connect to the garbage collector via a Unix domain
socket to register new temporary roots.
2021-10-13 12:12:44 +02:00
Eelco Dolstra
9947f1646a
Remove syncWithGC()
2021-10-13 12:12:44 +02:00
Eelco Dolstra
8eac7dfad4
Remove trash directory
2021-10-13 12:12:44 +02:00
Eelco Dolstra
4c0cde95ad
Update release notes
2021-10-13 11:39:54 +02:00
Eelco Dolstra
624dfde3df
Merge pull request #5362 from Artturin/nixunpack
...
nix develop: add --unpack
2021-10-13 11:39:08 +02:00
Eelco Dolstra
06fff5686c
Merge pull request #5379 from abathur/fix_volume_doc_fn
...
darwin-install: fix incorrect fn name
2021-10-13 11:12:00 +02:00
Eelco Dolstra
2f3c79c241
Mention compression-level in the release notes
2021-10-13 11:11:26 +02:00
Eelco Dolstra
0fac86fd6f
Style tweaks
2021-10-13 11:00:10 +02:00
Eelco Dolstra
abd685d373
Merge branch 'feature/comp-level' of https://github.com/tomberek/nix
2021-10-13 10:45:44 +02:00
Travis A. Everett
8a3b8d0b33
darwin-install: fix incorrect fn name
2021-10-12 18:17:27 -05:00
Eelco Dolstra
3e0c6aac9a
Merge pull request #5375 from edolstra/repl-ctrl-c
...
nix repl: Fix plugin-files warning
2021-10-12 17:11:39 +02:00
Eelco Dolstra
5176b072ed
Cleanup
2021-10-12 16:43:00 +02:00
Eelco Dolstra
3a778ea8a0
Merge branch 'nix-repl-download-interruption' of https://github.com/Ma27/nix
2021-10-12 16:34:38 +02:00
Eelco Dolstra
f6cdae5181
nix repl: Don't write to std::cout directly
...
Writing to std::cout doesn't play nice with ProgressBar.
2021-10-12 15:36:45 +02:00
Eelco Dolstra
9ebe02a81e
nix repl: Don't build in a child process
...
Fixes #5356 . This is a bit risky due to interrupts, but we have to
deal with those anyway (#5353 ).
2021-10-12 15:27:02 +02:00
Tom Bereknyei
03bb8f84e0
Add compression level for NARs
...
Based off on @dtzWill's #2276
2021-10-12 02:14:36 -04:00
Eelco Dolstra
102d3d71c0
Merge pull request #5361 from trofi/static-logging
...
mk/libraries.mk: fix trace-ld and trace-ar expansions
2021-10-11 12:58:35 +02:00
Eelco Dolstra
22b67a1b63
Merge pull request #5369 from NixOS/fix-invalid-rethrows
...
(partially) Revert "Don't copy in rethrow"
2021-10-11 12:53:59 +02:00
regnat
7466048d39
(partially) Revert "Don't copy in rethrow"
...
This reverts some parts of commit
8430a8f086
which was trying to rethrow
some exceptions while we weren’t in the context of a `catch` block,
causing some weird “terminate called without an active exception”
errors.
Fix #5368
2021-10-11 10:51:22 +02:00
John Chapman
4cff413054
Clarify that not all nix packages will use the default build phases
2021-10-09 12:03:34 +11:00
Artturin
e399c6ab7f
nix develop: add --unpack
2021-10-09 01:19:50 +03:00