forked from lix-project/lix
jade
1437d3df15
This has been causing various seemingly spurious CI failures as well as
some failures on people running tests on beta builds.
lix> ++(nix-collect-garbage-dry-run.sh:20) nix-store --gc --print-dead
lix> ++(nix-collect-garbage-dry-run.sh:20) wc -l
lix> finding garbage collector roots...
lix> error: Listing pid 87261 file descriptors: Undefined error: 0
There is no real way to write a proper test for this, other than to
start a process like the following:
int main(void) {
for (int i = 0; i < 1000; ++i) {
close(i);
}
sleep(10000);
}
and then let Lix's gc look at it.
I have a relatively high confidence this *will* fix the problem since I
have manually confirmed the behaviour of the libproc call is
as-unexpected, and it would perfectly explain the observed symptom.
Fixes: lix-project/lix#446
Change-Id: I67669b98377af17895644b3bafdf42fc33abd076
16 lines
518 B
Markdown
16 lines
518 B
Markdown
---
|
|
synopsis: "Fix unexpectedly-successful GC failures on macOS"
|
|
cls: 1723
|
|
issues: fj#446
|
|
credits: jade
|
|
category: Fixes
|
|
---
|
|
|
|
Has the following happened to you on macOS? This failure has been successfully eliminated, thanks to our successful deployment of advanced successful-failure detection technology (it's just `if (failed && errno == 0)`. Patent pending<sup>not really</sup>):
|
|
|
|
```
|
|
$ nix-store --gc --print-dead
|
|
finding garbage collector roots...
|
|
error: Listing pid 87261 file descriptors: Undefined error: 0
|
|
```
|