GNU bug report logs -
#29363
GC test failure on Btrfs
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 29363 in the body.
You can then email your comments to 29363 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#29363
; Package
guix
.
(Mon, 20 Nov 2017 10:12:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Rutger Helling <rhelling <at> mykolab.com>
:
New bug report received and forwarded. Copy sent to
bug-guix <at> gnu.org
.
(Mon, 20 Nov 2017 10:12:02 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,
when building Guix with 'guix build guix' I keep running into a single
test failure. I've attached the test-suite.log.
My kernel:
$ uname -a
Linux guixsd 4.14.0-gnu #1 SMP 1 x86_64 GNU/Linux
This is the guix-daemon I'm building with:
$ guix gc --references
/gnu/store/mwvmdfksm9iwj1symfiinlikiz56s2nl-guix-0.13.0-9.ff23b47/bin/guix-daemon
/gnu/store/2b22079yrvs59j256z4scccq506csy7c-guile-git-0.0-4.951a32c
/gnu/store/3h31zsqxjjg52da5gp3qmhkh4x8klhah-glibc-2.25
/gnu/store/5jgpy83fga8jjj02m0ncyvgggmbwsfdy-gnutls-3.5.13
/gnu/store/5rk1b2riamhzk8s1hs83mb1i8vdif0vd-gzip-1.8
/gnu/store/6d4ihp7xbdh3a0ffbpm5n45q4v3w0l35-sqlite-3.19.3
/gnu/store/6wyjls0q2c9gjskkplsr1ad09p3d8gzg-gcc-5.4.0-lib
/gnu/store/b1dg82khbvr2abaa346vv7r93ryqrb3j-xz-5.2.2
/gnu/store/bcmf06k2n1pfwqkzpclvvc3w9jdfi71a-guile-json-0.6.0
/gnu/store/f8k940vy9gck66m9r4id5m098w3hxgka-bash-minimal-4.4.12
/gnu/store/mwvmdfksm9iwj1symfiinlikiz56s2nl-guix-0.13.0-9.ff23b47
/gnu/store/navpkpm1jf6zf8zmi54wl5w3b2ddv1sw-zlib-1.2.11
/gnu/store/qfzl5frp52wdz1vbdj958sz35yfl94xi-libgcrypt-1.8.1
/gnu/store/swyipr8smrd5bc72n92sdfxzx0p4cjpi-guile-2.2.2
/gnu/store/wd01nlc7apixl4kyvhpzasxprqymw32s-bzip2-1.0.6
/gnu/store/xfaqdvk060yz7ddc9isk3wkybqmcfj3w-guile-ssh-0.11.2
Does anyone have any idea about what's going wrong?
[test-suite.log (text/plain, attachment)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#29363
; Package
guix
.
(Mon, 20 Nov 2017 15:56:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 29363 <at> debbugs.gnu.org (full text, mbox):
Hi Rutger,
Rutger Helling <rhelling <at> mykolab.com> skribis:
> test-name: dead path can be explicitly collected
> location: /tmp/guix-build-guix-0.13.0-10.0b4c385.drv-0/source/tests/store.scm:178
> source:
> + (test-assert
> + "dead path can be explicitly collected"
> + (let ((p (add-text-to-store
> + %store
> + "random-text"
> + (random-text)
> + '())))
> + (let-values
> + (((paths freed) (delete-paths %store (list p))))
> + (and (equal? paths (list p))
> + (> freed 0)
> + (not (file-exists? p))))))
> actual-value: #f
> result: FAIL
I didn’t experience this on my laptop. Is it reproducible if you run
“guix build guix” a second time?
Thanks,
Ludo’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#29363
; Package
guix
.
(Mon, 20 Nov 2017 21:13:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 29363 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi Ludo,
it is indeed reproducible. No matter how many times it always keeps
failing on this one test.
I've had this problem for a long time, which is a little bit annoying
since it means I have to wait until a substitute is available every
time.
On 2017-11-20 16:55, ludo <at> gnu.org wrote:
> Hi Rutger,
>
> Rutger Helling <rhelling <at> mykolab.com> skribis:
>
>> test-name: dead path can be explicitly collected
>> location: /tmp/guix-build-guix-0.13.0-10.0b4c385.drv-0/source/tests/store.scm:178
>> source:
>> + (test-assert
>> + "dead path can be explicitly collected"
>> + (let ((p (add-text-to-store
>> + %store
>> + "random-text"
>> + (random-text)
>> + '())))
>> + (let-values
>> + (((paths freed) (delete-paths %store (list p))))
>> + (and (equal? paths (list p))
>> + (> freed 0)
>> + (not (file-exists? p))))))
>> actual-value: #f
>> result: FAIL
>
> I didn't experience this on my laptop. Is it reproducible if you run
> "guix build guix" a second time?
>
> Thanks,
> Ludo'.
[Message part 2 (text/html, inline)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#29363
; Package
guix
.
(Tue, 21 Nov 2017 00:32:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 29363 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi Rutger,
Rutger Helling <rhelling <at> mykolab.com> writes:
> when building Guix with 'guix build guix' I keep running into a single
> test failure. I've attached the test-suite.log.
Is this a Btrfs system by any chance, possibly on an SSD?
> test-name: dead path can be explicitly collected
> location: /tmp/guix-build-guix-0.13.0-10.0b4c385.drv-0/source/tests/store.scm:178
> source:
> + (test-assert
> + "dead path can be explicitly collected"
> + (let ((p (add-text-to-store
> + %store
> + "random-text"
> + (random-text)
> + '())))
> + (let-values
> + (((paths freed) (delete-paths %store (list p))))
> + (and (equal? paths (list p))
> + (> freed 0)
> + (not (file-exists? p))))))
> actual-value: #f
> result: FAIL
I can reproduce this error on two different systems that have
Btrfs+LUKS+SSD, and the problem is that freed == 0.
I suspect it's related to Btrfs' "lazy" reporting of disk space, but
haven't dug very far.
Until we figure out what's going on, I suggest applying the patch
below. Can you confirm that it works on your system?
[0001-gnu-guix-Disable-test-that-fails-on-Btrfs.patch (text/x-patch, inline)]
From bdc7b5310111e21801529ea57e290f6eb72ac6ed Mon Sep 17 00:00:00 2001
From: Marius Bakke <mbakke <at> fastmail.com>
Date: Tue, 21 Nov 2017 00:27:08 +0100
Subject: [PATCH] gnu: guix: Disable test that fails on Btrfs.
Works around <https://bugs.gnu.org/29363>.
Reported by Rutger Helling <rhelling <at> mykolab.com>.
* gnu/packages/package-management.scm (guix)[arguments]: Rename
'disable-container-tests' phase to 'disable-failing-tests' and add substitution
to disable "dead path can be explicitly collected" test.
---
gnu/packages/package-management.scm | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 4f1f7f577..3321ab1eb 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -169,8 +169,7 @@
(copy "armhf")
(copy "aarch64")
#t))
- (add-after
- 'unpack 'disable-container-tests
+ (add-after 'unpack 'disable-failing-tests
;; XXX FIXME: These tests fail within the build container.
(lambda _
(substitute* "tests/syscalls.scm"
@@ -183,6 +182,11 @@
(substitute* "tests/guix-environment-container.sh"
(("guix environment --version")
"exit 77\n")))
+ ;; XXX: This test may fail on some file systems.
+ ;; See <https://bugs.gnu.org/29363>.
+ (substitute* "tests/store.scm"
+ (("^(.*dead path can be explicitly collected\")" all)
+ (string-append "(test-skip 1)\n" all)))
#t))
(add-before 'check 'set-SHELL
(lambda _
--
2.15.0
[Message part 3 (text/plain, inline)]
Ludo, WDYT?
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#29363
; Package
guix
.
(Tue, 21 Nov 2017 07:33:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 29363 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi Marius,
your patch did the trick, thanks!
I'm indeed on Btrfs (with LUKS), no SSD though.
On 2017-11-21 01:31, Marius Bakke wrote:
> Hi Rutger,
>
> Rutger Helling <rhelling <at> mykolab.com> writes:
>
>> when building Guix with 'guix build guix' I keep running into a single
>> test failure. I've attached the test-suite.log.
>
> Is this a Btrfs system by any chance, possibly on an SSD?
>
>> test-name: dead path can be explicitly collected
>> location: /tmp/guix-build-guix-0.13.0-10.0b4c385.drv-0/source/tests/store.scm:178
>> source:
>> + (test-assert
>> + "dead path can be explicitly collected"
>> + (let ((p (add-text-to-store
>> + %store
>> + "random-text"
>> + (random-text)
>> + '())))
>> + (let-values
>> + (((paths freed) (delete-paths %store (list p))))
>> + (and (equal? paths (list p))
>> + (> freed 0)
>> + (not (file-exists? p))))))
>> actual-value: #f
>> result: FAIL
>
> I can reproduce this error on two different systems that have
> Btrfs+LUKS+SSD, and the problem is that freed == 0.
>
> I suspect it's related to Btrfs' "lazy" reporting of disk space, but
> haven't dug very far.
>
> Until we figure out what's going on, I suggest applying the patch
> below. Can you confirm that it works on your system?
>
> Ludo, WDYT?
[Message part 2 (text/html, inline)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#29363
; Package
guix
.
(Tue, 21 Nov 2017 07:48:01 GMT)
Full text and
rfc822 format available.
Message #20 received at 29363 <at> debbugs.gnu.org (full text, mbox):
Hello,
Marius Bakke <mbakke <at> fastmail.com> skribis:
> Rutger Helling <rhelling <at> mykolab.com> writes:
>
>> when building Guix with 'guix build guix' I keep running into a single
>> test failure. I've attached the test-suite.log.
>
> Is this a Btrfs system by any chance, possibly on an SSD?
>
>> test-name: dead path can be explicitly collected
>> location: /tmp/guix-build-guix-0.13.0-10.0b4c385.drv-0/source/tests/store.scm:178
>> source:
>> + (test-assert
>> + "dead path can be explicitly collected"
>> + (let ((p (add-text-to-store
>> + %store
>> + "random-text"
>> + (random-text)
>> + '())))
>> + (let-values
>> + (((paths freed) (delete-paths %store (list p))))
>> + (and (equal? paths (list p))
>> + (> freed 0)
>> + (not (file-exists? p))))))
>> actual-value: #f
>> result: FAIL
>
> I can reproduce this error on two different systems that have
> Btrfs+LUKS+SSD, and the problem is that freed == 0.
If you comment out (> freed 0), does the test pass?
> I suspect it's related to Btrfs' "lazy" reporting of disk space, but
> haven't dug very far.
>
> Until we figure out what's going on, I suggest applying the patch
> below. Can you confirm that it works on your system?
>
> From bdc7b5310111e21801529ea57e290f6eb72ac6ed Mon Sep 17 00:00:00 2001
> From: Marius Bakke <mbakke <at> fastmail.com>
> Date: Tue, 21 Nov 2017 00:27:08 +0100
> Subject: [PATCH] gnu: guix: Disable test that fails on Btrfs.
>
> Works around <https://bugs.gnu.org/29363>.
> Reported by Rutger Helling <rhelling <at> mykolab.com>.
>
> * gnu/packages/package-management.scm (guix)[arguments]: Rename
> 'disable-container-tests' phase to 'disable-failing-tests' and add substitution
> to disable "dead path can be explicitly collected" test.
Alternately, we could comment out (> freed 0) if that’s enough, with a
comment explaining why, and do “make update-guix-package”. That way
we’d avoid the extra build phase.
WDYT?
Thanks for finding out the root cause!
Ludo’.
Changed bug title to 'GC test failure on Btrfs' from 'Single test failure building Guix'
Request was from
ludo <at> gnu.org (Ludovic Courtès)
to
control <at> debbugs.gnu.org
.
(Tue, 21 Nov 2017 07:49:01 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#29363
; Package
guix
.
(Tue, 21 Nov 2017 09:11:01 GMT)
Full text and
rfc822 format available.
Message #25 received at 29363 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Commenting out that line still made the test fail for me.
On 2017-11-21 08:47, ludo <at> gnu.org wrote:
> Hello,
>
> Marius Bakke <mbakke <at> fastmail.com> skribis:
>
> Rutger Helling <rhelling <at> mykolab.com> writes:
>
> when building Guix with 'guix build guix' I keep running into a single
> test failure. I've attached the test-suite.log.
> Is this a Btrfs system by any chance, possibly on an SSD?
>
> test-name: dead path can be explicitly collected
> location: /tmp/guix-build-guix-0.13.0-10.0b4c385.drv-0/source/tests/store.scm:178
> source:
> + (test-assert
> + "dead path can be explicitly collected"
> + (let ((p (add-text-to-store
> + %store
> + "random-text"
> + (random-text)
> + '())))
> + (let-values
> + (((paths freed) (delete-paths %store (list p))))
> + (and (equal? paths (list p))
> + (> freed 0)
> + (not (file-exists? p))))))
> actual-value: #f
> result: FAIL
> I can reproduce this error on two different systems that have
> Btrfs+LUKS+SSD, and the problem is that freed == 0.
If you comment out (> freed 0), does the test pass?
> I suspect it's related to Btrfs' "lazy" reporting of disk space, but
> haven't dug very far.
>
> Until we figure out what's going on, I suggest applying the patch
> below. Can you confirm that it works on your system?
>
> From bdc7b5310111e21801529ea57e290f6eb72ac6ed Mon Sep 17 00:00:00 2001
> From: Marius Bakke <mbakke <at> fastmail.com>
> Date: Tue, 21 Nov 2017 00:27:08 +0100
> Subject: [PATCH] gnu: guix: Disable test that fails on Btrfs.
>
> Works around <https://bugs.gnu.org/29363>.
> Reported by Rutger Helling <rhelling <at> mykolab.com>.
>
> * gnu/packages/package-management.scm (guix)[arguments]: Rename
> 'disable-container-tests' phase to 'disable-failing-tests' and add substitution
> to disable "dead path can be explicitly collected" test.
Alternately, we could comment out (> freed 0) if that's enough, with a
comment explaining why, and do "make update-guix-package". That way
we'd avoid the extra build phase.
WDYT?
Thanks for finding out the root cause!
Ludo'.
[Message part 2 (text/html, inline)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#29363
; Package
guix
.
(Tue, 21 Nov 2017 12:54:02 GMT)
Full text and
rfc822 format available.
Message #28 received at 29363 <at> debbugs.gnu.org (full text, mbox):
Rutger Helling <rhelling <at> mykolab.com> skribis:
> Commenting out that line still made the test fail for me.
Could you figure out which of the conditions in the ‘and’ is failing?
> + (and (equal? paths (list p))
> + (> freed 0)
> + (not (file-exists? p))))))
TIA,
Ludo’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#29363
; Package
guix
.
(Tue, 21 Nov 2017 14:51:01 GMT)
Full text and
rfc822 format available.
Message #31 received at 29363 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
I think commenting out (> freed 0) does work after all. When I ran 'guix
environment --pure guix' and 'make check TESTS=tests/store.scm' against
my git checkout the test passed.
On 2017-11-21 13:53, ludo <at> gnu.org wrote:
> Rutger Helling <rhelling <at> mykolab.com> skribis:
>
>> Commenting out that line still made the test fail for me.
>
> Could you figure out which of the conditions in the 'and' is failing?
>
>> + (and (equal? paths (list p))
>> + (> freed 0)
>> + (not (file-exists? p))))))
>
> TIA,
> Ludo'.
[Message part 2 (text/html, inline)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#29363
; Package
guix
.
(Tue, 21 Nov 2017 21:12:02 GMT)
Full text and
rfc822 format available.
Message #34 received at 29363 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Rutger Helling <rhelling <at> mykolab.com> writes:
> I think commenting out (> freed 0) does work after all. When I ran 'guix
> environment --pure guix' and 'make check TESTS=tests/store.scm' against
> my git checkout the test passed.
Thanks for confirming. I pushed a revised patch that only removes the
test for freed space as per Ludos suggestion.
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#29363
; Package
guix
.
(Tue, 21 Nov 2017 21:40:02 GMT)
Full text and
rfc822 format available.
Message #37 received at 29363 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Ludovic Courtès <ludo <at> gnu.org> writes:
> Alternately, we could comment out (> freed 0) if that’s enough, with a
> comment explaining why, and do “make update-guix-package”. That way
> we’d avoid the extra build phase.
>
> WDYT?
Oh, I just re-read this message and realized you mentioned doing this in
tests/store.scm rather than working around it in the "guix" package.
Sound good to me. I will do this and remove the workaround. Sorry for
the confusion.
[signature.asc (application/pgp-signature, inline)]
Reply sent
to
ludo <at> gnu.org (Ludovic Courtès)
:
You have taken responsibility.
(Wed, 22 Nov 2017 15:56:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
Rutger Helling <rhelling <at> mykolab.com>
:
bug acknowledged by developer.
(Wed, 22 Nov 2017 15:56:02 GMT)
Full text and
rfc822 format available.
Message #42 received at 29363-done <at> debbugs.gnu.org (full text, mbox):
Heya!
Marius Bakke <mbakke <at> fastmail.com> skribis:
> Ludovic Courtès <ludo <at> gnu.org> writes:
>> Alternately, we could comment out (> freed 0) if that’s enough, with a
>> comment explaining why, and do “make update-guix-package”. That way
>> we’d avoid the extra build phase.
>>
>> WDYT?
>
> Oh, I just re-read this message and realized you mentioned doing this in
> tests/store.scm rather than working around it in the "guix" package.
>
> Sound good to me. I will do this and remove the workaround. Sorry for
> the confusion.
I see you’ve done this now, so I’m closing the bug.
Thank you gentlefolks!
Ludo’.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Thu, 21 Dec 2017 12:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 6 years and 126 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.