Describe the bug
It's easiest to see in this picture:

To Reproduce
Steps to reproduce the behavior:
Expected behavior
No error pertaining to /dev/fd/62.
Screenshots
See above.
Additional context
I don't actually remember when this started, because the boot logging scrolls so fast I missed it a few times (and I might have updated nixos-unstable-small at some point). The problematic line is: https://github.com/NixOS/nixpkgs/blob/64dd9c1d6a6a7a9a89806b0e87d536483ba0a4f3/nixos/modules/system/boot/stage-2-init.sh#L117
According to the blame, that hasn't been touched in 5 years, so I don't know why this would start cropping up now.
Notify maintainers
Metadata
"x86_64-linux"Linux 5.7.9-zen1, NixOS, 20.09.20200906.bcce737-cosmere (Nightingale)yesyesnix-env (Nix) 3.0pre20200903_8a945d6""/home/vin/.config/nixpkgs/compatMaintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module: system
Why I think we should block on this: there should be no scary pointless outputs in the init script in nixos. Same if the activation script was being loud and scary for no reason.
So, I attempted to bisect this, but due to build failures (and the size of some builds) I was unable to pinpoint. However, I've now set up a packet.net machine that I can use for those huge builds, and will try to go further sometime soon. For anybody interested, below is my git bisect log (git bisect bad 0a64ff8152b46d691a0a087598a489c49752d142 and git bisect good 27ff76db67ed179a7b52239c28408b6a47f75066):
git bisect start
# good: [27ff76db67ed179a7b52239c28408b6a47f75066] Merge pull request #89857 from Radvendii/master
git bisect good 27ff76db67ed179a7b52239c28408b6a47f75066
# bad: [0a64ff8152b46d691a0a087598a489c49752d142] oh-my-zsh: 2020-08-28 -> 2020-08-31
git bisect bad 0a64ff8152b46d691a0a087598a489c49752d142
# good: [7b162ee6e7fe8d7d05752b9af823f8a7175c2ecf] abcmidi: 2020.07.28 -> 2020.08.09
git bisect good 7b162ee6e7fe8d7d05752b9af823f8a7175c2ecf
# bad: [7ae2a9461e4cda9872c11147f4819e8cf214c131] Merge pull request #96442 from sikmir/tegola
git bisect bad 7ae2a9461e4cda9872c11147f4819e8cf214c131
# good: [26525a7d1ddd0f57e16ae6065be96b1d79d3c87f] Merge remote-tracking branch 'origin/master' into haskell-updates.
git bisect good 26525a7d1ddd0f57e16ae6065be96b1d79d3c87f
# bad: [efb45f7638ca900575a5ee8da8de77f9ca87ae42] Merge master into staging-next
git bisect bad efb45f7638ca900575a5ee8da8de77f9ca87ae42
# skip: [40d2968ebf3b2b4c547caaa776b6eb875e1e5f83] Merge pull request #94354 from flokli/systemd-246
git bisect skip 40d2968ebf3b2b4c547caaa776b6eb875e1e5f83
# skip: [3829a407936b07318f18660d7a9409539a22ffa8] libseccomp: format with nixpkgs-fmt
git bisect skip 3829a407936b07318f18660d7a9409539a22ffa8
# skip: [e1322161949140588529f9996e5fde0e50b6fb96] libpipeline: 1.5.1 -> 1.5.3
git bisect skip e1322161949140588529f9996e5fde0e50b6fb96
# skip: [05a61fc30a2046a5c671feb602cfdc33314dcbc3] filebeat7: use lib.getLib systemd instead of systemd.lib
git bisect skip 05a61fc30a2046a5c671feb602cfdc33314dcbc3
# skip: [2f9d71906197789b75e28e5350ad4d62a4026344] nixos/systemd: remove mymachines nss module from passwd: and group: lines
git bisect skip 2f9d71906197789b75e28e5350ad4d62a4026344
# skip: [2d41f0f3f01f88925fc51907ee951d69eac21005] nixpart_0_4: use lib.getLib systemd instead of systemd.lib
git bisect skip 2d41f0f3f01f88925fc51907ee951d69eac21005
# good: [f964bf5991b2bed5009205c47a1a24e8475a95dd] kdav: expose it
git bisect good f964bf5991b2bed5009205c47a1a24e8475a95dd
# skip: [ee483145d054ff8bd225680bc8fc2d472095839b] keybase: use lib.getLib udev instead of udev.lib
git bisect skip ee483145d054ff8bd225680bc8fc2d472095839b
# good: [48a84a4883e15190e26ad020eeec224747aeb890] kontact: add missing dependency
git bisect good 48a84a4883e15190e26ad020eeec224747aeb890
# skip: [67ad63c82d43e217764c588e55b0c8f57fd8c301] wavebox: use lib.getLib udev instead of udev.lib
git bisect skip 67ad63c82d43e217764c588e55b0c8f57fd8c301
# skip: [24126d3cab10411188c21c3c152b7d21305497e1] teams: use lib.getLib systemd instead of systemd.lib
git bisect skip 24126d3cab10411188c21c3c152b7d21305497e1
# skip: [f77b81df26bd5732d0c3725185b2071a24732f64] mailspring: use lib.getLib udev instead of udev.lib
git bisect skip f77b81df26bd5732d0c3725185b2071a24732f64
# skip: [7f76840034ad578e3ebf3af0952526cf0d1c51af] Merge pull request #96172 from saschagrunert/libseccomp
git bisect skip 7f76840034ad578e3ebf3af0952526cf0d1c51af
# skip: [05a5afc979da46fc45fd8aedfa32be8590079367] termius: use lib.getLib udev instead of udev.lib
git bisect skip 05a5afc979da46fc45fd8aedfa32be8590079367
# skip: [a2998bff524e92fd02669742d8eb47d5fd3d571b] citrix-workspace: use lib.getLib systemd instead of systemd.lib
git bisect skip a2998bff524e92fd02669742d8eb47d5fd3d571b
# good: [f061b8b64fdf6a2c6a31233734003bc2466c0049] rdma-core: 30.0 -> 31.0
git bisect good f061b8b64fdf6a2c6a31233734003bc2466c0049
# skip: [8b5deb080d3481907ec4faee52d50d300a1a5b24] python3.pkgs.pyudev: use lib.getLib systemd instead of systemd.lib
git bisect skip 8b5deb080d3481907ec4faee52d50d300a1a5b24
# skip: [459c60dda2406d2207d2afd90f210ffc87efde54] gcc: fix building darwin->linux cross compiler
git bisect skip 459c60dda2406d2207d2afd90f210ffc87efde54
# skip: [9fb8e4a765493be94e8cd9a1f252ef53a44cccab] nwjs: use lib.getLib systemd instead of systemd.lib
git bisect skip 9fb8e4a765493be94e8cd9a1f252ef53a44cccab
# bad: [b730ef35f1e309a94b2261c49080fba3a8fc7e01] cmake: 3.18.1 -> 3.18.2
git bisect bad b730ef35f1e309a94b2261c49080fba3a8fc7e01
# skip: [5cf44f4edad7f2d13f308181a6288fb91d30fd4d] vk-messenger: use lib.getLib udev instead of udev.lib
git bisect skip 5cf44f4edad7f2d13f308181a6288fb91d30fd4d
# skip: [8ccbb4747e9ea0e8c05730d512f1ba36a6cd427a] filebeat6: use lib.getLib systemd instead of systemd.lib
git bisect skip 8ccbb4747e9ea0e8c05730d512f1ba36a6cd427a
# skip: [0b8312660aaa34cc87bdf5e3776bcaf4c5ba3c59] gcc10: fix building darwin->linux cross compiler
git bisect skip 0b8312660aaa34cc87bdf5e3776bcaf4c5ba3c59
# skip: [e5a0c1cec1cf4e60ad5938b172a0e006a20b6cb1] postfix-exporter: use lib.getLib systemd instead of systemd.lib
git bisect skip e5a0c1cec1cf4e60ad5938b172a0e006a20b6cb1
# skip: [25ac498482621dec5ed6f551dc1436bdc4812de8] Merge pull request #96404 from matthewbauer/gcc-cross
git bisect skip 25ac498482621dec5ed6f551dc1436bdc4812de8
# skip: [618e273861f7eda1f04fd8909cbe066e75556070] nixosTests.systemd: disable RuntimeWatchdogUSec=30s assertion
git bisect skip 618e273861f7eda1f04fd8909cbe066e75556070
# good: [41c1d10407df3eca1e8671a4feab4a08ffaca827] khotkeys: broken on Qt < 5.14
git bisect good 41c1d10407df3eca1e8671a4feab4a08ffaca827
# skip: [db75a25d81cabdef5deb748ff935f3fbcb3c8b3a] bluejeans: use lib.getLib udev instead of udev.lib
git bisect skip db75a25d81cabdef5deb748ff935f3fbcb3c8b3a
# skip: [d6f3b96a5d99b93ed07509c7c50f168348ed6762] datadog-agent: use lib.getLib systemd instead of systemd.lib
git bisect skip d6f3b96a5d99b93ed07509c7c50f168348ed6762
# bad: [6585998a92652dfa3d1f6086ce84c8512d11f02d] obinskit : use lib.getLib systemd instead of systemd.lib
git bisect bad 6585998a92652dfa3d1f6086ce84c8512d11f02d
# skip: [4f7636dafc0e69f36765bd0cd4e62238407a343f] nixos/systemd: don't try to install systemd-initctl.{service,socket}
git bisect skip 4f7636dafc0e69f36765bd0cd4e62238407a343f
# bad: [7361f6f25266e8bc104f9bafaec860e67ea45c65] nixos/boot: handle systemd-udevd being a symlink to udevadm
git bisect bad 7361f6f25266e8bc104f9bafaec860e67ea45c65
# skip: [38044aac5915e9fb0931ae76b27e73695e52a3de] systemd: use tags as rev, update comment explaining updating workflow.
git bisect skip 38044aac5915e9fb0931ae76b27e73695e52a3de
# skip: [c81c10624c65927cd8008b71f878ce0b13829dab] gnupgMinimal: move to all-packages.nix, use from inside systemd
git bisect skip c81c10624c65927cd8008b71f878ce0b13829dab
# skip: [2865490dc23d240fad0dc3eeb7102d10bd259e3c] systemd: 245.7 -> 246
git bisect skip 2865490dc23d240fad0dc3eeb7102d10bd259e3c
# skip: [b68bddfbda2092c5fde2c4cece2f4bcf0eb214a1] systemd: remove lib output
git bisect skip b68bddfbda2092c5fde2c4cece2f4bcf0eb214a1
# only skipped commits left to test
# possible first bad commit: [7361f6f25266e8bc104f9bafaec860e67ea45c65] nixos/boot: handle systemd-udevd being a symlink to udevadm
# possible first bad commit: [4f7636dafc0e69f36765bd0cd4e62238407a343f] nixos/systemd: don't try to install systemd-initctl.{service,socket}
# possible first bad commit: [2f9d71906197789b75e28e5350ad4d62a4026344] nixos/systemd: remove mymachines nss module from passwd: and group: lines
# possible first bad commit: [38044aac5915e9fb0931ae76b27e73695e52a3de] systemd: use tags as rev, update comment explaining updating workflow.
# possible first bad commit: [c81c10624c65927cd8008b71f878ce0b13829dab] gnupgMinimal: move to all-packages.nix, use from inside systemd
# possible first bad commit: [2865490dc23d240fad0dc3eeb7102d10bd259e3c] systemd: 245.7 -> 246
# possible first bad commit: [b68bddfbda2092c5fde2c4cece2f4bcf0eb214a1] systemd: remove lib output
OK, I re-bisected (by removing all the skipped commits and building them on a packet.net machine) and got this result:
2865490dc23d240fad0dc3eeb7102d10bd259e3c is the first bad commit
commit 2865490dc23d240fad0dc3eeb7102d10bd259e3c
Author: Florian Klink <[email protected]>
Date: Fri Jul 31 18:02:33 2020 +0200
systemd: 245.7 -> 246
...e-units-for-uninitialised-encrypted-devic.patch | 6 +-
...002-Don-t-try-to-unmount-nix-or-nix-store.patch | 6 +-
.../linux/systemd/0003-Fix-NixOS-containers.patch | 10 +-
.../0004-Look-for-fsck-in-the-right-place.patch | 4 +-
...-Add-some-NixOS-specific-unit-directories.patch | 107 ++++++++++++---------
...rid-of-a-useless-message-in-user-sessions.patch | 8 +-
...ocaled-timedated-disable-methods-that-cha.patch | 38 ++++----
.../linux/systemd/0008-Fix-hwdb-paths.patch | 4 +-
...Change-usr-share-zoneinfo-to-etc-zoneinfo.patch | 28 +++---
...10-localectl-use-etc-X11-xkb-for-list-x11.patch | 8 +-
...-create-statedir-and-don-t-touch-prefixdi.patch | 10 +-
...ault-configuration-into-out-share-factory.patch | 71 +++++++-------
...stemd-environment-when-calling-generators.patch | 8 +-
.../0014-add-rootprefix-to-lookup-dir-paths.patch | 4 +-
...tdown-execute-scripts-in-etc-systemd-syst.patch | 8 +-
...ep-execute-scripts-in-etc-systemd-system-.patch | 8 +-
...-nodes.service-Update-ConditionFileNotEmp.patch | 4 +-
...h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch | 4 +-
pkgs/os-specific/linux/systemd/default.nix | 6 +-
19 files changed, 180 insertions(+), 162 deletions(-)
cc @flokli: What are the chances this is an issue with the package/one of our patches and not with upstream?
New bisect log, for the curious:
git bisect start
# good: [27ff76db67ed179a7b52239c28408b6a47f75066] Merge pull request #89857 from Radvendii/master
git bisect good 27ff76db67ed179a7b52239c28408b6a47f75066
# bad: [0a64ff8152b46d691a0a087598a489c49752d142] oh-my-zsh: 2020-08-28 -> 2020-08-31
git bisect bad 0a64ff8152b46d691a0a087598a489c49752d142
# good: [7b162ee6e7fe8d7d05752b9af823f8a7175c2ecf] abcmidi: 2020.07.28 -> 2020.08.09
git bisect good 7b162ee6e7fe8d7d05752b9af823f8a7175c2ecf
# bad: [7ae2a9461e4cda9872c11147f4819e8cf214c131] Merge pull request #96442 from sikmir/tegola
git bisect bad 7ae2a9461e4cda9872c11147f4819e8cf214c131
# good: [26525a7d1ddd0f57e16ae6065be96b1d79d3c87f] Merge remote-tracking branch 'origin/master' into haskell-updates.
git bisect good 26525a7d1ddd0f57e16ae6065be96b1d79d3c87f
# bad: [efb45f7638ca900575a5ee8da8de77f9ca87ae42] Merge master into staging-next
git bisect bad efb45f7638ca900575a5ee8da8de77f9ca87ae42
# good: [f964bf5991b2bed5009205c47a1a24e8475a95dd] kdav: expose it
git bisect good f964bf5991b2bed5009205c47a1a24e8475a95dd
# good: [48a84a4883e15190e26ad020eeec224747aeb890] kontact: add missing dependency
git bisect good 48a84a4883e15190e26ad020eeec224747aeb890
# good: [f061b8b64fdf6a2c6a31233734003bc2466c0049] rdma-core: 30.0 -> 31.0
git bisect good f061b8b64fdf6a2c6a31233734003bc2466c0049
# bad: [b730ef35f1e309a94b2261c49080fba3a8fc7e01] cmake: 3.18.1 -> 3.18.2
git bisect bad b730ef35f1e309a94b2261c49080fba3a8fc7e01
# good: [41c1d10407df3eca1e8671a4feab4a08ffaca827] khotkeys: broken on Qt < 5.14
git bisect good 41c1d10407df3eca1e8671a4feab4a08ffaca827
# bad: [6585998a92652dfa3d1f6086ce84c8512d11f02d] obinskit : use lib.getLib systemd instead of systemd.lib
git bisect bad 6585998a92652dfa3d1f6086ce84c8512d11f02d
# bad: [7361f6f25266e8bc104f9bafaec860e67ea45c65] nixos/boot: handle systemd-udevd being a symlink to udevadm
git bisect bad 7361f6f25266e8bc104f9bafaec860e67ea45c65
# good: [7e189c56a16382e1987a847b24bc34d8b957fd98] Merge staging-next into staging
git bisect good 7e189c56a16382e1987a847b24bc34d8b957fd98
# bad: [c81c10624c65927cd8008b71f878ce0b13829dab] gnupgMinimal: move to all-packages.nix, use from inside systemd
git bisect bad c81c10624c65927cd8008b71f878ce0b13829dab
# bad: [2865490dc23d240fad0dc3eeb7102d10bd259e3c] systemd: 245.7 -> 246
git bisect bad 2865490dc23d240fad0dc3eeb7102d10bd259e3c
# good: [b68bddfbda2092c5fde2c4cece2f4bcf0eb214a1] systemd: remove lib output
git bisect good b68bddfbda2092c5fde2c4cece2f4bcf0eb214a1
# first bad commit: [2865490dc23d240fad0dc3eeb7102d10bd259e3c] systemd: 245.7 -> 246
@cole-h did this happen in a VM, or on your real machine as well?
What's with the `chown: invalid user" in there? Is this related?
I can reproduce in a VM and on my machine.
Ignore everything below the fd error -- screenshot was taken from another issue, before I was able to build a VM myself. (EDIT: I've uploaded my own screenshot sans the JSON and chown errors, to make things clearer.)
I'm going to try to bisect systemd soon, but it'll probably take a while, especially given how many patches there are that could fail to apply :P
OK, maybe the systemd stuff is a red herring? I straced the entire exec call and got the following log:
strace output
execve("/nix/store/6ffp6xbr6j2ryqw2dafbbvv55ggq16iv-bash-4.4-p23/bin/bash", ["bash", "-c", "exec > >(cat /proc/self/fd/10 |\n"...], 0x7ffda48613c0 /* 5 vars */) = 0
brk(NULL) = 0x217d000
access("/etc/ld-nix.so.preload", R_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/jvjchabdmcxlwjhbiii5sy6d2hcg6z7r-glibc-2.31/lib/tls/haswell/x86_64/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/nix/store/jvjchabdmcxlwjhbiii5sy6d2hcg6z7r-glibc-2.31/lib/tls/haswell/x86_64", 0x7ffdb5f279f0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/jvjchabdmcxlwjhbiii5sy6d2hcg6z7r-glibc-2.31/lib/tls/haswell/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/nix/store/jvjchabdmcxlwjhbiii5sy6d2hcg6z7r-glibc-2.31/lib/tls/haswell", 0x7ffdb5f279f0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/jvjchabdmcxlwjhbiii5sy6d2hcg6z7r-glibc-2.31/lib/tls/x86_64/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/nix/store/jvjchabdmcxlwjhbiii5sy6d2hcg6z7r-glibc-2.31/lib/tls/x86_64", 0x7ffdb5f279f0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/jvjchabdmcxlwjhbiii5sy6d2hcg6z7r-glibc-2.31/lib/tls/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/nix/store/jvjchabdmcxlwjhbiii5sy6d2hcg6z7r-glibc-2.31/lib/tls", 0x7ffdb5f279f0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/jvjchabdmcxlwjhbiii5sy6d2hcg6z7r-glibc-2.31/lib/haswell/x86_64/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/nix/store/jvjchabdmcxlwjhbiii5sy6d2hcg6z7r-glibc-2.31/lib/haswell/x86_64", 0x7ffdb5f279f0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/jvjchabdmcxlwjhbiii5sy6d2hcg6z7r-glibc-2.31/lib/haswell/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/nix/store/jvjchabdmcxlwjhbiii5sy6d2hcg6z7r-glibc-2.31/lib/haswell", 0x7ffdb5f279f0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/jvjchabdmcxlwjhbiii5sy6d2hcg6z7r-glibc-2.31/lib/x86_64/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/nix/store/jvjchabdmcxlwjhbiii5sy6d2hcg6z7r-glibc-2.31/lib/x86_64", 0x7ffdb5f279f0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/jvjchabdmcxlwjhbiii5sy6d2hcg6z7r-glibc-2.31/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \21\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0555, st_size=18400, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4a9c66d000
mmap(NULL, 16528, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4a9c668000
mmap(0x7f4a9c669000, 4096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7f4a9c669000
mmap(0x7f4a9c66a000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f4a9c66a000
mmap(0x7f4a9c66b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f4a9c66b000
close(3) = 0
openat(AT_FDCWD, "/nix/store/jvjchabdmcxlwjhbiii5sy6d2hcg6z7r-glibc-2.31/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300=\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0555, st_size=2055760, ...}) = 0
mmap(NULL, 1828032, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4a9c4a9000
mmap(0x7f4a9c4cb000, 1327104, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22000) = 0x7f4a9c4cb000
mmap(0x7f4a9c60f000, 323584, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x166000) = 0x7f4a9c60f000
mmap(0x7f4a9c65e000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b4000) = 0x7f4a9c65e000
mmap(0x7f4a9c664000, 13504, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f4a9c664000
close(3) = 0
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4a9c4a6000
arch_prctl(ARCH_SET_FS, 0x7f4a9c4a6740) = 0
mprotect(0x7f4a9c65e000, 16384, PROT_READ) = 0
mprotect(0x7f4a9c66b000, 4096, PROT_READ) = 0
mprotect(0x4c3000, 8192, PROT_READ) = 0
mprotect(0x7f4a9c698000, 4096, PROT_READ) = 0
openat(AT_FDCWD, "/dev/tty", O_RDWR|O_NONBLOCK) = -1 ENXIO (No such device or address)
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
fstat(0, {st_mode=S_IFCHR|0600, st_rdev=makedev(0x5, 0x1), ...}) = 0
brk(NULL) = 0x217d000
brk(0x217e000) = 0x217e000
brk(0x2180000) = 0x2180000
readlink("/proc/self/fd/0", "/dev/console (deleted)", 4095) = 22
stat("/dev/console (deleted)", 0x7ffdb5f28550) = -1 ENOENT (No such file or directory)
stat("/dev/pts", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
openat(AT_FDCWD, "/dev/pts", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3
fstat(3, {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
brk(0x2190000) = 0x2190000
getdents64(3, 0x2180038 /* 3 entries */, 32768) = 72
getdents64(3, 0x2180038 /* 0 entries */, 32768) = 0
brk(0x2180000) = 0x2180000
close(3) = 0
openat(AT_FDCWD, "/dev", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3
fstat(3, {st_mode=S_IFDIR|0755, st_size=2440, ...}) = 0
brk(0x2190000) = 0x2190000
getdents64(3, 0x2180038 /* 122 entries */, 32768) = 3560
getdents64(3, 0x2180038 /* 0 entries */, 32768) = 0
brk(0x2180000) = 0x2180000
close(3) = 0
openat(AT_FDCWD, "/dev", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3
fstat(3, {st_mode=S_IFDIR|0755, st_size=2440, ...}) = 0
brk(0x2190000) = 0x2190000
getdents64(3, 0x2180038 /* 122 entries */, 32768) = 3560
stat("/dev/.", {st_mode=S_IFDIR|0755, st_size=2440, ...}) = 0
stat("/dev/..", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat("/dev/hidraw0", {st_mode=S_IFCHR|0600, st_rdev=makedev(0xfa, 0), ...}) = 0
stat("/dev/cdrom", {st_mode=S_IFBLK|0600, st_rdev=makedev(0xb, 0), ...}) = 0
stat("/dev/sr0", {st_mode=S_IFBLK|0600, st_rdev=makedev(0xb, 0), ...}) = 0
stat("/dev/bsg", {st_mode=S_IFDIR|0755, st_size=60, ...}) = 0
stat("/dev/disk", {st_mode=S_IFDIR|0755, st_size=80, ...}) = 0
stat("/dev/vda", {st_mode=S_IFBLK|0600, st_rdev=makedev(0xfd, 0), ...}) = 0
stat("/dev/bus", {st_mode=S_IFDIR|0755, st_size=60, ...}) = 0
stat("/dev/block", {st_mode=S_IFDIR|0755, st_size=400, ...}) = 0
stat("/dev/char", {st_mode=S_IFDIR|0755, st_size=1960, ...}) = 0
stat("/dev/rtc0", {st_mode=S_IFCHR|0600, st_rdev=makedev(0xfc, 0), ...}) = 0
stat("/dev/.mdadm", {st_mode=S_IFDIR|0755, st_size=40, ...}) = 0
stat("/dev/mapper", {st_mode=S_IFDIR|0755, st_size=60, ...}) = 0
stat("/dev/hwrng", {st_mode=S_IFCHR|0600, st_rdev=makedev(0xa, 0xb7), ...}) = 0
stat("/dev/shm", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=40, ...}) = 0
stat("/dev/pts", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
stat("/dev/cpu_dma_latency", {st_mode=S_IFCHR|0600, st_rdev=makedev(0xa, 0x3e), ...}) = 0
stat("/dev/ram15", {st_mode=S_IFBLK|0600, st_rdev=makedev(0x1, 0xf), ...}) = 0
stat("/dev/ram14", {st_mode=S_IFBLK|0600, st_rdev=makedev(0x1, 0xe), ...}) = 0
stat("/dev/ram13", {st_mode=S_IFBLK|0600, st_rdev=makedev(0x1, 0xd), ...}) = 0
stat("/dev/ram12", {st_mode=S_IFBLK|0600, st_rdev=makedev(0x1, 0xc), ...}) = 0
stat("/dev/ram11", {st_mode=S_IFBLK|0600, st_rdev=makedev(0x1, 0xb), ...}) = 0
stat("/dev/ram10", {st_mode=S_IFBLK|0600, st_rdev=makedev(0x1, 0xa), ...}) = 0
stat("/dev/ram9", {st_mode=S_IFBLK|0600, st_rdev=makedev(0x1, 0x9), ...}) = 0
stat("/dev/ram8", {st_mode=S_IFBLK|0600, st_rdev=makedev(0x1, 0x8), ...}) = 0
stat("/dev/ram7", {st_mode=S_IFBLK|0600, st_rdev=makedev(0x1, 0x7), ...}) = 0
stat("/dev/ram6", {st_mode=S_IFBLK|0600, st_rdev=makedev(0x1, 0x6), ...}) = 0
stat("/dev/ram5", {st_mode=S_IFBLK|0600, st_rdev=makedev(0x1, 0x5), ...}) = 0
stat("/dev/ram4", {st_mode=S_IFBLK|0600, st_rdev=makedev(0x1, 0x4), ...}) = 0
stat("/dev/ram3", {st_mode=S_IFBLK|0600, st_rdev=makedev(0x1, 0x3), ...}) = 0
stat("/dev/ram2", {st_mode=S_IFBLK|0600, st_rdev=makedev(0x1, 0x2), ...}) = 0
stat("/dev/ram1", {st_mode=S_IFBLK|0600, st_rdev=makedev(0x1, 0x1), ...}) = 0
stat("/dev/ram0", {st_mode=S_IFBLK|0600, st_rdev=makedev(0x1, 0), ...}) = 0
stat("/dev/hpet", {st_mode=S_IFCHR|0600, st_rdev=makedev(0xa, 0xe4), ...}) = 0
stat("/dev/ttyS3", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x43), ...}) = 0
stat("/dev/ttyS2", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x42), ...}) = 0
stat("/dev/ttyS1", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x41), ...}) = 0
stat("/dev/ttyS0", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x40), ...}) = 0
stat("/dev/ptmx", {st_mode=S_IFCHR|0666, st_rdev=makedev(0x5, 0x2), ...}) = 0
stat("/dev/snapshot", {st_mode=S_IFCHR|0600, st_rdev=makedev(0xa, 0xe7), ...}) = 0
stat("/dev/tty63", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x3f), ...}) = 0
stat("/dev/tty62", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x3e), ...}) = 0
stat("/dev/tty61", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x3d), ...}) = 0
stat("/dev/tty60", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x3c), ...}) = 0
stat("/dev/tty59", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x3b), ...}) = 0
stat("/dev/tty58", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x3a), ...}) = 0
stat("/dev/tty57", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x39), ...}) = 0
stat("/dev/tty56", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x38), ...}) = 0
stat("/dev/tty55", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x37), ...}) = 0
stat("/dev/tty54", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x36), ...}) = 0
stat("/dev/tty53", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x35), ...}) = 0
stat("/dev/tty52", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x34), ...}) = 0
stat("/dev/tty51", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x33), ...}) = 0
stat("/dev/tty50", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x32), ...}) = 0
stat("/dev/tty49", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x31), ...}) = 0
stat("/dev/tty48", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x30), ...}) = 0
stat("/dev/tty47", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x2f), ...}) = 0
stat("/dev/tty46", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x2e), ...}) = 0
stat("/dev/tty45", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x2d), ...}) = 0
stat("/dev/tty44", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x2c), ...}) = 0
stat("/dev/tty43", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x2b), ...}) = 0
stat("/dev/tty42", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x2a), ...}) = 0
stat("/dev/tty41", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x29), ...}) = 0
stat("/dev/tty40", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x28), ...}) = 0
stat("/dev/tty39", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x27), ...}) = 0
stat("/dev/tty38", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x26), ...}) = 0
stat("/dev/tty37", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x25), ...}) = 0
stat("/dev/tty36", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x24), ...}) = 0
stat("/dev/tty35", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x23), ...}) = 0
stat("/dev/tty34", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x22), ...}) = 0
stat("/dev/tty33", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x21), ...}) = 0
stat("/dev/tty32", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x20), ...}) = 0
stat("/dev/tty31", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x1f), ...}) = 0
stat("/dev/tty30", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x1e), ...}) = 0
stat("/dev/tty29", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x1d), ...}) = 0
stat("/dev/tty28", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x1c), ...}) = 0
stat("/dev/tty27", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x1b), ...}) = 0
stat("/dev/tty26", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x1a), ...}) = 0
stat("/dev/tty25", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x19), ...}) = 0
stat("/dev/tty24", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x18), ...}) = 0
stat("/dev/tty23", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x17), ...}) = 0
stat("/dev/tty22", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x16), ...}) = 0
stat("/dev/tty21", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x15), ...}) = 0
stat("/dev/tty20", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x14), ...}) = 0
stat("/dev/tty19", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x13), ...}) = 0
stat("/dev/tty18", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x12), ...}) = 0
stat("/dev/tty17", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x11), ...}) = 0
stat("/dev/tty16", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x10), ...}) = 0
stat("/dev/tty15", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0xf), ...}) = 0
stat("/dev/tty14", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0xe), ...}) = 0
stat("/dev/tty13", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0xd), ...}) = 0
stat("/dev/tty12", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0xc), ...}) = 0
stat("/dev/tty11", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0xb), ...}) = 0
stat("/dev/tty10", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0xa), ...}) = 0
stat("/dev/tty9", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x9), ...}) = 0
stat("/dev/tty8", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x8), ...}) = 0
stat("/dev/tty7", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x7), ...}) = 0
stat("/dev/tty6", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x6), ...}) = 0
stat("/dev/tty5", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x5), ...}) = 0
stat("/dev/tty4", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x4), ...}) = 0
stat("/dev/tty3", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x3), ...}) = 0
stat("/dev/tty2", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x2), ...}) = 0
stat("/dev/tty1", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x1), ...}) = 0
stat("/dev/vcsa1", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x7, 0x81), ...}) = 0
stat("/dev/vcsu1", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x7, 0x41), ...}) = 0
stat("/dev/vcs1", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x7, 0x1), ...}) = 0
stat("/dev/vcsa", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x7, 0x80), ...}) = 0
stat("/dev/vcsu", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x7, 0x40), ...}) = 0
stat("/dev/vcs", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x7, 0), ...}) = 0
stat("/dev/tty0", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0), ...}) = 0
stat("/dev/console", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x5, 0x1), ...}) = 0
stat("/dev/tty", {st_mode=S_IFCHR|0666, st_rdev=makedev(0x5, 0), ...}) = 0
stat("/dev/kmsg", {st_mode=S_IFCHR|0644, st_rdev=makedev(0x1, 0xb), ...}) = 0
stat("/dev/urandom", {st_mode=S_IFCHR|0666, st_rdev=makedev(0x1, 0x9), ...}) = 0
stat("/dev/random", {st_mode=S_IFCHR|0666, st_rdev=makedev(0x1, 0x8), ...}) = 0
stat("/dev/full", {st_mode=S_IFCHR|0666, st_rdev=makedev(0x1, 0x7), ...}) = 0
stat("/dev/zero", {st_mode=S_IFCHR|0666, st_rdev=makedev(0x1, 0x5), ...}) = 0
stat("/dev/port", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x1, 0x4), ...}) = 0
stat("/dev/null", {st_mode=S_IFCHR|0666, st_rdev=makedev(0x1, 0x3), ...}) = 0
stat("/dev/mem", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x1, 0x1), ...}) = 0
stat("/dev/vga_arbiter", {st_mode=S_IFCHR|0600, st_rdev=makedev(0xa, 0x3f), ...}) = 0
getdents64(3, 0x2180038 /* 0 entries */, 32768) = 0
brk(0x2180000) = 0x2180000
close(3) = 0
brk(0x2181000) = 0x2181000
brk(0x2182000) = 0x2182000
getuid() = 0
getgid() = 0
geteuid() = 0
getegid() = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
ioctl(-1, TIOCGPGRP, 0x7ffdb5f285ec) = -1 EBADF (Bad file descriptor)
brk(0x2183000) = 0x2183000
sysinfo({uptime=2, loads=[0, 0, 0], totalram=375123968, freeram=336588800, sharedram=1519616, bufferram=147456, totalswap=0, freeswap=0, procs=45, totalhigh=0, freehigh=0, mem_unit=1}) = 0
brk(0x2184000) = 0x2184000
rt_sigaction(SIGCHLD, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f4a9c4e10f0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGCHLD, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f4a9c4e10f0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f4a9c4e10f0}, 8) = 0
rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4a9c4e10f0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4a9c4e10f0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4a9c4e10f0}, 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4a9c4e10f0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4a9c4e10f0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4a9c4e10f0}, 8) = 0
rt_sigaction(SIGTSTP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4a9c4e10f0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGTSTP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4a9c4e10f0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4a9c4e10f0}, 8) = 0
rt_sigaction(SIGTTIN, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4a9c4e10f0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGTTIN, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4a9c4e10f0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4a9c4e10f0}, 8) = 0
rt_sigaction(SIGTTOU, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4a9c4e10f0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGTTOU, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4a9c4e10f0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4a9c4e10f0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4a9c4e10f0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4a9c4e10f0}, 8) = 0
uname({sysname="Linux", nodename="(none)", ...}) = 0
brk(0x2188000) = 0x2188000
brk(0x218a000) = 0x218a000
brk(0x218c000) = 0x218c000
stat("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
getpid() = 266
getppid() = 263
stat(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat("/nix/store/2f6zzvixj3wsj81flbdcpc6fdscgx4ai-coreutils-8.31/bin/bash", 0x7ffdb5f28250) = -1 ENOENT (No such file or directory)
stat("/nix/store/wlybgwq838q86rhlikfxzrhk2hvkgi3h-util-linux-2.36-bin/bin/bash", 0x7ffdb5f28250) = -1 ENOENT (No such file or directory)
stat("/nix/store/5kbhgmrpp2zq0p0fc96w71fibn4ng4p8-strace-5.8/bin/bash", 0x7ffdb5f28250) = -1 ENOENT (No such file or directory)
stat("/nix/store/6ffp6xbr6j2ryqw2dafbbvv55ggq16iv-bash-4.4-p23/bin/bash", {st_mode=S_IFREG|0555, st_size=909296, ...}) = 0
stat("/nix/store/6ffp6xbr6j2ryqw2dafbbvv55ggq16iv-bash-4.4-p23/bin/bash", {st_mode=S_IFREG|0555, st_size=909296, ...}) = 0
geteuid() = 0
getegid() = 0
getuid() = 0
getgid() = 0
access("/nix/store/6ffp6xbr6j2ryqw2dafbbvv55ggq16iv-bash-4.4-p23/bin/bash", X_OK) = 0
stat("/nix/store/6ffp6xbr6j2ryqw2dafbbvv55ggq16iv-bash-4.4-p23/bin/bash", {st_mode=S_IFREG|0555, st_size=909296, ...}) = 0
geteuid() = 0
getegid() = 0
getuid() = 0
getgid() = 0
access("/nix/store/6ffp6xbr6j2ryqw2dafbbvv55ggq16iv-bash-4.4-p23/bin/bash", R_OK) = 0
stat("/nix/store/6ffp6xbr6j2ryqw2dafbbvv55ggq16iv-bash-4.4-p23/bin/bash", {st_mode=S_IFREG|0555, st_size=909296, ...}) = 0
stat("/nix/store/6ffp6xbr6j2ryqw2dafbbvv55ggq16iv-bash-4.4-p23/bin/bash", {st_mode=S_IFREG|0555, st_size=909296, ...}) = 0
geteuid() = 0
getegid() = 0
getuid() = 0
getgid() = 0
access("/nix/store/6ffp6xbr6j2ryqw2dafbbvv55ggq16iv-bash-4.4-p23/bin/bash", X_OK) = 0
stat("/nix/store/6ffp6xbr6j2ryqw2dafbbvv55ggq16iv-bash-4.4-p23/bin/bash", {st_mode=S_IFREG|0555, st_size=909296, ...}) = 0
geteuid() = 0
getegid() = 0
getuid() = 0
getgid() = 0
access("/nix/store/6ffp6xbr6j2ryqw2dafbbvv55ggq16iv-bash-4.4-p23/bin/bash", R_OK) = 0
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
connect(3, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
close(3) = 0
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
connect(3, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
close(3) = 0
openat(AT_FDCWD, "/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/jvjchabdmcxlwjhbiii5sy6d2hcg6z7r-glibc-2.31/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/jvjchabdmcxlwjhbiii5sy6d2hcg6z7r-glibc-2.31/lib/libnss_compat.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\"\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0555, st_size=45904, ...}) = 0
mmap(NULL, 42912, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4a9c49b000
mmap(0x7f4a9c49d000, 20480, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f4a9c49d000
mmap(0x7f4a9c4a2000, 8192, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7f4a9c4a2000
mmap(0x7f4a9c4a4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8000) = 0x7f4a9c4a4000
close(3) = 0
mprotect(0x7f4a9c4a4000, 4096, PROT_READ) = 0
openat(AT_FDCWD, "/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/jvjchabdmcxlwjhbiii5sy6d2hcg6z7r-glibc-2.31/lib/libnss_nis.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\"\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0555, st_size=55400, ...}) = 0
brk(0x218d000) = 0x218d000
mmap(NULL, 50216, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4a9c48e000
mmap(0x7f4a9c490000, 28672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f4a9c490000
mmap(0x7f4a9c497000, 8192, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0x7f4a9c497000
mmap(0x7f4a9c499000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7f4a9c499000
close(3) = 0
openat(AT_FDCWD, "/nix/store/jvjchabdmcxlwjhbiii5sy6d2hcg6z7r-glibc-2.31/lib/libnsl.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240F\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0555, st_size=111016, ...}) = 0
mmap(NULL, 104248, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4a9c474000
mprotect(0x7f4a9c478000, 73728, PROT_NONE) = 0
mmap(0x7f4a9c478000, 49152, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f4a9c478000
mmap(0x7f4a9c484000, 20480, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10000) = 0x7f4a9c484000
mmap(0x7f4a9c48a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x7f4a9c48a000
mmap(0x7f4a9c48c000, 5944, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f4a9c48c000
close(3) = 0
openat(AT_FDCWD, "/nix/store/jvjchabdmcxlwjhbiii5sy6d2hcg6z7r-glibc-2.31/lib/libnss_files.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\3602\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0555, st_size=64248, ...}) = 0
brk(0x218e000) = 0x218e000
mmap(NULL, 83416, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4a9c45f000
mmap(0x7f4a9c462000, 28672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f4a9c462000
mmap(0x7f4a9c469000, 12288, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7f4a9c469000
mmap(0x7f4a9c46c000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc000) = 0x7f4a9c46c000
mmap(0x7f4a9c46e000, 21976, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f4a9c46e000
close(3) = 0
mprotect(0x7f4a9c46c000, 4096, PROT_READ) = 0
mprotect(0x7f4a9c48a000, 4096, PROT_READ) = 0
mprotect(0x7f4a9c499000, 4096, PROT_READ) = 0
brk(0x218f000) = 0x218f000
openat(AT_FDCWD, "/etc/passwd", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/passwd", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
getpid() = 266
brk(0x2190000) = 0x2190000
getpgrp() = 0
ioctl(2, TIOCGPGRP, 0x7ffdb5f2848c) = -1 ENOTTY (Inappropriate ioctl for device)
rt_sigaction(SIGCHLD, {sa_handler=0x445810, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f4a9c4e10f0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f4a9c4e10f0}, 8) = 0
ioctl(2, TIOCGPGRP, 0x7ffdb5f2844c) = -1 ENOTTY (Inappropriate ioctl for device)
prlimit64(0, RLIMIT_NPROC, NULL, {rlim_cur=1363, rlim_max=1363}) = 0
brk(0x2191000) = 0x2191000
brk(0x2192000) = 0x2192000
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
getpeername(0, 0x7ffdb5f285f0, [16]) = -1 ENOTSOCK (Socket operation on non-socket)
brk(0x2193000) = 0x2193000
brk(0x2194000) = 0x2194000
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
brk(0x2195000) = 0x2195000
pipe([3, 4]) = 0
fcntl(63, F_GETFD) = -1 EBADF (Bad file descriptor)
dup2(4, 63) = 63
close(4) = 0
prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=1024, rlim_max=4*1024}) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f4a9c4a6a10) = 267
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigaction(SIGCHLD, {sa_handler=0x445810, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f4a9c4e10f0}, {sa_handler=0x445810, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f4a9c4e10f0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(3) = 0
openat(AT_FDCWD, "/dev/fd/63", O_WRONLY|O_CREAT|O_TRUNC, 0666) = -1 ENOENT (No such file or directory)
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
brk(0x2196000) = 0x2196000
pipe([3, 4]) = 0
fcntl(63, F_GETFD) = 0
fcntl(62, F_GETFD) = -1 EBADF (Bad file descriptor)
dup2(4, 62) = 62
close(4) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f4a9c4a6a10) = 270
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigaction(SIGCHLD, {sa_handler=0x445810, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f4a9c4e10f0}, {sa_handler=0x445810, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f4a9c4e10f0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(3) = 0
write(2, "bash: /dev/fd/62: No such file o"..., 44) = 44
close(62) = 0
close(63) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
exit_group(1) = ?
+++ exited with 1 +++
Can't interpret this now, but maybe it will give somebody an idea. Most interesting part to me:
fcntl(63, F_GETFD) = 0
fcntl(62, F_GETFD) = -1 EBADF (Bad file descriptor)
dup2(4, 62) = 62
close(4) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f4a9c4a6a10) = 270
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigaction(SIGCHLD, {sa_handler=0x445810, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f4a9c4e10f0}, {sa_handler=0x445810, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f4a9c4e10f0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(3) = 0
write(2, "bash: /dev/fd/62: No such file o"..., 44) = 44
close(62) = 0
close(63) = 0
Alright, thanks to my Google-fu, I found a diff that fixes the issue:
diff --git a/nixos/modules/system/boot/stage-2-init.sh b/nixos/modules/system/boot/stage-2-init.sh
index 936077b9df1..b628dedf287 100644
--- a/nixos/modules/system/boot/stage-2-init.sh
+++ b/nixos/modules/system/boot/stage-2-init.sh
@@ -114,6 +114,7 @@ fi
# Only at this point are all the necessary prerequisites ready for these commands.
exec {logOutFd}>&1 {logErrFd}>&2
if test -w /dev/kmsg; then
+ ln -s /proc/self/fd /dev/fd
exec > >(tee -i /proc/self/fd/"$logOutFd" | while read -r line; do
if test -n "$line"; then
echo "<7>stage-2-init: $line" > /dev/kmsg
According to https://www.ducea.com/2009/02/18/linux-tips-bash-completion-devfd62-no-such-file-or-directory/, one of the articles that turned up, this might be caused by udev missing?
Most helpful comment
I can reproduce in a VM and on my machine.
Ignore everything below the fd error -- screenshot was taken from another issue, before I was able to build a VM myself. (EDIT: I've uploaded my own screenshot sans the JSON and
chownerrors, to make things clearer.)I'm going to try to bisect systemd soon, but it'll probably take a while, especially given how many patches there are that could fail to apply :P