2018-03-12 22:10 GMT+01:00 Thorsten Wilms <t...@freenet.de>:

> 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/4vgn265kihmk1aayy3
> rg5h4z00dvlfmy-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/4vgn265kihmk
> 1aayy3rg5h4z00dvlfmy-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:
> ---
> root@charly # guix-daemon --build-users-group=guixbuild &
> [1] 3364
> root@charly /# strace -fp 3364 &> strace_guix-daemon.txt &
> [2] 3395
> root@charly /# su thorwil
> thorwil@charly /$ source /etc/profile
> thorwil@charly /$ 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/7irxjifw4m8sj0if2nj
> 0r26vf0n0imsj-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/4vgn265kihmk1aayy3
> rg5h4z00dvlfmy-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=ordered
...

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