unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#23582: Test failure on "make check" from a fresh git checkout (commit 9684e30b9b597b93ae9c797ba8f3b40eff893ebe)
@ 2016-05-19 15:17 Konrad Hinsen
  2016-05-20 12:12 ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Konrad Hinsen @ 2016-05-19 15:17 UTC (permalink / raw)
  To: 23582

[-- Attachment #1: Type: text/plain, Size: 2027 bytes --]

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@gnu.org
============================================================================

[-- Attachment #2: test-suite.log --]
[-- Type: text/x-log, Size: 6407 bytes --]

=======================================
   GNU Guix 0.10.0: ./test-suite.log
=======================================

# TOTAL: 565
# PASS:  561
# SKIP:  3
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

SKIP: tests/base32
==================

sh: nix-hash: command not found
test-name: bytevector->base32-string
location: /home/hinsen/Development/guix/tests/base32.scm:48
source:
+ (test-assert
+   "bytevector->base32-string"
+   (fold (lambda (bv expected result)
+           (and result
+                (string=?
+                  (bytevector->base32-string bv)
+                  expected)))
+         #t
+         (map string->utf8
+              '("" "f" "fo" "foo" "foob" "fooba" "foobar"))
+         '(""
+           "my"
+           "mzxq"
+           "mzxw6"
+           "mzxw6yq"
+           "mzxw6ytb"
+           "mzxw6ytboi")))
actual-value: #t
result: PASS

test-name: base32-string->bytevector
location: /home/hinsen/Development/guix/tests/base32.scm:65
source:
+ (test-assert
+   "base32-string->bytevector"
+   (every (lambda (bv)
+            (equal?
+              (base32-string->bytevector
+                (bytevector->base32-string bv))
+              bv))
+          (map string->utf8
+               '("" "f" "fo" "foo" "foob" "fooba" "foobar"))))
actual-value: #t
result: PASS

test-name: nix-base32-string->bytevector
location: /home/hinsen/Development/guix/tests/base32.scm:73
source:
+ (test-assert
+   "nix-base32-string->bytevector"
+   (every (lambda (bv)
+            (equal?
+              (nix-base32-string->bytevector
+                (bytevector->nix-base32-string bv))
+              bv))
+          (map string->utf8
+               '("" "f" "fo" "foo" "foob" "fooba" "foobar"))))
actual-value: #t
result: PASS

test-name: &invalid-base32-character
location: /home/hinsen/Development/guix/tests/base32.scm:81
source:
+ (test-equal
+   "&invalid-base32-character"
+   #\e
+   (guard (c ((invalid-base32-character? c)
+              (invalid-base32-character-value c)))
+          (nix-base32-string->bytevector
+            (string-append (make-string 51 #\a) "e"))))
expected-value: e
actual-value: e
result: PASS

test-name: sha256 & bytevector->nix-base32-string
location: /home/hinsen/Development/guix/tests/base32.scm:92
source:
+ (test-assert
+   "sha256 & bytevector->nix-base32-string"
+   (let ((file (search-path %load-path "tests/test.drv")))
+     (equal?
+       (bytevector->nix-base32-string
+         (sha256
+           (call-with-input-file file get-bytevector-all)))
+       (let* ((c (format
+                   #f
+                   "~a --type sha256 --base32 --flat \"~a\""
+                   %nix-hash
+                   file))
+              (p (open-input-pipe c))
+              (l (read-line p)))
+         (close-pipe p)
+         l))))
result: SKIP


SKIP: tests/snix
================

test-name: factorize-uri
location: /home/hinsen/Development/guix/tests/snix.scm:36
source:
+ (test-assert
+   "factorize-uri"
+   (every?
+     (match-lambda
+       ((uri version '-> expected)
+        (equal? (factorize-uri uri version) expected)))
+     '(("http://example.com/foo.tgz"
+        "1.0"
+        ->
+        "http://example.com/foo.tgz")
+       ("http://example.com/foo-2.8.tgz"
+        "2.8"
+        ->
+        ("http://example.com/foo-" version ".tgz"))
+       ("http://example.com/2.8/foo-2.8.tgz"
+        "2.8"
+        ->
+        ("http://example.com/"
+         version
+         "/foo-"
+         version
+         ".tgz")))))
actual-value: #t
result: PASS

test-name: nixpkgs->guix-package
location: /home/hinsen/Development/guix/tests/snix.scm:54
source:
+ (test-assert
+   "nixpkgs->guix-package"
+   (match (nixpkgs->guix-package
+            %nixpkgs-directory
+            "guile")
+          (('package
+            ('name "guile")
+            ('version (? string?))
+            ('source ('origin _ ...))
+            ('build-system _)
+            ('inputs ('quasiquote (inputs ...)))
+            ('propagated-inputs ('quasiquote (pinputs ...)))
+            ('home-page (? string?))
+            ('synopsis (? string?))
+            ('description (? string?))
+            ('license (? symbol?)))
+           (and (member '("libffi" ,libffi) inputs)
+                (member '("gmp" ,gmp) pinputs)
+                #t))
+          (x (pk 'fail x #f))))
result: SKIP


SKIP: tests/gremlin
===================

test-name: elf-dynamic-info-needed, executable
location: /home/hinsen/Development/guix/tests/gremlin.scm:44
source:
+ (test-assert
+   "elf-dynamic-info-needed, executable"
+   (let* ((elf (call-with-input-file %guile-executable read-elf))
+          (dyninfo (elf-dynamic-info elf)))
+     (or (not dyninfo)
+         (lset<=
+           string=?
+           (list (string-append "libguile-" (effective-version))
+                 "libgc"
+                 "libunistring"
+                 "libffi")
+           (map (lambda (lib)
+                  (string-take lib (string-contains lib ".so")))
+                (elf-dynamic-info-needed dyninfo))))))
result: SKIP

test-name: expand-origin
location: /home/hinsen/Development/guix/tests/gremlin.scm:55
source:
+ (test-equal
+   "expand-origin"
+   '("OOO/../lib"
+     "OOO"
+     "../OOO/bar/OOO/baz"
+     "ORIGIN/foo")
+   (map (cut expand-origin <> "OOO")
+        '("$ORIGIN/../lib"
+          "${ORIGIN}"
+          "../${ORIGIN}/bar/$ORIGIN/baz"
+          "ORIGIN/foo")))
expected-value: (OOO/../lib OOO ../OOO/bar/OOO/baz ORIGIN/foo)
actual-value: (OOO/../lib OOO ../OOO/bar/OOO/baz ORIGIN/foo)
result: PASS


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)


^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#23582: Test failure on "make check" from a fresh git checkout (commit 9684e30b9b597b93ae9c797ba8f3b40eff893ebe)
  2016-05-19 15:17 bug#23582: Test failure on "make check" from a fresh git checkout (commit 9684e30b9b597b93ae9c797ba8f3b40eff893ebe) Konrad Hinsen
@ 2016-05-20 12:12 ` Ludovic Courtès
  2016-05-20 18:42   ` Konrad Hinsen
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2016-05-20 12:12 UTC (permalink / raw)
  To: Konrad Hinsen; +Cc: 23582, davet

Hi Konrad,

Konrad Hinsen <konrad.hinsen@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’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#23582: Test failure on "make check" from a fresh git checkout (commit 9684e30b9b597b93ae9c797ba8f3b40eff893ebe)
  2016-05-20 12:12 ` Ludovic Courtès
@ 2016-05-20 18:42   ` Konrad Hinsen
  2016-05-20 22:48     ` Leo Famulari
  0 siblings, 1 reply; 7+ messages in thread
From: Konrad Hinsen @ 2016-05-20 18:42 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 23582, davet

[-- Attachment #1: Type: text/plain, Size: 929 bytes --]

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.


[-- Attachment #2: log.gz --]
[-- Type: application/gzip, Size: 63575 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#23582: Test failure on "make check" from a fresh git checkout (commit 9684e30b9b597b93ae9c797ba8f3b40eff893ebe)
  2016-05-20 18:42   ` Konrad Hinsen
@ 2016-05-20 22:48     ` Leo Famulari
  2016-05-21  7:21       ` Konrad Hinsen
  0 siblings, 1 reply; 7+ messages in thread
From: Leo Famulari @ 2016-05-20 22:48 UTC (permalink / raw)
  To: Konrad Hinsen; +Cc: 23582, davet

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#23582: Test failure on "make check" from a fresh git checkout (commit 9684e30b9b597b93ae9c797ba8f3b40eff893ebe)
  2016-05-20 22:48     ` Leo Famulari
@ 2016-05-21  7:21       ` Konrad Hinsen
  2016-05-21 10:37         ` Ben Woodcroft
  0 siblings, 1 reply; 7+ messages in thread
From: Konrad Hinsen @ 2016-05-21  7:21 UTC (permalink / raw)
  To: Leo Famulari; +Cc: 23582, davet

[-- Attachment #1: Type: text/plain, Size: 2275 bytes --]

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.


[-- Attachment #2: log.gz --]
[-- Type: application/gzip, Size: 74646 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#23582: Test failure on "make check" from a fresh git checkout (commit 9684e30b9b597b93ae9c797ba8f3b40eff893ebe)
  2016-05-21  7:21       ` Konrad Hinsen
@ 2016-05-21 10:37         ` Ben Woodcroft
  2016-05-21 15:19           ` Leo Famulari
  0 siblings, 1 reply; 7+ messages in thread
From: Ben Woodcroft @ 2016-05-21 10:37 UTC (permalink / raw)
  To: Konrad Hinsen, Leo Famulari; +Cc: 23582, davet

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#23582: Test failure on "make check" from a fresh git checkout (commit 9684e30b9b597b93ae9c797ba8f3b40eff893ebe)
  2016-05-21 10:37         ` Ben Woodcroft
@ 2016-05-21 15:19           ` Leo Famulari
  0 siblings, 0 replies; 7+ messages in thread
From: Leo Famulari @ 2016-05-21 15:19 UTC (permalink / raw)
  To: Ben Woodcroft; +Cc: 23582, davet

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."

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-05-21 15:20 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-19 15:17 bug#23582: Test failure on "make check" from a fresh git checkout (commit 9684e30b9b597b93ae9c797ba8f3b40eff893ebe) Konrad Hinsen
2016-05-20 12:12 ` Ludovic Courtès
2016-05-20 18:42   ` Konrad Hinsen
2016-05-20 22:48     ` Leo Famulari
2016-05-21  7:21       ` Konrad Hinsen
2016-05-21 10:37         ` Ben Woodcroft
2016-05-21 15:19           ` Leo Famulari

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).