help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Half a success with chroot


From: Gábor Boskovits
Subject: Re: Half a success with chroot
Date: Mon, 12 Mar 2018 23:29:06 +0100

2018-03-12 22:10 GMT+01:00 Thorsten Wilms <address@hidden>:
On 12.03.2018 20:17, Gábor Boskovits wrote:

Hello! It would be nice to know the error code returned by the pivot_root syscall. It might point to the reason of the failure.
Most probably you can get that using strace. Stracing the daemon is possible using strace -fp pid_of_daemon.

Result of `strace -fp 3364 &> strace_guix-daemon.txt &` attached.

grep -b4 -a4 pivot strace_guix-daemon.txt
5208309-[pid  3421] mount("none", "/gnu/store/4vgn265kihmk1aayy3rg5h4z00dvlfmy-emacs-bash-completion-2.0.0.drv.chroot/dev/shm", "tmpfs", 0, NULL) = 0
5208451-[pid  3421] lstat("/dev/pts/ptmx", 0x7fff0a3217a0) = -1 ENOENT (No such file or directory)
5208542-[pid  3421] chdir("/gnu/store/4vgn265kihmk1aayy3rg5h4z00dvlfmy-emacs-bash-completion-2.0.0.drv.chroot") = 0
5208650-[pid  3421] mkdir("real-root", 000)     = 0
5208694:[pid  3421] pivot_root(".", "real-root") = -1 EINVAL (Invalid argument)
5208766-[pid  3421] write(2, "while setting up the build envir"..., 190) = 190
5208837-[pid  3411] <... read resumed> "w", 1)  = 1
5208881-[pid  3421] exit_group(1 <unfinished ...>
5208923-[pid  3411] read(15,  <unfinished ...>


Context:
---
address@hidden # guix-daemon --build-users-group=guixbuild &
[1] 3364
address@hidden /# strace -fp 3364 &> strace_guix-daemon.txt &
[2] 3395
address@hidden /# su thorwil
address@hidden /$ source /etc/profile
address@hidden /$ guix package -i emacs-bash-completion
guile: warning: failed to install locale
warning: failed to install locale: Invalid argument
accepted connection from pid 3407, user thorwil
spurious SIGPOLL
The following package will be installed:
   emacs-bash-completion        2.0.0 /gnu/store/7irxjifw4m8sj0if2nj0r26vf0n0imsj-emacs-bash-completion-2.0.0

substitute: guile: warning: failed to install locale
substitute: warning: failed to install locale: Invalid argument
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
The following derivations will be built:
   /gnu/store/gdihnrv0zykypajy7p94k9qzpmgqbkvz-profile.drv
   /gnu/store/xlyyh54y77nm8gzm81rckkcvzaihn7dh-fonts-dir.drv
   /gnu/store/pm80lbbbx2xhvnfb838zn90bwwcw2818-xdg-desktop-database.drv
   /gnu/store/nkcspwxnd7hmf144krxzv1clq4gch6ms-ca-certificate-bundle.drv
   /gnu/store/n72ahz242h07dz32g2fkpr308a6cwdb6-xdg-mime-database.drv
   /gnu/store/fw9k5rg7p6czcp4bnnqkr57gv1qcyg78-gtk-im-modules.drv
   /gnu/store/856smz8kn9l2gq2b6qcykv6aa06c3qv7-info-dir.drv
   /gnu/store/1bybb1dnry03qwkr2d2888xi2z0hb6y7-gtk-icon-themes.drv

/gnu/store/4vgn265kihmk1aayy3rg5h4z00dvlfmy-emacs-bash-completion-2.0.0.drv
   /gnu/store/gwlj87yvqfsrv6lzcphfm65ndwpar0df-manual-database.drv
guix package: error: build failed: while setting up the build environment: cannot pivot old root directory onto '/gnu/store/4vgn265kihmk1aayy3rg5h4z00dvlfmy-emacs-bash-completion-2.0.0.drv.chroot/real-root': Invalid argument
---



Could you please check, if the solution mentioned here works for you:
https://bugzilla.redhat.com/show_bug.cgi?id=1361043

A short summary: Similar error can be caused by shared mounts.
This way you can check if this applies.
Note 'shared' in the output:

grep -iP '/ /\s' /proc/$$/mountinfo
...
25 0 252:1 / / rw,relatime shared:1 - ext4 /dev/mapper/my--vg-root rw,errors=remount-ro,data=""
...
This is usual in systemd systems, and Ubuntu is one of them.

Calling unshare -m within the process context helps this.

I'm forwarding this also to devel, so that we can discuss, if doing this is advisable in
general. WDYT?
 

--
Thorsten Wilms

thorwil's design for free software:
http://thorwil.wordpress.com/


reply via email to

[Prev in Thread] Current Thread [Next in Thread]