GNU bug report logs -
#23582
'call-with-container' fails to mount /dev/mqueue with EBUSY (on Ubuntu)
Previous Next
To reply to this bug, email your comments to 23582 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guix <at> gnu.org
:
bug#23582
; Package
guix
.
(Thu, 19 May 2016 15:19:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Konrad Hinsen <konrad.hinsen <at> fastmail.net>
:
New bug report received and forwarded. Copy sent to
bug-guix <at> gnu.org
.
(Thu, 19 May 2016 15:19:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
SKIP: tests/base32.scm
PASS: tests/base64.scm
PASS: tests/cpio.scm
PASS: tests/hash.scm
PASS: tests/pk-crypto.scm
PASS: tests/pki.scm
PASS: tests/sets.scm
PASS: tests/gnu-maintenance.scm
PASS: tests/substitute.scm
PASS: tests/builders.scm
PASS: tests/derivations.scm
PASS: tests/grafts.scm
PASS: tests/ui.scm
PASS: tests/records.scm
PASS: tests/upstream.scm
PASS: tests/combinators.scm
PASS: tests/utils.scm
PASS: tests/build-utils.scm
PASS: tests/packages.scm
SKIP: tests/snix.scm
PASS: tests/hackage.scm
PASS: tests/cran.scm
PASS: tests/elpa.scm
PASS: tests/store.scm
PASS: tests/monads.scm
PASS: tests/gexp.scm
PASS: tests/nar.scm
PASS: tests/union.scm
PASS: tests/profiles.scm
PASS: tests/syscalls.scm
SKIP: tests/gremlin.scm
PASS: tests/lint.scm
PASS: tests/publish.scm
PASS: tests/scripts.scm
PASS: tests/size.scm
PASS: tests/graph.scm
PASS: tests/challenge.scm
PASS: tests/cve.scm
PASS: tests/file-systems.scm
PASS: tests/system.scm
PASS: tests/services.scm
PASS: tests/scripts-build.scm
PASS: tests/containers.scm
PASS: tests/import-utils.scm
PASS: tests/pypi.scm
PASS: tests/cpan.scm
PASS: tests/gem.scm
PASS: tests/guix-build.sh
PASS: tests/guix-download.sh
PASS: tests/guix-hash.sh
PASS: tests/guix-package.sh
PASS: tests/guix-package-net.sh
PASS: tests/guix-system.sh
PASS: tests/guix-archive.sh
PASS: tests/guix-authenticate.sh
PASS: tests/guix-environment.sh
FAIL: tests/guix-environment-container.sh
PASS: tests/guix-graph.sh
PASS: tests/guix-lint.sh
PASS: tests/guix-register.sh
PASS: tests/guix-gc.sh
PASS: tests/guix-daemon.sh
============================================================================
Testsuite summary for GNU Guix 0.10.0
============================================================================
# TOTAL: 565
# PASS: 561
# SKIP: 3
# XFAIL: 0
# FAIL: 1
# XPASS: 0
# ERROR: 0
============================================================================
See ./test-suite.log
Please report to bug-guix <at> gnu.org
============================================================================
[test-suite.log (text/x-log, attachment)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#23582
; Package
guix
.
(Fri, 20 May 2016 12:13:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 23582 <at> debbugs.gnu.org (full text, mbox):
Hi Konrad,
Konrad Hinsen <konrad.hinsen <at> fastmail.net> skribis:
> FAIL: tests/guix-environment-container
> ======================================
>
> + set -e
> + guix environment --version
> guix environment (GNU Guix) 0.10.0
> Copyright (C) 2016 the Guix authors
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.
> + guile -c '((@@ (guix scripts environment) assert-container-features))'
> + tmpdir=t-guix-environment-20990
> + trap 'rm -r "$tmpdir"' EXIT
> + mkdir t-guix-environment-20990
> + guix environment --container --ad-hoc --bootstrap guile-bootstrap -- guile -c '(exit 42)'
> accepted connection from pid 21005, user hinsen
> + test 1 = 42
> + rm -r t-guix-environment-20990
> FAIL tests/guix-environment-container.sh (exit status: 1)
Could you show the output of “uname -srvo” on this machine? What
distribution does it run?
Also, from the top-level build directory, could you run:
./pre-inst-env strace -f -s 234 -o log \
guix environment --container --ad-hoc --bootstrap guile-bootstrap \
-- guile -c '(exit 42)'
and send the ‘log’ file (gzipped)?
Thanks for your report!
Ludo’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#23582
; Package
guix
.
(Fri, 20 May 2016 18:43:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 23582 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi Ludovic,
> Could you show the output of “uname -srvo” on this machine? What
> distribution does it run?
$ uname -srvo
Linux 4.4.0-22-generic #40-Ubuntu SMP Thu May 12 22:03:46 UTC 2016 GNU/Linux
The base system is Ubuntu 16.04, to which I added the Guix binary
distribution 0.10.
> Also, from the top-level build directory, could you run:
>
> ./pre-inst-env strace -f -s 234 -o log \
> guix environment --container --ad-hoc --bootstrap guile-bootstrap \
> -- guile -c '(exit 42)'
$ guix environment guix
[dev] $ ./pre-inst-env strace -f -s 234 -o log guix environment
--container --ad-hoc --bootstrap guile-bootstrap -- guile -c '(exit 42)'
guix environment: error: failed to connect to
`/usr/local/var/guix/daemon-socket/socket': No such file or directory
The log file is attached, but I somehow suspect that the above error
message already suggests what's going on - but not to me!
Konrad.
[log.gz (application/gzip, attachment)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#23582
; Package
guix
.
(Fri, 20 May 2016 22:49:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 23582 <at> debbugs.gnu.org (full text, mbox):
On Fri, May 20, 2016 at 08:42:05PM +0200, Konrad Hinsen wrote:
> $ uname -srvo
> Linux 4.4.0-22-generic #40-Ubuntu SMP Thu May 12 22:03:46 UTC 2016 GNU/Linux
I'd guess that Ubuntu, like Debian, by default disables the unprivileged
creation of containers.
What is the value of '/proc/sys/kernel/unprivileged_userns_clone'?
> [dev] $ ./pre-inst-env strace -f -s 234 -o log guix environment --container
> --ad-hoc --bootstrap guile-bootstrap -- guile -c '(exit 42)'
> guix environment: error: failed to connect to
> `/usr/local/var/guix/daemon-socket/socket': No such file or directory
I think this is unrelated.
If you followed the instructions in the manual while installing Guix
[0], then your daemon's socket should be in /var/guix. When building
Guix from the Git checkout, did you set the value of localstatedir like
this when configuring?
$ ./configure --localstatedir=/var
If not, it defaults to '/usr/local'. If that's what happened, can you
reconfigure as shown above, and try Ludo's command again?
[0]
https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html#Binary-Installation
Information forwarded
to
bug-guix <at> gnu.org
:
bug#23582
; Package
guix
.
(Sat, 21 May 2016 07:22:01 GMT)
Full text and
rfc822 format available.
Message #17 received at 23582 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi Leo,
> I'd guess that Ubuntu, like Debian, by default disables the unprivileged
> creation of containers.
>
> What is the value of '/proc/sys/kernel/unprivileged_userns_clone'?
$ cat /proc/sys/kernel/unprivileged_userns_clone
1
> If you followed the instructions in the manual while installing Guix
> [0], then your daemon's socket should be in /var/guix. When building
> Guix from the Git checkout, did you set the value of localstatedir like
> this when configuring?
>
> $ ./configure --localstatedir=/var
No. I just followed the instructions under "contributing" blindly.
> If not, it defaults to '/usr/local'. If that's what happened, can you
> reconfigure as shown above, and try Ludo's command again?
I did:
$ ./configure --localstatedir=/var
$ make check
The environment test case still fails. Then again
[dev]$ ./pre-inst-env strace -f -s 234 -o log guix environment
--container --ad-hoc --bootstrap guile-bootstrap -- guile -c '(exit 42)'
substitute: warning: failed to install locale: Invalid argument
substitute: updating list of substitutes from
'https://mirror.hydra.gnu.org'... substitute: updating list of
substitutes from 'https://mirror.hydra.gnu.org'... substitute: updating
list of substitutes from 'https://mirror.hydra.gnu.org'... substitute:
updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'https://hydra.gnu.org'...
100.0%
The following derivations will be built:
/gnu/store/n1mv18v7dvjx3zz6xwryqw6mvfjj68ls-profile.drv
/gnu/store/90b3v64bp7rjpsd841bxflh7a2h544f9-module-import.drv
/gnu/store/sc9w2yza3af4p0vjgkkwf7jmdh1m05n6-module-import-compiled.drv
The following file will be downloaded:
/gnu/store/aiz8db2gni401wc9fgidmcggxyb1czis-guile-bootstrap-2.0
warning: failed to install locale: Invalid argument
Found valid signature for
/gnu/store/aiz8db2gni401wc9fgidmcggxyb1czis-guile-bootstrap-2.0
From
https://mirror.hydra.gnu.org/nar/aiz8db2gni401wc9fgidmcggxyb1czis-guile-bootstrap-2.0
Downloading aiz8db...-guile-bootstrap-2.0 (12.1MiB installed)...
https://mirror.hydra.gnu.org/nar/aiz8db2gni401wc9fgidmcggxyb1czis-guile-bootstrap-2.0
1.1MiB/s 00:03 | 3.4MiB transferred
No error message this time. The log is attached.
Konrad.
[log.gz (application/gzip, attachment)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#23582
; Package
guix
.
(Sat, 21 May 2016 10:38:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 23582 <at> debbugs.gnu.org (full text, mbox):
On 21/05/16 17:21, Konrad Hinsen wrote:
> No error message this time. The log is attached.
From teh log:
> 10526 mkdir("/tmp/guix-directory.2EiFxS/dev/mqueue", 0775) = 0
> 10526 mount("mqueue", "/tmp/guix-directory.2EiFxS//dev/mqueue",
"mqueue", MS_NOSUID|MS_NODEV|MS_NOEXEC, NULL) = -1 EBUSY (Device or
resource busy)
This then might be the same issue as discussed previously
http://lists.gnu.org/archive/html/help-guix/2016-05/msg00006.html
I managed to reproduce this using a binary download too on a different
machine, I suspect that there is something Ubuntu/Xenial-specific at play.
ben
Information forwarded
to
bug-guix <at> gnu.org
:
bug#23582
; Package
guix
.
(Sat, 21 May 2016 15:20:02 GMT)
Full text and
rfc822 format available.
Message #23 received at 23582 <at> debbugs.gnu.org (full text, mbox):
On Sat, May 21, 2016 at 08:37:49PM +1000, Ben Woodcroft wrote:
> On 21/05/16 17:21, Konrad Hinsen wrote:
> > No error message this time. The log is attached.
>
> From teh log:
> > 10526 mkdir("/tmp/guix-directory.2EiFxS/dev/mqueue", 0775) = 0
> > 10526 mount("mqueue", "/tmp/guix-directory.2EiFxS//dev/mqueue", "mqueue",
> MS_NOSUID|MS_NODEV|MS_NOEXEC, NULL) = -1 EBUSY (Device or resource busy)
>
> This then might be the same issue as discussed previously
> http://lists.gnu.org/archive/html/help-guix/2016-05/msg00006.html
A quick scan through the mqueue man pages suggests mq_notify(3):
"mq_notify - register for notification when a message is available
[...]
EBUSY Another process has already registered to receive
notification for this message queue."
Changed bug title to ''call-with-container' fails to mount /dev/mqueue with EBUSY (on Ubuntu)' from 'Test failure on "make check" from a fresh git checkout (commit 9684e30b9b597b93ae9c797ba8f3b40eff893ebe)'
Request was from
ludo <at> gnu.org (Ludovic Courtès)
to
control <at> debbugs.gnu.org
.
(Sat, 21 May 2016 18:26:02 GMT)
Full text and
rfc822 format available.
This bug report was last modified 9 years and 22 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.