lix/doc/manual/rl-next
jade 1437d3df15 darwin: workaround PROC_PIDLISTFDS on processes with no fds
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: #446
Change-Id: I67669b98377af17895644b3bafdf42fc33abd076
2024-08-07 02:52:00 -07:00
..
.gitkeep release: release notes for 2.90.0 2024-06-15 18:46:18 -07:00
ban-integer-overflow.md Add release notes for removing overflow from Nix language 2024-07-18 19:27:33 +00:00
better-attrpath-errors.md trace which part of foo.bar.baz errors 2024-07-04 17:42:35 -06:00
block-io-uring.md libstore/build: block io_uring 2024-07-25 18:24:45 +02:00
build-dir.md Add build-dir setting, clean up default TMPDIR handling 2024-06-24 11:30:32 +03:00
clang-tidy-sorta.md build: implement clang-tidy using our plugin 2024-08-04 20:41:19 -07:00
clicolor-clarity.md cli: eat terminal codes from stdout also 2024-08-04 20:41:19 -07:00
distinguish-throw-errors.md distinguish between throws & errors during throw 2024-07-04 17:43:03 -06:00
fix-gc-dry-run.md Fix dry-run flag for nix-collect-garbage 2024-07-09 13:55:05 +00:00
flake-metadata-time.md nix flake metadata: print modified dates for input flakes 2024-08-04 20:41:19 -07:00
fod-failure-includes-url.md store: guess the URL of failing fixed-output derivations 2024-06-27 22:44:16 -07:00
haunted-gc-macos.md darwin: workaround PROC_PIDLISTFDS on processes with no fds 2024-08-07 02:52:00 -07:00
multiline-log-format.md libmain: add progress bar with multiple status lines 2024-06-22 14:20:27 +02:00
nix-copy-is-fast.md Add some release notes for things we did 2024-06-24 16:26:12 -07:00
nix-flake-show-description.md nix flake show: add the description if it exists 2024-07-23 13:21:15 +01:00
old-protocol-removal.md Add some release notes for things we did 2024-06-24 16:26:12 -07:00
pretty-printing.md doc/release-notes: add for pretty printing improvements 2024-07-18 19:08:20 +02:00
registry-add-shorthand-only.md Reject fully-qualified URLs in 'from' argument of nix registry add 2024-06-29 05:11:31 +00:00
reject-flake-config.md libexpr/flake: allow automatic rejection of configuration options from flakes 2024-06-30 19:28:14 +02:00
repl-complete-colon.md repl: implement tab completing :colon commands 2024-06-17 13:08:02 +00:00
repl-edit-store.md src/libcmd/repl.cc: avoid unneeded reload after :e 2024-07-30 16:08:26 +00:00
sanitizers.md Add some release notes for things we did 2024-06-24 16:26:12 -07:00