Guix sometimes doesn't support most packages for i686-linux and armhf-linux

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Christopher Baines
Owner
unassigned
Submitted by
Christopher Baines
Severity
important
C
C
Christopher Baines wrote on 21 Jul 2023 11:02
(address . bug-guix@gnu.org)
87sf9hwrk8.fsf@cbaines.net
Hey,

I spotted this issue a few days ago, but I'm still pretty confused by
it. Both instances of the data service have sometimes been reporting
only a small number of package derivations for i686-linux and
armhf-linux.

I think the first revisions to exhibit this on the master branch for the
two data service instances are [1] and [2]. Given that for each of these
revisions, the other data service instance reports an expected number of
derivations, this issue seems to be non-deterministic.


To confirm that this is an issue with the supported systems as reported
by Guix, I had the data service print out the transitive supported
systems for the guix package:

debug: Starting getting derivations for (i686-linux . #f)
looking at guix package (supported systems: (), system supported: #f, target supported: #t
debug: Finished getting derivations for (i686-linux . #f), took 12 seconds

debug: Starting getting derivations for (armhf-linux . #f)
looking at guix package (supported systems: (), system supported: #f, target supported: #t
debug: Finished getting derivations for (armhf-linux . #f), took 41 seconds


This isn't just a one off thing though, it seems to happen quite
frequently for many revisions.

Any ideas?

Thanks,

Chris
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmS6TXdfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9Xe3yw/+NqLax0EiLE/CDEn2l0jU+nU0gHQCJIMA
XfJbkD/z4IgVUN+Hl6U89gTJ7U6QJYGHpHR09FLVx1uxD3f638bIVY8jZpt9Xm3t
7CEmHER2pSeCXzB5Iwj0KWaDcfuZRS/C3D65onjCUa9n/kOInXYhPQbLSgK9z9ic
bEqlJC+yrnz9/Kw6Wxvh67X95zVlQ5FfU4OFLy0DQvYp0DB0AeyOOFrLd+kEqM30
EsvMEGu0xPGF3NRXtdxZ9cwYBxoRQG5M3ewohLvzc8eWszoKGqgUuActZjymnswB
sxVAiMVraQzX4Fd8en0ccwQ5Tn8o6OXKPE7Ix8FWXCkKXU/cygcXoXM/mlQSbmto
lOLiVERsjw5NMGFRCHafIJ0Ea1r2WrngYSayv7R5d0AP2BwoYES5e9zY/6sxqFw2
VuNGi5YzwFknYoQSO8HzKcNpHmgYnpZ4wppyem2vz5Otp1V1bv6rlPDDmPCWoftv
vEDZxRpRpq9iZuo89kEOcV2H0UPdL7N7nXQrNvx247CZ5I8o5haWUvp5BQYcncG/
Kyfg6Ry4NPldrcYhc3a427oIbdr1TP60CWOp3qU7ngmxUtHtnb5As1yJNKftBVHX
nibN7jGpzP9WE86GNLmVssmcTsPMO0LgX8RZojEo9Y/auU6W+lhTjmFAnVscqeml
HO4QEVTHmhk=
=tWOo
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 21 Jul 2023 13:42
(address . 64762@debbugs.gnu.org)
87o7k5wkox.fsf@cbaines.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (12 lines)
> To confirm that this is an issue with the supported systems as reported
> by Guix, I had the data service print out the transitive supported
> systems for the guix package:
>
> debug: Starting getting derivations for (i686-linux . #f)
> looking at guix package (supported systems: (), system supported: #f, target supported: #t
> debug: Finished getting derivations for (i686-linux . #f), took 12 seconds
>
> debug: Starting getting derivations for (armhf-linux . #f)
> looking at guix package (supported systems: (), system supported: #f, target supported: #t
> debug: Finished getting derivations for (armhf-linux . #f), took 41 seconds

I realised that this could be non-deterministic because the order in
which the data service processes derivations is non-deterministic, from
the order of the systems returned by (guix platforms).

That led me to a reproducer:

(use-modules (gnu packages) (guix packages) (gnu packages package-management))

(fold-packages (lambda (pkg result)
(package-transitive-supported-systems pkg "i586-gnu")
#f)
#f)

(peek "guix package supported systems" (package-transitive-supported-systems guix "i686-linux"))

If you look at the %final-inputs packages, there's an issue with libc:

(use-modules (ice-9 match)
(gnu packages) (guix packages) (gnu packages package-management)
(gnu packages commencement))

(fold-packages (lambda (pkg result)
(package-transitive-supported-systems pkg "i586-gnu")
#f)
#f)

(for-each
(match-lambda
((name pkg rest ...)
(peek name
(package-transitive-supported-systems
pkg
"i686-linux"))))
(%final-inputs "i686-linux"))

I think this could be because %final-inputs is cached based on system,
but doesn't seem to use system. Setting %current-system to system seems
to help, so I've sent a patch for that [1].

-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmS6cD5fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9Xfs5w//Sr8LkqEZ9fgOCiex4RdN5lYZSRwju2oY
GT3k1dXXjRHgsE3+1fCNWpB8NN+pYeN0fMfzl4FqH9AFDXTgdl5WSj+VkS8imP0s
vsPdicd7+wIAF9Em6i2eR7TdTk2Joicrs5EcPy7ULgEth/noYyOLTiE1NvGSWkOK
ECR2j6NA1vUXBQOlpZRonJ57QP86l2xwiQ6OfU9Odf7hPqZJ2PGOiNBLKJQNlOW/
TQQFgexjET9D6SnhDlYyaN9BzVJ/N01OyuBJOh2xn5ZT/bC652Hs7prp29OclJKA
zJ0tCAy41km4gqUQ3DGH4YUuyv1DDx5kTq3whcZ9B0hJGZYhGz0zPe1EM/2oRwFa
rAphrlfEqnz9oOZOiIxGnZAhg/xLauo6Mg/AHcsV+gUOlM5jwIlGKg4kZ7cDCUXs
682yBhrTgWR4k9wWIZkfe1yFM2qqH1N85w+voVcajU1AjQ9+VviWs+Ui7SnZUhAS
pNuWyGCi2DLIYAi+GiRgIzqGbiunr/TaWm1qJhr+PsgTGQJgFj5TV5fZUoznkeH0
LbrxUBjyel8C+Fs+MD17zPl/XoYoCgpe8CJOAYwV7ZrBQjfpdns4xNfpXHvdATsi
gR+d/EOBqoKUco7v01fkfKT7Lv8OpkOIQUk0868UtA+qi2ncOkH9sI+DPByk5xf2
5AfvEem1SCw=
=XmkC
-----END PGP SIGNATURE-----

L
L
Ludovic Courtès wrote on 7 Aug 2023 16:51
control message for bug #64762
(address . control@debbugs.gnu.org)
87o7jisy66.fsf@gnu.org
severity 64762 important
quit
L
L
Ludovic Courtès wrote on 21 Aug 2023 16:55
Re: bug#64762: Guix sometimes doesn't support most packages for i686-linux and armhf-linux
(name . Christopher Baines)(address . mail@cbaines.net)(address . 64762-done@debbugs.gnu.org)
87sf8c8myh.fsf@gnu.org
Christopher Baines <mail@cbaines.net> skribis:

Toggle quote (6 lines)
> I think this could be because %final-inputs is cached based on system,
> but doesn't seem to use system. Setting %current-system to system seems
> to help, so I've sent a patch for that [1].
>
> 1: https://issues.guix.gnu.org/64763

Fixed in 560cb51e7b37e2c6f6fe4b72a3781185c57fdf83.

Ludo'.
Closed
?