GNU bug report logs -
#25476
pivot-root test fails on Ubuntu 16.04
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 25476 in the body.
You can then email your comments to 25476 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guix <at> gnu.org
:
bug#25476
; Package
guix
.
(Wed, 18 Jan 2017 17:27:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Paul Garlick <pgarlick <at> tourbillion-technology.com>
:
New bug report received and forwarded. Copy sent to
bug-guix <at> gnu.org
.
(Wed, 18 Jan 2017 17:27: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)]
Hi,
I have noticed that the pivot-root test on my development system has
started to fail. After running 'make check' the result: FAIL is
recorded for the syscalls.scm test.
I have recently updated the system. It is running Ubuntu 16.04.
Previously, the test passed. Now:
$ uname -r
4.4.0-59-generic
Best,
Paul.
[Message part 2 (text/html, inline)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#25476
; Package
guix
.
(Thu, 19 Jan 2017 16:24:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 25476 <at> debbugs.gnu.org (full text, mbox):
Hi!
Paul Garlick <pgarlick <at> tourbillion-technology.com> skribis:
> I have noticed that the pivot-root test on my development system has
> started to fail. After running 'make check' the result: FAIL is
> recorded for the syscalls.scm test.
>
> I have recently updated the system. It is running Ubuntu 16.04.
> Previously, the test passed. Now:
>
> $ uname -r
> 4.4.0-59-generic
That’s on Git master, right?
Could you post tests/syscalls.log?
This test is known to be problematic with recent kernels, as written
above it:
--8<---------------cut here---------------start------------->8---
;; 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))
--8<---------------cut here---------------end--------------->8---
AFAIK this particular problem was introduced around 4.7.5, as discussed
in the bug report above, but maybe Ubuntu’s 4.4 has it too?
Thanks for your report!
Ludo’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#25476
; Package
guix
.
(Fri, 20 Jan 2017 23:30:03 GMT)
Full text and
rfc822 format available.
Message #11 received at 25476 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi Ludo,
> That’s on Git master, right?
Yes, back on the master branch the test still fails:
$ git describe
v0.11.0-3373-g2df3d14
> Could you post tests/syscalls.log?
>
Attached.
Best,
Paul.
[Message part 2 (text/html, inline)]
[syscalls.log (text/x-log, attachment)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#25476
; Package
guix
.
(Mon, 30 Jan 2017 22:33:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 25476 <at> debbugs.gnu.org (full text, mbox):
Paul Garlick <pgarlick <at> tourbillion-technology.com> skribis:
> test-name: pivot-root
> location: /data/paul/sourceCode/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
Hmm, not sure why this is failing. Most likely (file-exists? "/test")
returns #f.
Could you change “(eq? #t result)” to “result”, rerun the test, and send
syscalls.log?
Thanks,
Ludo’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#25476
; Package
guix
.
(Tue, 31 Jan 2017 16:49:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 25476 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
>
> Could you change “(eq? #t result)” to “result”, rerun the test, and
> send
> syscalls.log?
>
>
Hi Ludo,
After a 'git pull --rebase' I now have:
$ git describe
v0.12.0-984-gabb7eb7
The pivot-root test still fails. The 'actual-value' is now #<eof>. I
have attached the syscalls.log file.
In fact there is also a new FAIL result, for utmpx-entries. Is this
unrelated?
Best,
Paul.
[Message part 2 (text/html, inline)]
[syscalls.log (text/x-log, attachment)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#25476
; Package
guix
.
(Wed, 01 Feb 2017 13:09:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 25476 <at> debbugs.gnu.org (full text, mbox):
Hi,
Paul Garlick <pgarlick <at> tourbillion-technology.com> skribis:
> test-name: pivot-root
> location: /data/paul/sourceCode/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))))
> + result)))))))
> expected-value: #t
> actual-value: #<eof>
> result: FAIL
That would mean the child process exited with 0, yet it didn’t write
anything to stdout. Not sure how this can happen.
> test-name: utmpx-entries
> location: /data/paul/sourceCode/guix/tests/syscalls.scm:444
> source:
> + (test-assert
> + "utmpx-entries"
> + (match (utmpx-entries)
> + (((? utmpx? entries) ...)
> + (every (lambda (entry)
> + (match (utmpx-user entry)
> + ((? string?) (> (utmpx-pid entry) 0))
> + (#f #t)))
> + entries))))
> actual-value: #f
> result: FAIL
This one is unrelated.
Could you try this:
--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guile
GNU Guile 2.0.13
Copyright (C) 1995-2016 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
scheme@(guile-user)> ,use(guix build syscalls)
scheme@(guile-user)> (utmpx-entries)
$1 = (#<<utmpx-entry> type: 6 …> …)
scheme@(guile-user)> ,use(srfi srfi-1)
scheme@(guile-user)> (find (lambda (entry) (and (string? (utmpx-user entry))(zero? (utmpx-pid entry)))) (utmpx-entries))
$2 = #f
--8<---------------cut here---------------end--------------->8---
Most likely the assumption made in this test doesn’t hold on your system
for some reason.
Thank you,
Ludo’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#25476
; Package
guix
.
(Wed, 01 Feb 2017 15:34:02 GMT)
Full text and
rfc822 format available.
Message #23 received at 25476 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi Ludo,
Here is the output from the guile session:
paul$ ./pre-inst-env guile
GNU Guile 2.0.13
Copyright (C) 1995-2016 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
scheme@(guile-user)> ,use(guix build syscalls)
scheme@(guile-user)> (utmpx-entries)
$1 = (#<<utmpx-entry> type: 2 pid: 0 line: "~" id: (126 126 0 0) user:
"reboot" host: "4.4.0-59-generic" termination: 0 exit: 0 session: 0
time: #<time type: time-utc nanosecond: 627310000 second: 1485945677>
address: (0 0 0 0)> #<<utmpx-entry> type: 1 pid: 53 line: "~" id: (126
126 0 0) user: "runlevel" host: "4.4.0-59-generic" termination: 0 exit:
0 session: 0 time: #<time type: time-utc nanosecond: 441012000 second:
1485945740> address: (0 0 0 0)> #<<utmpx-entry> type: 6 pid: 1589 line:
"tty1" id: (116 116 121 49) user: "LOGIN" host: #f termination: 0 exit:
0 session: 1589 time: #<time type: time-utc nanosecond: 643444000
second: 1485945740> address: (0 0 0 0)> #<<utmpx-entry> type: 7 pid:
1908 line: "tty7" id: (58 48 0 0) user: "paul" host: ":0" termination:
0 exit: 0 session: 0 time: #<time type: time-utc nanosecond: 705038000
second: 1485945754> address: (0 0 0 0)> #<<utmpx-entry> type: 7 pid:
2486 line: "pts/11" id: (47 49 49 0) user: "paul" host: ":0.0"
termination: 0 exit: 0 session: 0 time: #<time type: time-utc
nanosecond: 115640000 second: 1485945809> address: (0 0 0 0)> #<<utmpx-
entry> type: 7 pid: 2486 line: "pts/2" id: (47 50 0 0) user: "paul"
host: ":0.0" termination: 0 exit: 0 session: 0 time: #<time type: time-
utc nanosecond: 916844000 second: 1485947271> address: (0 0 0 0)>)
scheme@(guile-user)> ,use(srfi srfi-1)
scheme@(guile-user)> (find (lambda (entry) (and (string? (utmpx-user
entry))(zero? (utmpx-pid entry)))) (utmpx-entries))
$2 = #<<utmpx-entry> type: 2 pid: 0 line: "~" id: (126 126 0 0) user:
"reboot" host: "4.4.0-59-generic" termination: 0 exit: 0 session: 0
time: #<time type: time-utc nanosecond: 627310000 second: 1485945677>
address: (0 0 0 0)>
The $2 ##SELECTION_END##output is not false in this case.
Paul.
[Message part 2 (text/html, inline)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#25476
; Package
guix
.
(Sat, 11 Feb 2017 21:30:02 GMT)
Full text and
rfc822 format available.
Message #26 received at 25476 <at> debbugs.gnu.org (full text, mbox):
Paul Garlick <pgarlick <at> tourbillion-technology.com> skribis:
> scheme@(guile-user)> (find (lambda (entry) (and (string? (utmpx-user
> entry))(zero? (utmpx-pid entry)))) (utmpx-entries))
> $2 = #<<utmpx-entry> type: 2 pid: 0 line: "~" id: (126 126 0 0) user: "reboot" host: "4.4.0-59-generic" termination: 0 exit: 0 session: 0 time: #<time type: time-utc nanosecond: 627310000 second:
> 1485945677> address: (0 0 0 0)>
>
> The $2 output is not false in this case.
I think a1a8b7f2e20513a3ad968e74e7ec52546404e3c6 fixes this.
Thanks!
Ludo’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#25476
; Package
guix
.
(Mon, 13 Feb 2017 22:17:01 GMT)
Full text and
rfc822 format available.
Message #29 received at 25476 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
> I think a1a8b7f2e20513a3ad968e74e7ec52546404e3c6 fixes this.
>
>
Yes, confirmed. The utmpx-entries test now passes.
The pivot-root test still fails. One thought; I made a change to the
guix-daemon.service file, at about the same time as updating Ubuntu to
16.04, setting TMPDIR to /data/tmp. Could that be related?
Paul.
[Message part 2 (text/html, inline)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#25476
; Package
guix
.
(Mon, 13 Feb 2017 22:32:02 GMT)
Full text and
rfc822 format available.
Message #32 received at 25476 <at> debbugs.gnu.org (full text, mbox):
Hi Paul,
Paul Garlick <pgarlick <at> tourbillion-technology.com> skribis:
>> I think a1a8b7f2e20513a3ad968e74e7ec52546404e3c6 fixes this.
>>
>>
> Yes, confirmed. The utmpx-entries test now passes.
Great, thanks for checking.
> The pivot-root test still fails. One thought; I made a change to the
> guix-daemon.service file, at about the same time as updating Ubuntu to
> 16.04, setting TMPDIR to /data/tmp. Could that be related?
I don’t think so: ‘make check’ spawns its own daemon, which uses a store
at $builddir/test-tmp. And this particular test does not rely on the
daemon.
Ludo’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#25476
; Package
guix
.
(Fri, 30 Mar 2018 16:40:01 GMT)
Full text and
rfc822 format available.
Message #35 received at 25476 <at> debbugs.gnu.org (full text, mbox):
Hi Maria,
Thanks for your report. In practice you can safely ignore this test
failure. We had a similar report earlier that this fails on Ubuntu:
<https://bugs.gnu.org/25476>.
Something we should do, though, is to at least skip the test when we
know we’re using a faulty kernel. Currently we already have:
;; 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))
Gábor, given what you wrote about Ubuntu’s 4.4 kernel, should we
explicitly flag “4.4.0-116-generic” in a similar way? Would it be
enough?
Thank you both!
Ludo’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#25476
; Package
guix
.
(Tue, 03 Apr 2018 19:19:02 GMT)
Full text and
rfc822 format available.
Message #38 received at 25476 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Ludovic Courtès <ludo <at> gnu.org> ezt írta (időpont: 2018. márc. 30., P 18:39):
> Hi Maria,
>
> Thanks for your report. In practice you can safely ignore this test
> failure. We had a similar report earlier that this fails on Ubuntu:
> <https://bugs.gnu.org/25476>.
>
> Something we should do, though, is to at least skip the test when we
> know we’re using a faulty kernel. Currently we already have:
>
> ;; 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))
>
> Gábor, given what you wrote about Ubuntu’s 4.4 kernel, should we
> explicitly flag “4.4.0-116-generic” in a similar way? Would it be
> enough?
>
>
>
Yes, it seems that would be enough.
We also have this "4.4.0-21-generic" for not x86.
Alternatively we can point Ubuntu users to the LTSEnablementStack.
This provides a 4.8 kernel since 16.04.2. (feb. 2017.)
> Thank you both!
>
> Ludo’.
>
[Message part 2 (text/html, inline)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#25476
; Package
guix
.
(Thu, 05 Apr 2018 08:57:01 GMT)
Full text and
rfc822 format available.
Message #41 received at 25476 <at> debbugs.gnu.org (full text, mbox):
Hello,
Gábor Boskovits <boskovits <at> gmail.com> skribis:
> Ludovic Courtès <ludo <at> gnu.org> ezt írta (időpont: 2018. márc. 30., P 18:39):
>
>> Hi Maria,
>>
>> Thanks for your report. In practice you can safely ignore this test
>> failure. We had a similar report earlier that this fails on Ubuntu:
>> <https://bugs.gnu.org/25476>.
>>
>> Something we should do, though, is to at least skip the test when we
>> know we’re using a faulty kernel. Currently we already have:
>>
>> ;; 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))
>>
>> Gábor, given what you wrote about Ubuntu’s 4.4 kernel, should we
>> explicitly flag “4.4.0-116-generic” in a similar way? Would it be
>> enough?
>>
>>
>>
> Yes, it seems that would be enough.
> We also have this "4.4.0-21-generic" for not x86.
OK, done.
As time passes, this test can no longer run given the constraints
above. We should probably rethink it…
> Alternatively we can point Ubuntu users to the LTSEnablementStack.
> This provides a 4.8 kernel since 16.04.2. (feb. 2017.)
Yeah, well, no big deal.
Thanks,
Ludo’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#25476
; Package
guix
.
(Tue, 11 Feb 2020 00:17:02 GMT)
Full text and
rfc822 format available.
Message #44 received at 25476 <at> debbugs.gnu.org (full text, mbox):
Dear,
This bug seems fixed by a1a8b7f2e20513a3ad968e74e7ec52546404e3c6 as
explained here [1].
Any objection to close it?
Or new information blocking the closing?
[1] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25476#29
Thank you in advance.
All the best,
simon
Reply sent
to
Ludovic Courtès <ludo <at> gnu.org>
:
You have taken responsibility.
(Tue, 11 Feb 2020 11:36:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Paul Garlick <pgarlick <at> tourbillion-technology.com>
:
bug acknowledged by developer.
(Tue, 11 Feb 2020 11:36:02 GMT)
Full text and
rfc822 format available.
Message #49 received at 25476-done <at> debbugs.gnu.org (full text, mbox):
Hi,
zimoun <zimon.toutoune <at> gmail.com> skribis:
> This bug seems fixed by a1a8b7f2e20513a3ad968e74e7ec52546404e3c6 as
> explained here [1].
Well this commit fixes one of the issues discussed here (the utmpx test
failure), but not the ‘pivot-root’ test failure itself.
However, it seems that the ‘pivot-root’ test is now skipped in practice
on most systems so…
Turns out I found how to make it work again in commit
1deca767be1b84b96633e317f3fcdd5165f95df3. Let me know if anything’s
amiss.
Finally closing! :-)
Ludo’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#25476
; Package
guix
.
(Tue, 11 Feb 2020 13:41:01 GMT)
Full text and
rfc822 format available.
Message #52 received at 25476-done <at> debbugs.gnu.org (full text, mbox):
Hi Ludo,
On Tue, 11 Feb 2020 at 12:35, Ludovic Courtès <ludo <at> gnu.org> wrote:
> zimoun <zimon.toutoune <at> gmail.com> skribis:
>
> > This bug seems fixed by a1a8b7f2e20513a3ad968e74e7ec52546404e3c6 as
> > explained here [1].
>
> Well this commit fixes one of the issues discussed here (the utmpx test
> failure), but not the ‘pivot-root’ test failure itself.
D'oh!
I missed this part.
> However, it seems that the ‘pivot-root’ test is now skipped in practice
> on most systems so…
Ok so let if the bug show up again. :-)
> Turns out I found how to make it work again in commit
> 1deca767be1b84b96633e317f3fcdd5165f95df3. Let me know if anything’s
> amiss.
Cool!
Thank you for the fix.
Cheers,
simon
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Wed, 11 Mar 2020 11:24:07 GMT)
Full text and
rfc822 format available.
This bug report was last modified 4 years and 55 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.