--- Begin Message ---
Subject: |
core-updates: make check fails when guix-daemon is running |
Date: |
Tue, 09 Mar 2021 00:48:14 -0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Hi,
Lars-Dominik, I'm CCing you on this email because you introduced the
code discussed below, so I'm hoping you might know something about it.
If you could please take a look, I'd really appreciate it!
Starting with commit 09448c0994390697e876db235a3b773311795238, "make
check" fails when a guix-daemon is running. (It doesn't fail when
guix-daemon is not running, since the problematic code below is only
executed when an "external store" is available.) A guix-daemon is
usually running when one manually invokes "make check" on a system where
Guix has already been installed.
One specific test failure is test/guix-package.sh, which fails as
follows:
--8<---------------cut here---------------start------------->8---
test-name: python-build-system: python-dummy-ok
location: /home/marusich/guix-core-updates/tests/builders.scm:174
source:
+ (test-assert
+ (string-append
+ "python-build-system: "
+ (package-name p))
+ (let* ((drv (package-derivation store p)))
+ (build-derivations store (list drv))))
actual-value: #f
actual-error:
+ (out-of-range
+ #f
+ "Value out of range ~S to ~S: ~S"
+ (0 59 81)
+ (81))
result: FAIL
test-name: python-build-system: python-dummy-no-setuptools
location: /home/marusich/guix-core-updates/tests/builders.scm:174
source:
+ (test-assert
+ (string-append
+ "python-build-system: "
+ (package-name p))
+ (let* ((drv (package-derivation store p)))
+ (build-derivations store (list drv))))
actual-value: #f
actual-error:
+ (out-of-range
+ #f
+ "Value out of range ~S to ~S: ~S"
+ (0 59 81)
+ (81))
result: FAIL
--8<---------------cut here---------------end--------------->8---
The test succeeds on the previous commit.
Upon closer inspection, it seems the failure occurs when calling
package-derivation. By putting the following code into the
tests/builders.scm file...
--8<---------------cut here---------------start------------->8---
(pk 'beforerun)
(with-external-store store
(package-derivation store python-dummy-ok))
(pk 'afterrun)
--8<---------------cut here---------------end--------------->8---
...I was able to get this error message when running "make check
TESTS=tests/builders.scm":
--8<---------------cut here---------------start------------->8---
;;; (beforerun)
Backtrace:
In guix/packages.scm:
1519:22 19 (thunk)
1448:25 18 (bag->derivation #<store-connection 256.99 7fff865c5190> …)
In srfi/srfi-1.scm:
586:29 17 (map1 (("source" #<origin "https://data.iana.org/t…>) …))
586:29 16 (map1 (("tzcode" #<origin "https://data.iana.org/t…>) …))
586:17 15 (map1 (("tar" #<package tar@1.34 guix/build-system…>) …))
In guix/packages.scm:
1224:16 14 (expand-input #<store-connection 256.99 7fff865c5190> # …)
1181:16 13 (package-derivation _ #<package tar@1.34 guix/build-sy…> …)
1519:22 12 (thunk)
1448:25 11 (bag->derivation #<store-connection 256.99 7fff865c5190> …)
In srfi/srfi-1.scm:
586:17 10 (map1 (("source" #<origin "mirror://gnu/tar/tar-1.…>) …))
In guix/packages.scm:
1243:5 9 (expand-input _ _ _ _ _)
In ice-9/boot-9.scm:
1736:10 8 (with-exception-handler _ _ #:unwind? _ # _)
In guix/packages.scm:
1248:18 7 (_)
In guix/store.scm:
2062:24 6 (run-with-store #<store-connection 256.99 7fff865c5190> …)
1896:8 5 (_ _)
In guix/gexp.scm:
258:18 4 (_ _)
In guix/packages.scm:
1635:7 3 (_ _)
616:2 2 (patch-and-repack #<derivation /gnu/store/z66sd90j5ya4…> …)
In unknown file:
1 (string-drop "/gnu/store/4y8yhyxhvh725bp3bk7wzr3jn8r5h…" …)
In ice-9/boot-9.scm:
1669:16 0 (raise-exception _ #:continuable? _)
ice-9/boot-9.scm:1669:16: In procedure raise-exception:
Value out of range 0 to 59: 74
--8<---------------cut here---------------end--------------->8---
I'm not sure exactly what the problem is. I'm inclined to believe that
it represents some sort of test logic bug, rather than a real python
packaging bug, I'm not really sure.
I see that the problematic forms are using macros. Specifically, the
tests/builders.scm code is attempting to simultaneously mix invocations
of lambdas, the test-assert syntax (i.e., macro), and the
with-external-store syntax (i.e., macro). I wonder if there's a
macro-related bug lurking here... Any ideas?
For now, the failures can be worked around by stopping guix-daemon when
running "make check." Naturally, this bug isn't a problem when guix
builds guix, since an external store is not available in the build
environment, so the problematic code doesn't get executed there.
--
Chris
signature.asc
Description: PGP signature
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#47018: core-updates: make check fails when guix-daemon is running |
Date: |
Mon, 05 Jul 2021 16:59:37 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Hi,
Lars-Dominik Braun <lars@6xq.net> skribis:
> In guix/packages.scm:
> 1638:7 3 (_ _)
> 619:2 2 (patch-and-repack #<derivation
> /gnu/store/l9nzv7lmznp2y22i2n3j7mccz5jjhlv1-tar-1.34.tar.xz.drv =>
> /gnu/store/4y8yhyxhvh725bp3bk7wzr3jn8r5hjm0-tar-1.34.tar.xz 7fa2f699d280>
> ("…/gnu/packages/patches/tar-skip-unreliable-tests.patch"
> "…/gnu/packages/patches/tar-remove-wholesparse-check.patch") #:inputs _
> #:snippet _ #:flags _ #:modules _ #:guile-for-build _ #:system _)
> In unknown file:
> 1 (string-drop
> "/gnu/store/4y8yhyxhvh725bp3bk7wzr3jn8r5hjm0-tar-1.34.tar.xz" 91)
> In ice-9/boot-9.scm:
> 1669:16 0 (raise-exception _ #:continuable? _)
>
> ice-9/boot-9.scm:1669:16: In procedure raise-exception:
> Value out of range 0 to 59: 91
Fixed in 99ea6a2996a388134c6ea8fdce34f70d446b1450!
Ludo’.
--- End Message ---