Hello,
Marius Bakke <
address@hidden> skribis:
Rutger Helling <address@hidden> 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 <address@hidden>
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 <address@hidden>.
* 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'.