DeterminateSystems / nix-installer

Install Nix and flakes with the fast and reliable Determinate Nix Installer, with over 7 million installs.
https://determinate.systems
GNU Lesser General Public License v2.1
2.21k stars 57 forks source link

Installer fails on RHEL 7.9 with `nscd` #512

Open eliasp opened 1 year ago

eliasp commented 1 year ago

Can't really make any sense of this and the BT is also just empty... Executed curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install for the results below.

Error

Error: 
   0: Planner error
   1: Error executing action
   2: Action `provision_nix` errored
   3: Getting gid for group `nixbld`
   4: EIO: I/O error

Metadata

key value
version 0.9.1
os linux
arch x86_64

Backtrace

``` Backtrace: 0: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: ```

System Information

Hoverbear commented 1 year ago

That's quite odd. The install process should have created that group... I don't have a RHEL subscription but I can test on CentOS 7.9 which is very similar.

In my test, I have selinux enforcing, so I forced my install to use the 0.9.1 which includes SELinux support, but is in limited rollout still:

image image

Could you help me understand more about the system so I can replicate it? What's the output of getenforce?

eliasp commented 1 year ago

The output of getenforce is just Disabled. Besides that, I monitored audit.log where SELinux violations should be logged to and nothing related showed up when executing the installer.

Here, I ended up with 0.9.1, but also later changed to enforce it to ensure I'm getting the latest SELinux changes from this release.

~~I'd love to provide more debug information, but even strace -ff ... ended up in strange results. The moment I'd expected it to spawn the installer process using execve() (after writing the script to disk), it just exits:~~

EDIT: I just realized, the forked subprocesses end up being logged in different files by strace - will dig through them tomorrow.

Let me know if I can provide some more/other helpful debugging information.

eliasp commented 1 year ago

That's quite odd. The install process should have created that group... I have a suspicion: could it be, that the installer doesn't use NSS to resolve users/groups, but instead directly reads from /etc/passwd//etc/group and this causes some of those issues?

This system is configured (via /etc/nsswitch.conf) to use NIS for users/groups, but in the strace output, there isn't a single call via libnss_nis.so.2 (as compared to e.g. getent group).

The installer should still be perfectly capable of creating a local user/group on this system - so I'm not really sure the non-usage of NSS/NIS is a problem here...

eliasp commented 1 year ago

Here's the relevant strace result, which points to nscd being part of the problem, although I don't really understand yet how/why.

strace output of the installer as it fails
close(255)                              = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigaction(SIGTSTP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7ffff7615400}, {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=0x7ffff7615400}, {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=0x7ffff7615400}, {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=0x7ffff7615400}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7ffff7615400}, 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7ffff7615400}, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7ffff7615400}, 8) = 0
rt_sigaction(SIGCHLD, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7ffff7615400}, {sa_handler=0x4414a0, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7ffff7615400}, 8) = 0
execve("/tmp/tmp.ZfyrLSDR3p/nix-installer", ["/tmp/tmp.ZfyrLSDR3p/nix-installer", "install"], 0x7186f0 /* 32 vars */) = 0
mmap(NULL, 808, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffff77d7000
arch_prctl(ARCH_SET_FS, 0x7ffff77d7248) = 0
set_tid_address(0x7ffff7ffe218)         = 33038
poll([{fd=0, events=0}, {fd=1, events=0}, {fd=2, events=0}], 3, 0) = 0 (Timeout)
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7ffff7d2ee0f}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGSEGV, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RT_1 RT_2], NULL, 8) = 0
rt_sigaction(SIGSEGV, {sa_handler=0x7ffff7c777f0, sa_mask=[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_SIGINFO, sa_restorer=0x7ffff7d2ee0f}, NULL, 8) = 0
rt_sigaction(SIGBUS, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGBUS, {sa_handler=0x7ffff7c777f0, sa_mask=[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_SIGINFO, sa_restorer=0x7ffff7d2ee0f}, NULL, 8) = 0
sigaltstack(NULL, {ss_sp=NULL, ss_flags=SS_DISABLE, ss_size=0}) = 0
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7ffff77d4000
mprotect(0x7ffff77d4000, 4096, PROT_NONE) = 0
sigaltstack({ss_sp=0x7ffff77d5000, ss_flags=0, ss_size=8192}, NULL) = 0
brk(NULL)                               = 0x7ffff7fff000
brk(0x7ffff8000000)                     = 0x7ffff8000000
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
getrandom(0x7fffffffcd60, 16, 0x4 /* GRND_??? */) = -1 EINVAL (Invalid argument)
getrandom("\xab\x58\x97\x22\xb3\xb5\x5a\x96\xfd\x5c\x59\x7d\xe1\xe8\x02\xbb", 16, GRND_NONBLOCK) = 16
open("/proc/self/cgroup", O_RDONLY|O_CLOEXEC) = 3
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
brk(0x7ffff8003000)                     = 0x7ffff8003000
read(3, "11:freezer:/\n10:devices:/user.slice\n9:cpuset:/\n8:memory:/user.slice\n7:blkio:/user.slice\n6:net_prio,net_cls:/\n5:cpuacct,cpu:/user.slice\n4:pids:/user.slice\n3:hugetlb:/\n2:perf_event:/\n1:name=systemd:/user.slice/user-10138.slice/session-4314.scope\n", 8192) = 244
read(3, "", 8192)                       = 0
close(3)                                = 0
open("/proc/self/mountinfo", O_RDONLY|O_CLOEXEC) = 3
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
read(3, "18 40 0:18 / /sys rw,nosuid,nodev,noexec,relatime shared:6 - sysfs sysfs rw\n19 40 0:3 / /proc rw,nosuid,nodev,noexec,relatime shared:5 - proc proc rw\n20 40 0:5 / /dev rw,nosuid shared:2 - devtmpfs devtmpfs rw,size=32743904k,nr_inodes=8185976,mode=755\n21 18 0:17 / /sys/kernel/security rw,nosuid,nodev,noexec,relatime shared:7 - securityfs securityfs rw\n22 20 0:19 / /dev/shm rw,nosuid,nodev shared:3 - tmpfs tmpfs rw\n23 20 0:12 / /dev/pts rw,nosuid,noexec,relatime shared:4 - devpts devpts rw,gid=5,mode=620,ptmxmode=000\n24 40 0:20 / /run rw,nosuid,nodev shared:23 - tmpfs tmpfs rw,mode=755\n25 18 0:21 / /sys/fs/cgroup ro,nosuid,nodev,noexec shared:8 - tmpfs tmpfs ro,mode=755\n26 25 0:22 / /sys/fs/cg"..., 8192) = 4065
close(3)                                = 0
open("/sys/fs/cgroup/cpu,cpuacct/user.slice/cpu.cfs_quota_us", O_RDONLY|O_CLOEXEC) = 3
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
fstat(3, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
lseek(3, 0, SEEK_CUR)                   = 0
read(3, "-1\n", 32)                     = 3
read(3, "", 29)                         = 0
close(3)                                = 0
sched_getaffinity(0, 128, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]) = 128
epoll_create1(EPOLL_CLOEXEC)            = 3
eventfd2(0, EFD_CLOEXEC|EFD_NONBLOCK)   = 4
epoll_ctl(3, EPOLL_CTL_ADD, 4, {EPOLLIN|EPOLLRDHUP|EPOLLET, {u32=2147483648, u64=2147483648}}) = 0
fcntl(3, F_DUPFD_CLOEXEC, 3)            = 5
fcntl(5, F_SETFD, FD_CLOEXEC)           = 0
socketpair(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0, [6, 7]) = 0
brk(0x7ffff8004000)                     = 0x7ffff8004000
brk(0x7ffff8005000)                     = 0x7ffff8005000
brk(0x7ffff8006000)                     = 0x7ffff8006000
brk(0x7ffff8007000)                     = 0x7ffff8007000
brk(0x7ffff8008000)                     = 0x7ffff8008000
brk(0x7ffff8009000)                     = 0x7ffff8009000
fcntl(6, F_DUPFD_CLOEXEC, 3)            = 8
fcntl(8, F_SETFD, FD_CLOEXEC)           = 0
epoll_ctl(5, EPOLL_CTL_ADD, 8, {EPOLLIN|EPOLLRDHUP|EPOLLET, {u32=2147483649, u64=2147483649}}) = 0
brk(0x7ffff800b000)                     = 0x7ffff800b000
brk(0x7ffff800c000)                     = 0x7ffff800c000
brk(0x7ffff800d000)                     = 0x7ffff800d000
brk(0x7ffff800e000)                     = 0x7ffff800e000
brk(0x7ffff800f000)                     = 0x7ffff800f000
brk(0x7ffff8010000)                     = 0x7ffff8010000
brk(0x7ffff8011000)                     = 0x7ffff8011000
brk(0x7ffff8012000)                     = 0x7ffff8012000
brk(0x7ffff8013000)                     = 0x7ffff8013000
brk(0x7ffff8014000)                     = 0x7ffff8014000
brk(0x7ffff8015000)                     = 0x7ffff8015000
rt_sigprocmask(SIG_UNBLOCK, [RT_1 RT_2], NULL, 8) = 0
mmap(NULL, 2109440, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffff75d1000
mprotect(0x7ffff75d3000, 2101248, PROT_READ|PROT_WRITE) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0
clone(child_stack=0x7ffff77d38a8, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|0x400000, parent_tidptr=0x7ffff77d3b58, tls=0x7ffff77d3b20, child_tidptr=0x7ffff7ffe218) = 33039
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
brk(0x7ffff8016000)                     = 0x7ffff8016000
mmap(NULL, 2109440, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffff73cb000
mprotect(0x7ffff73cd000, 2101248, PROT_READ|PROT_WRITE) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0
clone(child_stack=0x7ffff75cd8a8, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|0x400000, parent_tidptr=0x7ffff75cdb58, tls=0x7ffff75cdb20, child_tidptr=0x7ffff7ffe218) = 33040
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
mmap(NULL, 2109440, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffff71c5000
mprotect(0x7ffff71c7000, 2101248, PROT_READ|PROT_WRITE) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0
clone(child_stack=0x7ffff73c78a8, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|0x400000, parent_tidptr=0x7ffff73c7b58, tls=0x7ffff73c7b20, child_tidptr=0x7ffff7ffe218) = 33041
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
futex(0x7ffff77d3948, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7ffff77d7070, FUTEX_WAIT_PRIVATE, 1, NULL) = 0
mmap(NULL, 2109440, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffff6fbf000
mprotect(0x7ffff6fc1000, 2101248, PROT_READ|PROT_WRITE) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0
clone(child_stack=0x7ffff71c18a8, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|0x400000, parent_tidptr=0x7ffff71c1b58, tls=0x7ffff71c1b20, child_tidptr=0x7ffff7ffe218) = 33042
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
mmap(NULL, 2109440, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffff6db9000
mprotect(0x7ffff6dbb000, 2101248, PROT_READ|PROT_WRITE) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0
clone(child_stack=0x7ffff6fbb8a8, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|0x400000, parent_tidptr=0x7ffff6fbbb58, tls=0x7ffff6fbbb20, child_tidptr=0x7ffff7ffe218) = 33043
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
futex(0x7ffff73c7948, FUTEX_WAKE_PRIVATE, 1) = 1
brk(0x7ffff8017000)                     = 0x7ffff8017000
mmap(NULL, 2109440, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffff6bb3000
mprotect(0x7ffff6bb5000, 2101248, PROT_READ|PROT_WRITE) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0
clone(child_stack=0x7ffff6db58a8, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|0x400000, parent_tidptr=0x7ffff6db5b58, tls=0x7ffff6db5b20, child_tidptr=0x7ffff7ffe218) = 33044
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
futex(0x7ffff6fbb948, FUTEX_WAKE_PRIVATE, 1) = 0
mmap(NULL, 2109440, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffff69ad000
mprotect(0x7ffff69af000, 2101248, PROT_READ|PROT_WRITE) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0
clone(child_stack=0x7ffff6baf8a8, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|0x400000, parent_tidptr=0x7ffff6bafb58, tls=0x7ffff6bafb20, child_tidptr=0x7ffff7ffe218) = 33045
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
mmap(NULL, 2109440, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffff67a7000
mprotect(0x7ffff67a9000, 2101248, PROT_READ|PROT_WRITE) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0
clone(child_stack=0x7ffff69a98a8, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|0x400000, parent_tidptr=0x7ffff69a9b58, tls=0x7ffff69a9b20, child_tidptr=0x7ffff7ffe218) = 33046
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
brk(0x7ffff8018000)                     = 0x7ffff8018000
futex(0x7ffff6db5948, FUTEX_WAKE_PRIVATE, 1) = 1
mmap(NULL, 2109440, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffff65a1000
mprotect(0x7ffff65a3000, 2101248, PROT_READ|PROT_WRITE) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0
clone(child_stack=0x7ffff67a38a8, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|0x400000, parent_tidptr=0x7ffff67a3b58, tls=0x7ffff67a3b20, child_tidptr=0x7ffff7ffe218) = 33047
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
futex(0x7ffff6baf948, FUTEX_WAKE_PRIVATE, 1) = 1
mmap(NULL, 2109440, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffff639b000
mprotect(0x7ffff639d000, 2101248, PROT_READ|PROT_WRITE) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0
clone(child_stack=0x7ffff659d8a8, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|0x400000, parent_tidptr=0x7ffff659db58, tls=0x7ffff659db20, child_tidptr=0x7ffff7ffe218) = 33048
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
futex(0x7ffff69a9948, FUTEX_WAKE_PRIVATE, 1) = 1
mmap(NULL, 2109440, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffff6195000
mprotect(0x7ffff6197000, 2101248, PROT_READ|PROT_WRITE) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0
clone(child_stack=0x7ffff63978a8, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|0x400000, parent_tidptr=0x7ffff6397b58, tls=0x7ffff6397b20, child_tidptr=0x7ffff7ffe218) = 33049
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
futex(0x7ffff67a3948, FUTEX_WAKE_PRIVATE, 1) = 1
mmap(NULL, 2109440, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffff5f8f000
mprotect(0x7ffff5f91000, 2101248, PROT_READ|PROT_WRITE) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0
clone(child_stack=0x7ffff61918a8, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|0x400000, parent_tidptr=0x7ffff6191b58, tls=0x7ffff6191b20, child_tidptr=0x7ffff7ffe218) = 33050
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
futex(0x7ffff659d948, FUTEX_WAKE_PRIVATE, 1) = 1
mmap(NULL, 2109440, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffff5d89000
mprotect(0x7ffff5d8b000, 2101248, PROT_READ|PROT_WRITE) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0
clone(child_stack=0x7ffff5f8b8a8, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|0x400000, parent_tidptr=0x7ffff5f8bb58, tls=0x7ffff5f8bb20, child_tidptr=0x7ffff7ffe218) = 33051
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
futex(0x7ffff6397948, FUTEX_WAKE_PRIVATE, 1) = 1
mmap(NULL, 2109440, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffff5b83000
mprotect(0x7ffff5b85000, 2101248, PROT_READ|PROT_WRITE) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0
clone(child_stack=0x7ffff5d858a8, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|0x400000, parent_tidptr=0x7ffff5d85b58, tls=0x7ffff5d85b20, child_tidptr=0x7ffff7ffe218) = 33052
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
futex(0x7ffff6191948, FUTEX_WAKE_PRIVATE, 1) = 1
mmap(NULL, 2109440, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffff597d000
mprotect(0x7ffff597f000, 2101248, PROT_READ|PROT_WRITE) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0
clone(child_stack=0x7ffff5b7f8a8, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|0x400000, parent_tidptr=0x7ffff5b7fb58, tls=0x7ffff5b7fb20, child_tidptr=0x7ffff7ffe218) = 33053
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
futex(0x7ffff5f8b948, FUTEX_WAKE_PRIVATE, 1) = 1
mmap(NULL, 2109440, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffff5777000
mprotect(0x7ffff5779000, 2101248, PROT_READ|PROT_WRITE) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0
clone(child_stack=0x7ffff59798a8, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|0x400000, parent_tidptr=0x7ffff5979b58, tls=0x7ffff5979b20, child_tidptr=0x7ffff7ffe218) = 33054
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
futex(0x7ffff5d85948, FUTEX_WAKE_PRIVATE, 1) = 1
ioctl(2, TIOCGWINSZ, {ws_row=61, ws_col=246, ws_xpixel=640, ws_ypixel=480}) = 0
brk(0x7ffff801b000)                     = 0x7ffff801b000
brk(0x7ffff801c000)                     = 0x7ffff801c000
brk(0x7ffff801e000)                     = 0x7ffff801e000
brk(0x7ffff8021000)                     = 0x7ffff8021000
brk(0x7ffff8024000)                     = 0x7ffff8024000
brk(0x7ffff8025000)                     = 0x7ffff8025000
brk(0x7ffff8027000)                     = 0x7ffff8027000
brk(0x7ffff802a000)                     = 0x7ffff802a000
brk(0x7ffff802b000)                     = 0x7ffff802b000
brk(0x7ffff802d000)                     = 0x7ffff802d000
brk(0x7ffff8030000)                     = 0x7ffff8030000
brk(0x7ffff8032000)                     = 0x7ffff8032000
brk(0x7ffff8033000)                     = 0x7ffff8033000
brk(0x7ffff8034000)                     = 0x7ffff8034000
brk(0x7ffff8035000)                     = 0x7ffff8035000
brk(0x7ffff8036000)                     = 0x7ffff8036000
brk(0x7ffff8038000)                     = 0x7ffff8038000
brk(0x7ffff803e000)                     = 0x7ffff803e000
brk(0x7ffff8041000)                     = 0x7ffff8041000
brk(0x7ffff804c000)                     = 0x7ffff804c000
brk(0x7ffff8061000)                     = 0x7ffff8061000
brk(0x7ffff808a000)                     = 0x7ffff808a000
brk(0x7ffff80a2000)                     = 0x7ffff80a2000
mmap(NULL, 331776, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffff5723000
madvise(0x7ffff8038000, 327680, MADV_DONTNEED) = 0
mmap(NULL, 253952, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffff56e5000
munmap(0x7ffff5723000, 331776)          = 0
mmap(NULL, 331776, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffff5723000
munmap(0x7ffff5723000, 331776)          = 0
ioctl(2, TIOCGWINSZ, {ws_row=61, ws_col=246, ws_xpixel=640, ws_ypixel=480}) = 0
geteuid()                               = 0
stat("/nix/receipt.json", 0x7fffffff32e0) = -1 ENOENT (No such file or directory)
stat("/nix/nix-installer", 0x7fffffff32e0) = -1 ENOENT (No such file or directory)
stat("/run/systemd/system", {st_mode=S_IFDIR|0755, st_size=240, ...}) = 0
open("/dev/null", O_RDONLY|O_CLOEXEC)   = 9
fcntl(9, F_SETFD, FD_CLOEXEC)           = 0
open("/dev/null", O_WRONLY|O_CLOEXEC)   = 10
fcntl(10, F_SETFD, FD_CLOEXEC)          = 0
open("/dev/null", O_WRONLY|O_CLOEXEC)   = 11
fcntl(11, F_SETFD, FD_CLOEXEC)          = 0
pipe2([12, 13], O_CLOEXEC)              = 0
rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
clone(child_stack=0x7fffffff2958, flags=CLONE_VM|CLONE_VFORK|SIGCHLD) = 33055
close(13)                               = 0
read(12, "", 4)                         = 0
close(12)                               = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(9)                                = 0
close(10)                               = 0
close(11)                               = 0
rt_sigaction(SIGCHLD, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGCHLD, {sa_handler=0x7ffff7c76caf, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0x7ffff7d2ee0f}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
wait4(33055, 0x7fffffff2fec, WNOHANG, NULL) = 0
futex(0x7ffff77d7070, FUTEX_WAIT_PRIVATE, 1, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=33055, si_uid=0, si_status=0, si_utime=0, si_stime=1} ---
write(7, "\1", 1)                       = 1
rt_sigreturn({mask=[]})                 = 202
futex(0x7ffff77d7070, FUTEX_WAIT_PRIVATE, 1, NULL) = 0
wait4(33055, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 33055
stat("/run/systemd/system", {st_mode=S_IFDIR|0755, st_size=240, ...}) = 0
open("/dev/null", O_RDONLY|O_CLOEXEC)   = 9
fcntl(9, F_SETFD, FD_CLOEXEC)           = 0
open("/dev/null", O_WRONLY|O_CLOEXEC)   = 10
fcntl(10, F_SETFD, FD_CLOEXEC)          = 0
open("/dev/null", O_WRONLY|O_CLOEXEC)   = 11
fcntl(11, F_SETFD, FD_CLOEXEC)          = 0
pipe2([12, 13], O_CLOEXEC)              = 0
rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
clone(child_stack=0x7fffffff1408, flags=CLONE_VM|CLONE_VFORK|SIGCHLD) = 33057
close(13)                               = 0
read(12, "", 4)                         = 0
close(12)                               = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(9)                                = 0
close(10)                               = 0
close(11)                               = 0
wait4(33057, 0x7fffffff1a9c, WNOHANG, NULL) = 0
futex(0x7ffff77d7070, FUTEX_WAIT_PRIVATE, 1, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=33057, si_uid=0, si_status=0, si_utime=0, si_stime=2} ---
write(7, "\1", 1)                       = 1
rt_sigreturn({mask=[]})                 = 202
futex(0x7ffff77d7070, FUTEX_WAIT_PRIVATE, 1, NULL) = 0
wait4(33057, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 33057
open("/etc/os-release", O_RDONLY|O_CLOEXEC) = 9
fcntl(9, F_SETFD, FD_CLOEXEC)           = 0
read(9, "NAME=\"Red Hat Enterprise Linux Workstation\"\nVERSION=\"7.9 (Maipo)\"\nID=\"rhel\"\nID_LIKE=\"fedora\"\nVARIANT=\"Workstation\"\nVARIANT_ID=\"workstation\"\nVERSION_ID=\"7.9\"\nPRETTY_NAME=\"Red Hat Enterprise Linux Workstation 7.9 (Maipo)\"\nANSI_COLOR=\"0;31\"\nCPE_NAME=\"cpe:/o:redhat:enterprise_linux:7.9:GA:workstation\"\nHOME_URL=\"https://www.redhat.com/\"\nBUG_REPORT_URL=\"https://bugzilla.redhat.com/\"\n\nREDHAT_BUGZILLA_PRODUCT=\"Red Hat Enterprise Linux 7\"\nREDHAT_BUGZILLA_PRODUCT_VERSION=7.9\nREDHAT_SUPPORT_PRODUCT=\"Red Hat Enterprise Linux\"\nREDHAT_SUPPORT_PRODUCT_VERSION=\"7.9\"\n", 8192) = 557
read(9, "", 8192)                       = 0
close(9)                                = 0
stat("/etc/NIXOS", 0x7fffffff1970)      = -1 ENOENT (No such file or directory)
open("/dev/null", O_RDONLY|O_CLOEXEC)   = 9
fcntl(9, F_SETFD, FD_CLOEXEC)           = 0
pipe2([10, 11], O_CLOEXEC)              = 0
rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
clone(child_stack=0x7fffffff1658, flags=CLONE_VM|CLONE_VFORK|SIGCHLD) = 33058
close(11)                               = 0
read(10, "\2\0\0\0", 4)                 = 4
wait4(33058, [{WIFEXITED(s) && WEXITSTATUS(s) == 127}], 0, NULL) = 33058
close(10)                               = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(9)                                = 0
stat("/sys/fs/selinux", 0x7fffffff1970) = -1 ENOENT (No such file or directory)
stat("/run/systemd/system", {st_mode=S_IFDIR|0755, st_size=240, ...}) = 0
stat("/nix", 0x7fffffff1190)            = -1 ENOENT (No such file or directory)
open("/etc/group", O_RDONLY|O_CLOEXEC)  = 9
fcntl(9, F_SETFD, FD_CLOEXEC)           = 0
fcntl(9, F_SETFD, FD_CLOEXEC)           = 0
read(9, "root:x:0:\nbin:x:1:\ndaemon:x:2:\nsys:x:3:\nadm:x:4:\ntty:x:5:\ndisk:x:6:\nlp:x:7:\nmem:x:8:\nkmem:x:9:\nwheel:x:10:elprobst\ncdrom:x:11:\nmail:x:12:postfix\nman:x:15:\ndialout:x:18:\nfloppy:x:19:\ngames:x:200:\ntape:x:33:\nvideo:x:39:\nftp:x:50:\nlock:x:54:\naudio:x:63:\nnobody:x:99:\nusers:x:20:\nutmp:x:22:\nutempter:x:35:\nscreen:x:84:\nccache:x:999:\ninput:x:998:\nsystemd-journal:x:190:\nsystemd-network:x:192:\ndbus:x:81:\npolkitd:x:997:\nrpc:x:32:\nprintadmin:x:996:\nnscd:x:28:\ncgred:x:995:\nyumex:x:994:\npostdrop:x:90:\npostfix:x:89:\nsaslauth:x:76:\nlibstoragemgmt:x:993:\nldap:x:55:\ncolord:x:992:\npostgres:x:26:\nhaproxy:x:991:\ndip:x:40:\nntp:x:38:\napache:x:48:\nssh_keys:x:990:\nsshd:x:74:\nstapusr:x:156:\nstapsys:x:157:\nstapdev:x:"..., 1024) = 1024
read(9, "x:1609:\n", 1024)              = 8
read(9, "", 1024)                       = 0
close(9)                                = 0
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0) = 9
connect(9, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 24) = 0
sendmsg(9, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\2\0\0\0\2\0\0\0\7\0\0\0", iov_len=12}, {iov_base="nixbld\0", iov_len=7}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 19
readv(9, [{iov_base="\2\0\0\0\377\377\377\377\0\0\0\0\0\0\0\0\377\377\377\377\0\0\0", iov_len=23}, {iov_base="\0", iov_len=1024}], 2) = 24
close(9)                                = 0
write(4, "\1\0\0\0\0\0\0\0", 8)         = 8
futex(0x7ffff75cd948, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7ffff73c7948, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7ffff6fbb948, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7ffff6db5948, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7ffff6baf948, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7ffff69a9948, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7ffff67a3948, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7ffff659d948, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7ffff6397948, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7ffff6191948, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7ffff5f8b948, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7ffff5d85948, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7ffff71c1948, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7ffff5b7f948, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7ffff5979948, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7ffff77d3948, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7ffff77d7070, FUTEX_WAIT_PRIVATE, 1, NULL) = 0
futex(0x7ffff77d3b60, FUTEX_WAIT_PRIVATE, 1, NULL) = 0
futex(0x7ffff7ffe218, FUTEX_WAIT, 33039, NULL) = -1 EAGAIN (Resource temporarily unavailable)
munmap(0x7ffff75d1000, 2109440)         = 0
munmap(0x7ffff73cb000, 2109440)         = 0
munmap(0x7ffff71c5000, 2109440)         = 0
munmap(0x7ffff6fbf000, 2109440)         = 0
munmap(0x7ffff6db9000, 2109440)         = 0
munmap(0x7ffff6bb3000, 2109440)         = 0
munmap(0x7ffff69ad000, 2109440)         = 0
munmap(0x7ffff67a7000, 2109440)         = 0
munmap(0x7ffff65a1000, 2109440)         = 0
munmap(0x7ffff639b000, 2109440)         = 0
munmap(0x7ffff6195000, 2109440)         = 0
munmap(0x7ffff5f8f000, 2109440)         = 0
munmap(0x7ffff5d89000, 2109440)         = 0
munmap(0x7ffff5b83000, 2109440)         = 0
munmap(0x7ffff597d000, 2109440)         = 0
munmap(0x7ffff5777000, 2109440)         = 0
write(2, "Error: ", 7)                  = 7
write(2, "\n", 1)                       = 1
write(2, " ", 1)                        = 1
write(2, " ", 1)                        = 1
write(2, " ", 1)                        = 1
write(2, "0", 1)                        = 1
write(2, ": ", 2)                       = 2
write(2, "\33[", 2)                     = 2
write(2, "91", 2)                       = 2
write(2, "m", 1)                        = 1
write(2, "Planner error", 13)           = 13
write(2, "\33[0m", 4)                   = 4
write(2, "\n", 1)                       = 1
write(2, " ", 1)                        = 1
write(2, " ", 1)                        = 1
write(2, " ", 1)                        = 1
write(2, "1", 1)                        = 1
write(2, ": ", 2)                       = 2
write(2, "\33[", 2)                     = 2
write(2, "91", 2)                       = 2
write(2, "m", 1)                        = 1
write(2, "Error executing action", 22)  = 22
write(2, "\33[0m", 4)                   = 4
write(2, "\n", 1)                       = 1
write(2, " ", 1)                        = 1
write(2, " ", 1)                        = 1
write(2, " ", 1)                        = 1
write(2, "2", 1)                        = 1
write(2, ": ", 2)                       = 2
write(2, "\33[", 2)                     = 2
write(2, "91", 2)                       = 2
write(2, "m", 1)                        = 1
write(2, "Action `", 8)                 = 8
write(2, "provision_nix", 13)           = 13
write(2, "` errored", 9)                = 9
write(2, "\33[0m", 4)                   = 4
write(2, "\n", 1)                       = 1
write(2, " ", 1)                        = 1
write(2, " ", 1)                        = 1
write(2, " ", 1)                        = 1
write(2, "3", 1)                        = 1
write(2, ": ", 2)                       = 2
write(2, "\33[", 2)                     = 2
write(2, "91", 2)                       = 2
write(2, "m", 1)                        = 1
write(2, "Getting gid for group `", 23) = 23
write(2, "nixbld", 6)                   = 6
write(2, "`", 1)                        = 1
write(2, "\33[0m", 4)                   = 4
write(2, "\n", 1)                       = 1
write(2, " ", 1)                        = 1
write(2, " ", 1)                        = 1
write(2, " ", 1)                        = 1
write(2, "4", 1)                        = 1
write(2, ": ", 2)                       = 2
write(2, "\33[", 2)                     = 2
write(2, "91", 2)                       = 2
write(2, "m", 1)                        = 1
write(2, "EIO", 3)                      = 3
write(2, ": ", 2)                       = 2
write(2, "I/O error", 9)                = 9
write(2, "\33[0m", 4)                   = 4
write(2, "\n\n", 2)                     = 2
write(2, "Location:", 9)                = 9
write(2, "\n", 1)                       = 1
write(2, "   ", 3)                      = 3
write(2, "\33[", 2)                     = 2
write(2, "35", 2)                       = 2
write(2, "m", 1)                        = 1
write(2, "src/cli/subcommand/install.rs", 29) = 29
write(2, "\33[0m", 4)                   = 4
write(2, ":", 1)                        = 1
write(2, "\33[", 2)                     = 2
write(2, "35", 2)                       = 2
write(2, "m", 1)                        = 1
write(2, "159", 3)                      = 3
write(2, "\33[0m", 4)                   = 4
write(2, "\n\n", 2)                     = 2
write(2, "Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.", 80) = 80
write(2, "\n", 1)                       = 1
write(2, "Run with RUST_BACKTRACE=full to include source snippets.", 56) = 56
write(2, "\n\n", 2)                     = 2
write(2, "Consider reporting this error using this URL: ", 46) = 46
write(2, "https://github.com/DeterminateSystems/nix-installer/issues/new?title=%3Cautogenerated-issue%3E&body=%23%23+Error%0A%60%60%60%0AError%3A+%0A+++0%3A+Planner+error%0A+++1%3A+Error+executing+action%0A+++2%3A+Action+%60provision_nix%60+errored%0A+++3%3A+Getting+gid+for+group+%60nixbld%60%0A+++4%3A+EIO%3A+I%2FO+error%0A%60%60%60%0A%0A%23%23+Metadata%0A%7Ckey%7Cvalue%7C%0A%7C--%7C--%7C%0A%7C**version**%7C0.9.1%7C%0A%7C**os**%7Clinux%7C%0A%7C**arch**%7Cx86_64%7C%0A", 461) = 461
write(2, "\n", 1)                       = 1
sigaltstack({ss_sp=NULL, ss_flags=SS_DISABLE, ss_size=8192}, NULL) = 0
munmap(0x7ffff77d4000, 12288)           = 0
exit_group(1)                           = ?
+++ exited with 1 +++
Hoverbear commented 1 year ago

Thanks for this. I'm going to need to spend some time investigating this. I imagine we don't specially handle NSS which is the problem.

eliasp commented 1 year ago

The environment got upgraded to RHEL9, where the installer worked just flawlessly. This system uses now SSSD instead of NIS (still via NSS), so I'm not sure whether it's working now due to the upgrade or the NIS > SSSD change.

Feel free to close this issue, since (un-)fortunately I can't reproduce the issue right now anymore.

Hoverbear commented 1 year ago

Hmmm okay! Glad it works. I think it's still worth trying to fix on our side. :)

Hoverbear commented 1 year ago

Was talking to @lheckemann today about this and we believe that the fact we package for musl libc? I wonder if a glibc build would work... If you happen to have a Rust toolchain, you may be able to cargo install nix-installer and run that.