Subject: Re: bug#26981: Test failure in guix (commit 872a6fd98868d345443f04efdfd974d148c57f9d)

From: [email-masked] (Ludovic Courtès)
Date: Fri, 19 May 2017 10:16:35 +0200

Hi Konrad,

Konrad Hinsen <[email-masked]> skribis:

> ==================================================
>    GNU Guix 0.12.0.3916-872a6: ./test-suite.log
> ==================================================
>
> # TOTAL: 706
> # PASS:  701
> # SKIP:  4
> # XFAIL: 0
> # FAIL:  1
> # XPASS: 0
> # ERROR: 0

[...]

> test-name: pivot-root
> location: /home/hinsen/Development/guix/tests/syscalls.scm:154
> source:
> + (test-equal
> +   "pivot-root"
> +   #t
> +   (match (pipe)
> +          ((in . out)
> +           (match (clone (logior CLONE_NEWUSER CLONE_NEWNS SIGCHLD))
> +                  (0
> +                   (dynamic-wind
> +                     (const #t)
> +                     (lambda ()
> +                       (close in)
> +                       (call-with-temporary-directory
> +                         (lambda (root)
> +                           (let ((put-old (string-append root "/real-root")))
> +                             (mount "none" root "tmpfs")
> +                             (mkdir put-old)
> +                             (call-with-output-file
> +                               (string-append root "/test")
> +                               (lambda (port) (display "testing\n" port)))
> +                             (pivot-root root put-old)
> +                             (write (file-exists? "/test") out)
> +                             (close out)))))
> +                     (lambda () (primitive-exit 0))))
> +                  (pid (close out)
> +                       (let ((result (read in)))
> +                         (close in)
> +                         (and (zero? (match (waitpid pid)
> +                                            ((_ . status)
> +                                             (status:exit-val status))))
> +                              (eq? #t result))))))))
> expected-value: #t
> actual-value: #f
> result: FAIL

What does “uname -r” report on your system?

This test is known to exercise a kernel bug on recent versions:

  ;; XXX: Skip this test when running Linux > 4.7.5 to work around
  ;; <https://bugzilla.kernel.org/show_bug.cgi?id=183461>.
  (when (or (not perform-container-tests?)
            (version>? (utsname:release (uname)) "4.7.5"))
    (test-skip 1))

(This functionality is used only by the container facilities of ‘guix
environment’ and ‘guix system’, so you shouldn’t take it as a blocker.)

Thanks for reporting the issue,
Ludo’.