core-updates: make check fails when guix-daemon is running

  • Done
  • quality assurance status badge
Details
3 participants
  • Chris Marusich
  • Lars-Dominik Braun
  • Ludovic Courtès
Owner
unassigned
Submitted by
Chris Marusich
Severity
important
C
C
Chris Marusich wrote on 9 Mar 2021 09:48
(address . bug-guix@gnu.org)
87r1ko4ss1.fsf@gmail.com
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:

Toggle snippet (37 lines)
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

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...

Toggle snippet (6 lines)
(pk 'beforerun)
(with-external-store store
(package-derivation store python-dummy-ok))
(pk 'afterrun)

...I was able to get this error message when running "make check
TESTS=tests/builders.scm":

Toggle snippet (39 lines)
;;; (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

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
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAmBHNk4ACgkQ3UCaFdgi
Rp0EzBAAuTD12/e/9kSTOXvU0eatYfk9fL7DT1wEkgoBLU4tZeECdxqbyMXOv+9B
KK1rM6Hr4yYZIXW1+7AMnU4bM+tgJSdkF3k+yHAjeTgOx/r4gSfvliDt5RTPadhW
rjfl1+iIyGrgwcA+b942nLWBirM/v05T0y2Pw/0Xe2rnExQDiIE5lysL5CGnYKgW
AYWYW0Re1TSagIPIZfPyCJwSXLq5GXnehlRxr+6smA/sMqIjs/YN3Yt9ONobCvqF
Tvvk2y5rol7MpBM51inoTdd0MD8AI7/cMQ4nZR/JL/rrZdvij5esi/Nwbsx5bJXZ
3LvFCVHo05mNg+dAQso+V6muJ2rLay/t+rmZsprKsVkmFY4vl+679kKkzS6GUjG3
MbqCMurSUAWg63x8hDsQNtutvNUhOQzFbTvvU/87SbGAYdRaw2OGyXeRk63s3i9B
BrU1mpWML+0ge+j7h38TIUs010yyW/rtCWKCUnwYDfm5SzDuOc/NlN5O99mORTck
jbzttPYY0rfWq4hEU7ZDJ72Em5LJy2WmifJraIL49OPVj8MMLvRdFBw/Gzxn93k6
hMBXFFC7uO1FE1dle19bq8dG1GJzjTn7sRlyotx1gr/SgqikeJQj+BZasV1/xP5U
kyzJ9csWrVs6i664TjrxaY8+Pu7HHmcstmRsAOXV09oGYaAXtBQ=
=CVvc
-----END PGP SIGNATURE-----

C
C
Chris Marusich wrote on 9 Mar 2021 09:51
(address . 47018@debbugs.gnu.org)(name . Lars-Dominik Braun)(address . lars@6xq.net)
87o8fs4slx.fsf@gmail.com
Chris Marusich <cmmarusich@gmail.com> writes:

Toggle quote (3 lines)
> 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
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAmBHNyoACgkQ3UCaFdgi
Rp17eg//bZyJCnwyx10EZZNAD8SSxb2cjkbqGgwqzik5bknOekUoQNjx1cDOKkOa
9cSTJegAiU06BBwz3KobyczDKSlokneds6JiRnucMqL5JUyO7iq/5uT8nkBA1eea
kk03jq6lFfVdR0iJ8NfM9Ts+PxZlfRBwKAwQEZJkWQg+MDoHmIifQ5egD/HaALrl
0K+xRt6nhSTH6ABLKbKtln7FbKQNJVpp5F9BG4iKJI/yZQ+ogplc1+FKkEc+whFL
rCiqmmGL1ZWC+HYcCV8J2vErx7RqNtW4jvzLSULVEgIpui+shH6340KZdZQc7AZT
A7ZfrgR339eobSqeZTIOzhE3TtqFCM8F7p17+HC/4QpK27DIXfa/UH/1NlzCvHXL
1DVZSCCQNu74vAnxf1NL4OwBuzdvNm4sefJx50rx7DrO5hdZQGyK5F6igyf0PTug
SNfWsvpDDEgbmF6y5ddrrkijEGpX8acPAgYbGe/bB0920wxguIutpPBjdNi4VxYP
wWSg+gWmLiRN7AqwTqqbprxbZxLxvu2BTxj+zKnMLL4PYgTLbiwCm/cBcW5FMZwR
z/ALvnRE3c1xrK2xueIff61W6mXQr5KYRnpYq/9csiWnVopjMdAyMKEkLPG/Np9q
2Ats0m9UUmUHTX5wpT9Q9G0TRRPoW0YwfwE0+r4A/mhQnu2ZBTE=
=Ej+N
-----END PGP SIGNATURE-----

L
L
Lars-Dominik Braun wrote on 9 Mar 2021 17:45
(name . Chris Marusich)(address . cmmarusich@gmail.com)(address . 47018@debbugs.gnu.org)
YEemPrgvDuMs+1Pa@noor.fritz.box
Attachment: file
C
C
Chris Marusich wrote on 12 Mar 2021 08:45
(address . 47018@debbugs.gnu.org)
87lfaszug4.fsf@gmail.com
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 <lars@6xq.net> writes:

Toggle quote (6 lines)
> 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
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAmBLHBsACgkQ3UCaFdgi
Rp23mg//XwLd8GZ4c6uNlrlTKel0c2kBu70GDSuL/yM1su67CpyHVqLMOzYOg10c
j9NFbKpCkOtVpJjq5yJp7vDbI/tun65lLkHyy+POhCh1nDk6KkFiZSWt3xaOW/Cp
aSDBsBMVRPsX4WQq+7V4/DulWMWTKsdXI1oaj9O3YI2ENFYzm9H5iUj/pu5JaoDI
TuqNluSgZt8Kh+J3uh8S5m7/Phhhbn5S6xE7EL9ayeDWpvlXTX+R5/qkF4yrkIcW
B5dqEX1hhsWUBS2DacHigHF2khWTqwYShAeMj9DpC+8zmLHBZ7qCHebwhAZc2n7C
WEkzB53INUIXAtvQuoQnLX2UbJVJnJ7KgG0h5Th1gepPlznkiN5ElDayL9wRBHpE
dNVkYHKxGJZCbpXPlVh/ekgtuyNdznwSkBSRTVUnOxTVW95psJI1zfKGsoRojk7D
TwZtyQhruwZh6JZrFkCg2JE2zyUgULPUs61Ku2NuRHAOesvnw87C3tWJP+xex051
pGyaq7REqH94qSsDW70QdtAeH6BiHrq7d4UwW5mPvQArVS83bLwIHpTnNej5dLjn
eefPwynEyFfIRDy5UFl1xTzNLwVG4HXtHWjdpDnovCcVKENWoRC/WOQ57bst4vA0
jjpPBe72e0BFyNrWbpC4QPy8q3C34sNHWG7umXBrUd49IwzXpB4=
=cSns
-----END PGP SIGNATURE-----

L
L
Ludovic Courtès wrote on 20 Jun 2021 23:17
control message for bug #47018
(address . control@debbugs.gnu.org)
87czsg8ccm.fsf@gnu.org
severity 47018 important
quit
L
L
Ludovic Courtès wrote on 20 Jun 2021 23:20
Re: bug#47018: core-updates: make check fails when guix-daemon is running
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)
878s348c7u.fsf@gnu.org
Hi,

(+Cc: Maxim.)

Chris Marusich <cmmarusich@gmail.com> wrote:

Toggle quote (18 lines)
> 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 <lars@6xq.net> skribis:

Toggle quote (23 lines)
> 586:17 10 (map1 (("source" #<origin "mirror://gnu/tar/tar-1.34.tar.xz" #<content-hash sha256:0a0x87anh9chbi2cgcyy7pmnm5hzk4yd1w2j8gm1wplwhwkbvgk3> ("…/gnu/packages/patches/tar-skip-unreliable-tests.patch" "…/gnu/packages/patches/tar-remove-wholesparse-check.patch") 7fa2f7b41360>) ("coreutils" #<package coreutils@8.32 guix/build-system/gnu.scm:143 7fa2fee74140>) ("grep" #<package grep@3.6 gnu/packages/commencement.scm:3632 7fa2fee78e60>) ("locales" #<package glibc-utf8-locales@2.32 gnu/packages/commencement.scm:3573 7fa2fee74640>) ("bash" #<package bash-minimal@5.0.16 gnu/packages/commencement.scm:3541 7fa2fee74960>) ("gcc" #<package gcc@7.5.0 gnu/packages/commencement.scm:3453 7fa2fee74aa0>) ("ld-wrapper" #<package ld-wrapper-boot3@0 gnu/packages/base.scm:606 7fa2f68acc80>) ("libc" #<package glibc@2.32 gnu/packages/commencement.scm:3348 7fa2fee74dc0>) ("libc:static" #<package 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 #<store-connection 256.99 7fa2f699daa0> #<procedure 7fa2f69c6540 at guix/gexp.scm:246:2 (state)> #: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 #<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

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’.
L
L
Ludovic Courtès wrote on 5 Jul 2021 16:59
(name . Lars-Dominik Braun)(address . lars@6xq.net)
87lf6ku7qe.fsf@gnu.org
Hi,

Lars-Dominik Braun <lars@6xq.net> skribis:

Toggle quote (11 lines)
> 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’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 47018@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 47018
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch