bug#47018: core-updates: make check fails when guix-daemon is running
Hi, Lars-Dominik Braun skribis: > In guix/packages.scm: >1638:7 3 (_ _) > 619:2 2 (patch-and-repack # /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’.
bug#47018: core-updates: make check fails when guix-daemon is running
Hi, (+Cc: Maxim.) Chris Marusich wrote: > 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 Lars-Dominik Braun skribis: >586:17 10 (map1 (("source" # # > ("…/gnu/packages/patches/tar-skip-unreliable-tests.patch" > "…/gnu/packages/patches/tar-remove-wholesparse-check.patch") 7fa2f7b41360>) > ("coreutils" # 7fa2fee74140>) ("grep" # 7fa2fee78e60>) ("locales" # gnu/packages/commencement.scm:3573 7fa2fee74640>) ("bash" # bash-minimal@5.0.16 gnu/packages/commencement.scm:3541 7fa2fee74960>) ("gcc" > #) > ("ld-wrapper" # 7fa2f68acc80>) ("libc" # gnu/packages/commencement.scm:3348 7fa2fee74dc0>) ("libc:static" # glibc@2.32 gnu/p…> …) …)) > In guix/packages.scm: >1246:5 9 (expand-input _ _ _ _ _) > In ice-9/boot-9.scm: > 1736:10 8 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _) > In guix/packages.scm: > 1251:18 7 (_) > In guix/store.scm: > 2066:24 6 (run-with-store # > # #:guile-for-build _ > #:system _ #:target _) >1900:8 5 (_ _) > In guix/gexp.scm: >256:18 4 (_ _) > In guix/packages.scm: >1638:7 3 (_ _) > 619:2 2 (patch-and-repack # /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 Maxim, does that ring a bell? I think this has to do with ‘%store-prefix’, ‘%storedir’, etc. shenanigans and their impact on the python-build-system tests you added in ‘core-updates’ a while back. Thanks, Ludo’.
bug#47018: core-updates: make check fails when guix-daemon is running
Hi Lars-Dominik and Maxim, Lars-Dominik, thank you for the quick reply! Maxim, do you have time to take a look at this bug? Lars-Dominik mentioned that it's possible that your recent changes to patch-and-repack might be related somehow. Lars-Dominik Braun writes: > I’m pretty sure it worked when I submitted the patch. Looking at the > untruncated backtrace and `git blame guix/packages.scm` I’d guess that the > recent changes to patch-and-repack somehow broke this. But that’s really all I > can say unfortunately. Maybe CC Maxim Cournoyer, who made that change > (cfcead2e515c0dae02127e5a76496463898be6b6)? Thank you for the tip. I haven't checked this yet due to lack of time, but I will eventually. I am posting mainly to note that this problem also affects tests/pack.scm, which appears to be the only other test (besides tests/builders.scm) using the with-external-store form. Both tests fail when a guix-daemon is running. So, I think something about the with-external-form is not playing well with the rest of the code, but I don't fully understand the problem yet. More investigation is required... -- Chris signature.asc Description: PGP signature
bug#47018: core-updates: make check fails when guix-daemon is running
Hi Chris, > 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! I’m pretty sure it worked when I submitted the patch. Looking at the untruncated backtrace and `git blame guix/packages.scm` I’d guess that the recent changes to patch-and-repack somehow broke this. But that’s really all I can say unfortunately. Maybe CC Maxim Cournoyer, who made that change (cfcead2e515c0dae02127e5a76496463898be6b6)? ---snip--- Backtrace: In guix/packages.scm: 1522:22 19 (thunk) 1451:25 18 (bag->derivation # #< name: "tzdata-2020d" system: "x86_64-linux" target: #f build-inputs: (("source" #https://data.iana.org/time-zones/releases/tzdata2020d.tar.gz; # () 7fa2f96e7360>) ("tzcode" #https://data.iana.org/time-zones/releases/tzcode2020d.tar.gz; # () 7fa2fee73b40>) ("tar" #) ("gzip" #) ("bzip2" #) ("xz" #) ("file" #) ("diffutils" #) ("patch" # …) In srfi/srfi-1.scm: 586:29 17 (map1 (("source" #https://data.iana.org/time-zones/releases/tzdata2020d.tar.gz; # () 7fa2f96e7360>) ("tzcode" #https://data.iana.org/time-zones/releases/tzcode2020d.tar.gz; # () 7fa2fee73b40>) ("tar" #) ("gzip" #) ("bzip2" #) ("xz" #) ("file" #) ("diffutils" #) ("patch" #) ("findutils" #) ("gawk" #) …)) 586:29 16 (map1 (("tzcode" #https://data.iana.org/time-zones/releases/tzcode2020d.tar.gz; # () 7fa2fee73b40>) ("tar" #) ("gzip" #) ("bzip2" #) ("xz" #) ("file" #) ("diffutils" #) ("patch" #) ("findutils" #) ("gawk" #) ("sed" #) ("grep" #) …)) 586:17 15 (map1 (("tar" #) ("gzip" #) ("bzip2" #) ("xz" #) ("file" #) ("diffutils" #) ("patch" #) ("findutils" #) ("gawk" #) ("sed" #) ("grep" #) ("coreutils" #) ("make" #) …)) In guix/packages.scm: 1227:16 14 (expand-input # # ("tar" #) "x86_64-linux" _) 1184:16 13 (package-derivation _ # _ #:graft? _) 1522:22 12 (thunk) 1451:25 11 (bag->derivation # #< name: "tar-1.34" system: "x86_64-linux" target: #f build-inputs: (("source" # ("…/gnu/packages/patches/tar-skip-unreliable-tests.patch" "…/gnu/packages/patches/tar-remove-wholesparse-check.patch") 7fa2f7b41360>) ("coreutils" #) ("grep" #) ("locales" #) ("bash" #) ("gcc" #) ("ld-wrapper" #) (…> …) In srfi/srfi-1.scm: 586:17 10 (map1 (("source" # ("…/gnu/packages/patches/tar-skip-unreliable-tests.patch" "…/gnu/packages/patches/tar-remove-wholesparse-check.patch") 7fa2f7b41360>) ("coreutils" #) ("grep" #) ("locales" #) ("bash" #) ("gcc" #) ("ld-wrapper" #) ("libc" #) ("libc:static" # …) …)) In guix/packages.scm: 1246:5 9 (expand-input _ _ _ _ _) In ice-9/boot-9.scm: 1736:10 8 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _) In guix/packages.scm: 1251:18 7 (_) In guix/store.scm: 2066:24 6 (run-with-store # # #:guile-for-build _ #:system _ #:target _) 1900:8 5 (_ _) In guix/gexp.scm: 256:18 4 (_ _) In guix/packages.scm: 1638:7 3 (_ _) 619:2 2 (patch-and-repack # /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 ---snap--- Cheers, Lars
bug#47018: core-updates: make check fails when guix-daemon is running
Chris Marusich writes: > One specific test failure is test/guix-package.sh, which fails as > follows: I misspoke. The failing test is tests/builders.scm. The rest of my message should be correct. -- Chris signature.asc Description: PGP signature
bug#47018: core-updates: make check fails when guix-daemon is running
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 # …) In srfi/srfi-1.scm: 586:29 17 (map1 (("source" #https://data.iana.org/t…>) …)) 586:29 16 (map1 (("tzcode" #https://data.iana.org/t…>) …)) 586:17 15 (map1 (("tar" #) …)) In guix/packages.scm: 1224:16 14 (expand-input # # …) 1181:16 13 (package-derivation _ # …) 1519:22 12 (thunk) 1448:25 11 (bag->derivation # …) In srfi/srfi-1.scm: 586:17 10 (map1 (("source" #) …)) 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 # …) 1896:8 5 (_ _) In guix/gexp.scm: 258:18 4 (_ _) In guix/packages.scm: 1635:7 3 (_ _) 616:2 2 (patch-and-repack # …) 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