NixOS / nix

Nix, the purely functional package manager
https://nixos.org/
GNU Lesser General Public License v2.1
12.14k stars 1.47k forks source link

`nix-channel --update` fails in 2.3.1 with custom store path. #3285

Open siscia opened 4 years ago

siscia commented 4 years ago

Merry holidays everybody!

I am trying again to build nix using my custom storage and it is failing again. The build process goes smoothly with this configure.

./configure
         --enable-gc
         --with-store-dir="/cvmfs/packages.redbeardlab.com/nix/store"
         --localstatedir="/cvmfs/packages.redbeardlab.com/nix/state"
         --prefix="/cvmfs/packages.redbeardlab.com/nix/installation"
make 
make install

Then I proceed to add nixpkgs to the channel list.

nix-channel --add https://nixos.org/channels/nixpkgs-unstable

And finally I try to update the list.

$ nix-channel --update
unpacking channels...
while setting up the build environment: executing '/bin/bash': No such file or directory
builder for '/cvmfs/packages.redbeardlab.com/nix/store/dlnrkwkn8pw5pncpg2kz2h1lxa7hkj3r-nixpkgs-20.03pre205792.fb1bc1b891f.drv' failed with exit code 1
error: build of '/cvmfs/packages.redbeardlab.com/nix/store/dlnrkwkn8pw5pncpg2kz2h1lxa7hkj3r-nixpkgs-20.03pre205792.fb1bc1b891f.drv' failed
error: program '/cvmfs/packages.redbeardlab.com/nix/installation/bin/nix-env' failed with exit code 100

It is me doing something wrong? Do I miss some step?

Cheers,

siscia commented 4 years ago

Also note that this is the very first --update

zimbatm commented 4 years ago
siscia commented 4 years ago
- Yes, of course:

ll /bin/bash

-rwxr-xr-x 1 root root 1113504 Apr 4 2018 /bin/bash*

- Also it is available.

cat /boot/config-4.15.0-45-generic | grep CONFIG_USER_NS

CONFIG_USER_NS=y

siscia commented 4 years ago

This is the strace of the failling process.

14:59:13 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
14:59:13 setsid()                       = 1
14:59:13 dup2(16, 2)                    = 2
14:59:13 dup2(2, 1)                     = 1
14:59:13 openat(AT_FDCWD, "/dev/null", O_RDWR) = 19
14:59:13 dup2(19, 0)                    = 0
14:59:13 close(19)                      = 0
14:59:13 prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0) = 0
14:59:13 seccomp(SECCOMP_SET_MODE_STRICT, 1, NULL) = -1 EINVAL (Invalid argument)
14:59:13 seccomp(SECCOMP_SET_MODE_FILTER, 0, {len=45, filter=0x55f3cdceca00}) = 0
14:59:13 close(18)                      = 0
14:59:13 brk(0x55f3cdd1d000)            = 0x55f3cdd1d000
14:59:13 read(17, "1", 65536)           = 1
14:59:13 read(17, "", 65536)            = 0
14:59:13 brk(0x55f3cdd0d000)            = 0x55f3cdd0d000
14:59:13 close(17)                      = 0
14:59:13 socket(AF_INET, SOCK_DGRAM, IPPROTO_IP) = 17
14:59:13 ioctl(17, SIOCSIFFLAGS, {ifr_name="lo", ifr_flags=IFF_UP|IFF_LOOPBACK|IFF_RUNNING}) = 0
14:59:13 close(17)                      = 0
14:59:13 sethostname("localhost\0", 10) = 0
14:59:13 setdomainname("(none)\0", 7)   = 0
14:59:13 mount(NULL, "/", NULL, MS_REC|MS_PRIVATE, NULL) = 0
14:59:13 mount("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot", "/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot", NULL, MS_BIND, NULL) = 0
14:59:13 lstat("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/shm", 0x7efd0f96d5f0) = -1 ENOENT (No such file or directory)
14:59:13 lstat("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev", 0x7efd0f96d260) = -1 ENOENT (No such file or directory)
14:59:13 lstat("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot", {st_mode=S_IFDIR|0750, st_size=4096, ...}) = 0
14:59:13 mkdir("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev", 0777) = 0
14:59:13 lstat("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
14:59:13 mkdir("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/shm", 0777) = 0
14:59:13 lstat("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/shm", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
14:59:13 lstat("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/pts", 0x7efd0f96d5f0) = -1 ENOENT (No such file or directory)
14:59:13 lstat("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
14:59:13 mkdir("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/pts", 0777) = 0
14:59:13 lstat("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/pts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
14:59:13 symlink("/proc/self/fd", "/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/fd") = 0
14:59:13 symlink("/proc/self/fd/0", "/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/stdin") = 0
14:59:13 symlink("/proc/self/fd/1", "/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/stdout") = 0
14:59:13 symlink("/proc/self/fd/2", "/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/stderr") = 0
14:59:13 stat("/tmp/nix-build-nixpkgs-20.03pre206486.a8fc904c7c0.drv-0", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
14:59:13 lstat("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/build", 0x7efd0f96d400) = -1 ENOENT (No such file or directory)
14:59:13 lstat("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot", {st_mode=S_IFDIR|0750, st_size=4096, ...}) = 0
14:59:13 mkdir("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/build", 0777) = 0
14:59:13 lstat("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
14:59:13 mount("/tmp/nix-build-nixpkgs-20.03pre206486.a8fc904c7c0.drv-0", "/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/build", 0x7efd0eb6a9c5, MS_BIND|MS_REC, NULL) = 0
14:59:13 stat("/dev/full", {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 7), ...}) = 0
14:59:13 lstat("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
14:59:13 openat(AT_FDCWD, "/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/full", O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 17
14:59:13 close(17)                      = 0
14:59:13 mount("/dev/full", "/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/full", 0x7efd0eb6a9c5, MS_BIND|MS_REC, NULL) = 0
14:59:13 stat("/dev/null", {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 3), ...}) = 0
14:59:13 lstat("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
14:59:13 openat(AT_FDCWD, "/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/null", O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 17
14:59:13 close(17)                      = 0
14:59:13 mount("/dev/null", "/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/null", 0x7efd0eb6a9c5, MS_BIND|MS_REC, NULL) = 0
14:59:13 stat("/dev/random", {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 8), ...}) = 0
14:59:13 lstat("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
14:59:13 openat(AT_FDCWD, "/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/random", O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 17
14:59:13 close(17)                      = 0
14:59:13 mount("/dev/random", "/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/random", 0x7efd0eb6a9c5, MS_BIND|MS_REC, NULL) = 0
14:59:13 stat("/dev/tty", {st_mode=S_IFCHR|0666, st_rdev=makedev(5, 0), ...}) = 0
14:59:13 lstat("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
14:59:13 openat(AT_FDCWD, "/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/tty", O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 17
14:59:13 close(17)                      = 0
14:59:13 mount("/dev/tty", "/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/tty", 0x7efd0eb6a9c5, MS_BIND|MS_REC, NULL) = 0
14:59:13 stat("/dev/urandom", {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 9), ...}) = 0
14:59:13 lstat("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
14:59:13 openat(AT_FDCWD, "/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/urandom", O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 17
14:59:13 close(17)                      = 0
14:59:13 mount("/dev/urandom", "/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/urandom", 0x7efd0eb6a9c5, MS_BIND|MS_REC, NULL) = 0
14:59:13 stat("/dev/zero", {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 5), ...}) = 0
14:59:13 lstat("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
14:59:13 openat(AT_FDCWD, "/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/zero", O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 17
14:59:13 close(17)                      = 0
14:59:13 mount("/dev/zero", "/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/zero", 0x7efd0eb6a9c5, MS_BIND|MS_REC, NULL) = 0
14:59:13 lstat("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/proc", 0x7efd0f96d5f0) = -1 ENOENT (No such file or directory)
14:59:13 lstat("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot", {st_mode=S_IFDIR|0750, st_size=4096, ...}) = 0
14:59:13 mkdir("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/proc", 0777) = 0
14:59:13 lstat("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/proc", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
14:59:13 mount("none", "/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/proc", "proc", 0, NULL) = 0
14:59:13 lstat("/dev/shm", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=40, ...}) = 0
14:59:13 mount("none", "/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/shm", "tmpfs", 0, "size=50%") = 0
14:59:13 lstat("/dev/pts/ptmx", {st_mode=S_IFCHR|000, st_rdev=makedev(5, 2), ...}) = 0
14:59:13 lstat("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/ptmx", 0x7efd0f96d5f0) = -1 ENOENT (No such file or directory)
14:59:13 mount("none", "/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/pts", "devpts", 0, "newinstance,mode=0620") = 0
14:59:13 symlink("/dev/pts/ptmx", "/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/ptmx") = 0
14:59:13 chmod("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot/dev/pts/ptmx", 0666) = 0
14:59:13 chdir("/cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot") = 0
14:59:13 mkdir("real-root", 000)        = 0
14:59:13 pivot_root(".", "real-root")   = 0
14:59:13 chroot(".")                    = 0
14:59:13 umount2("real-root", MNT_DETACH) = 0
14:59:13 rmdir("real-root")             = 0
14:59:13 setgid(100)                    = 0
14:59:13 setuid(1000)                   = 0
14:59:13 chdir("/build")                = 0
14:59:13 openat(AT_FDCWD, "/proc/self/fd", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 17
14:59:13 fstat(17, {st_mode=S_IFDIR|0500, st_size=0, ...}) = 0
14:59:13 getdents(17, /* 20 entries */, 32768) = 480
14:59:13 getdents(17, /* 0 entries */, 32768) = 0
14:59:13 close(17)                      = 0
14:59:13 close(3)                       = 0
14:59:13 close(4)                       = 0
14:59:13 close(5)                       = 0
14:59:13 close(6)                       = 0
14:59:13 close(7)                       = 0
14:59:13 close(8)                       = 0
14:59:13 close(9)                       = 0
14:59:13 close(10)                      = 0
14:59:13 close(11)                      = 0
14:59:13 close(12)                      = 0
14:59:13 close(13)                      = 0
14:59:13 close(14)                      = 0
14:59:13 close(15)                      = 0
14:59:13 close(16)                      = 0
14:59:13 close(17)                      = -1 EBADF (Bad file descriptor)
14:59:13 uname({sysname="Linux", nodename="localhost", ...}) = 0
14:59:13 personality(0xffffffff)        = 0 (PER_LINUX)
14:59:13 personality(PER_LINUX|ADDR_NO_RANDOMIZE) = 0 (PER_LINUX)
14:59:13 prlimit64(0, RLIMIT_CORE, {rlim_cur=0, rlim_max=RLIM64_INFINITY}, NULL) = 0
14:59:13 write(2, "\1\n", 2)            = 2
14:59:13 execve("/bin/bash", ["bash", "-e", "/cvmfs/packages.redbeardlab.com/nix/store/rq8q1abs4i5p53arddfrkva8biw8dlj6-unpack-channel.sh"], 0x55f3cdcc7880 /* 20 vars */) = -1 ENOENT (No such file or directory)
14:59:13 write(2, "\1while setting up the build environment: executing '/bin/bash': No such file or directory\n", 90) = 90
14:59:13 exit_group(1)                  = ?
14:59:13 +++ exited with 1 +++
siscia commented 4 years ago

It seems to me that we are bind-mounting the whole filesystem into \cvmfs/packages.redbeardlab.com/nix/store/jwb38bww36svjgp4blki0f8zdmq482r0-nixpkgs-20.03pre206486.a8fc904c7c0.drv.chroot

But I don't see the /bin directory being mounted.

So it would make completely sense that /bin/bash does not appear to exists.

Am I wrong?

siscia commented 4 years ago

Given https://github.com/NixOS/nix/issues/3299#event-2920009651 write a test and make sure it fails.

siscia commented 4 years ago

Even the latest version 2.3.2 results in exactly the same problem.

The problem is very well reproducible, but my skills and time are limited. Am I the only one who has this problem?

LnL7 commented 4 years ago

Is there a reason you are using a different store dir as well as a different installation prefix? Given this setup you'll most likely need to either configure the build better (perhaps --with-sandbox-shell=?) or change sandbox-paths appropriatly in nix.conf.

Alternatively, instead of an impure build I would recommend you try building a customized nix from nixpkgs instead. That's more likely to have everything isolated properly and has the advantage of having things like builtins.storePath work more like expected.

with import <nixpkgs> {};
nix.override {
  storeDir = "\cvmfs/packages.redbeardlab.com/nix/store";
  stateDir = "\cvmfs/packages.redbeardlab.com/nix/var/nix";
  confDir = "\cvmfs/packages.redbeardlab.com/etc";
}
stale[bot] commented 3 years ago

I marked this as stale due to inactivity. → More info

stale[bot] commented 2 years ago

I closed this issue due to inactivity. → More info