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" #) …)) 586:29 16 (map1 (("tzcode" #) …)) 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