core-updates' grep and coreutils fail strerror_r and perror2 tests in gnulib-tests on armhf-on-aarch64

  • Open
  • quality assurance status badge
Details
4 participants
  • bokr
  • Danny Milosavljevic
  • Ludovic Courtès
  • Marius Bakke
Owner
unassigned
Submitted by
Danny Milosavljevic
Severity
normal
D
D
Danny Milosavljevic wrote on 14 Oct 2020 12:41
(address . bug-guix@gnu.org)
20201014124120.15f19ad6@scratchpost.org
Hi,

core-updates' grep and coreutils fail strerror_r and perror2 tests in gnulib-tests on armhf-on-aarch64:

guix-build-coreutils-8.32.drv-0:

test-perror2.c:84: assertion 'msg3 == msg4 || STREQ (msg3, str3)' failed
test-strerror_r.c:170: assertion 'msg3 == msg4 || STREQ (msg3, str3)' failed

(on dover.guix.info)

grep-3.4:

test-perror2.c:84: assertion 'msg3 == msg4 || STREQ (msg3, str3)' failed
test-strerror_r.c:170: assertion 'msg3 == msg4 || STREQ (msg3, str3)' failed
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAl+G1dAACgkQ5xo1VCww
uqW6YAf9GUQGbP0X8C9TcDQfCXFNj/W+XLBS8XFy4cAniz2OI9jqK0QfETf2Ggi2
4GW6LgHJb+K+H1CMn7qhNaChvJZKdTaRqhwVgEZD7J/MfBbej0oTrp57MKVy7xYg
XJ/0jM2O1Xd3X1+rXGNCaXrAFmxbMldoJ3pZUI0g2s6TlSpx2j5QEzUfwHj8xFoV
1dmgcFOE+H9hQJx+8YN+P5rSQIUMfvPpssKBw9x1JO8rMy17zX+jK+hHFIi6QhOY
cCMJ+165VE7QO5ercQP8wT1zHP6t4bFf7MFvGFU4SaEYXAPRjyiQ84UQjA8IYvAm
0+1xOUNCGoj3AaiX+NoflcASIBqh4Q==
=A6y8
-----END PGP SIGNATURE-----


D
D
Danny Milosavljevic wrote on 17 Oct 2020 12:20
(address . 43986@debbugs.gnu.org)
20201017121923.48d8e85a@scratchpost.org
How do I debug this?

$ guix-core-updates/guix/pre-inst-env guix environment -s armhf-linux --pure grep

needs grep (it's in the implicit native inputs), and that grep has a test failure.

So I can't actually enter the environment for building grep and running

make check

.

What now?
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAl+KxVsACgkQ5xo1VCww
uqU7QAf+M7SxKBd2RIq3B8wp4iczaDy3Wikqma4F7i7c5OFi5sA8TiiXHGyWTGsM
oiCqbAJaAQG/v/TT88GMSjbWPYrWush0TfbG3rvils+q9QxJqA8obwiGzvMMUEr4
QA4Yi2UH4pVC46LX0JqPeKiIgE3TIlQjnH+el2n5Xs0tIfdqCVsTkm/ZcERNeoIy
sa5NeXzu9G7kYRK7UAchQJtnzy7Jq4MVCaGbMYXxBkRHEPoUGOgW3cy/jab/h+sf
VynC/kJ7shwI984AIFhsf2K9W9FDDXVz84lR9/JPwWTV3bMVttSpjK8dDK6hCO8H
h8S4PzK7IDNBb4vo3MJ9v6XW571uUQ==
=a8BW
-----END PGP SIGNATURE-----


B
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . 43986@debbugs.gnu.org)
20201017185957.GA2851@LionPure
Hi Danny,

On +2020-10-17 12:20:11 +0200, Danny Milosavljevic wrote:
Toggle quote (6 lines)
> How do I debug this?
>
> $ guix-core-updates/guix/pre-inst-env guix environment -s armhf-linux --pure grep
>
> needs grep (it's in the implicit native inputs), and that grep has a test failure.

What if the test failure tested a grep feature that you don't actually need from the implicit native input grep?

Is there no way to use a fully valid subset of a tool's functionality (that excludes irrelevant test failures
of unused broken functionality) if there's a test failure in testing everything?

If one could express a dependency on a limited subset by passing also a required-features list, à la ACL?,
maybe dependencies could trigger less builds, and the feature lists might reveal opportunities
for optimizing out some dependencies, e.g. where a bash shell's one or two grep invocations might
depend on grep only for a regex match that might easily be rewritten with bash's own built-in '=~'

One could imagine builds producing ELFs with bitvectors flagging features built and tested,
for efficient dynamic safe-capability determination re usage by dependents, but I better stop rambling.

So, monolith dependencies vs factoring, how to balance?

Toggle quote (9 lines)
>
> So I can't actually enter the environment for building grep and running
>
> make check
>
> .
>
> What now?

HTWNEU -- Hope This Was Not Entirely Useless :)
--
Regards,
Bengt Richter
D
D
Danny Milosavljevic wrote on 19 Oct 2020 00:45
(address . 43986@debbugs.gnu.org)
20201019004517.485c9c99@scratchpost.org
and findutils, while trying to prepare the guix environment for grep.
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAl+MxX0ACgkQ5xo1VCww
uqUrngf+IBtnuqTXWq88CRsPzf15MqG3TLz3Dcc/Yrvku2Z2qprPryDOBRugAnlS
zsz7gCt2JRDbzkn76UluhWYQiFSYcaadrJFSnx9ZS1y1Qejoj++Lqa0cdg0HNGkw
M+jqDcsy3rjtb8TZygFyccYEsV2xrMJpjhgpgmWnbQsSPPw/UGC7MRnQYSGgjSNh
VZBOpm95xYiN25rWQVEcTjwYdUQGaCg7o3FgErstbofhZCDCgrmRn2ADn/r81nDu
i8mAISXyVxzpALIICJSPJ1KLHthSdu/q6+q17vwFZ0X9av18Fl8PCCX0FaXHfAWw
zb/sJiskt1cbr1jNGx2exD3VMrtk9w==
=9EJR
-----END PGP SIGNATURE-----


M
M
Marius Bakke wrote on 19 Oct 2020 00:49
87r1pvjgk6.fsf@gnu.org
Danny Milosavljevic <dannym@scratchpost.org> writes:

Toggle quote (6 lines)
> How do I debug this?
>
> $ guix-core-updates/guix/pre-inst-env guix environment -s armhf-linux --pure grep
>
> needs grep (it's in the implicit native inputs), and that grep has a test failure.

Does this work?

guix environment -s armhf-linux -e '(@@ (gnu packages commencement) grep-final)'

Otherwise you can approximate it by building with -K, step into the
/tmp/guix-build-... directory and run 'source environment-variables'.
-----BEGIN PGP SIGNATURE-----

iQFDBAEBCgAtFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl+MxmkPHG1hcml1c0Bn
bnUub3JnAAoJEKKgbfKjOlT6r3sIAMOYk23R/+SmE+w43mOLdL863jaup8dz7Fdq
1wO7z4Mz+b0i/XeZtdVtF5ZXGRZ+AzuaFyhZXMKbjrkZVP7lTPdjmO08jtY5obgK
qhJPKXuAG6g0kbuX9TxOyEqwwynBpZ674lkUMNAPLbostyupGhRZo/kDNkfZhJcq
4ReraLGUTX0dZR1Y6X417xQyklRapaCrrR+cz8Hg0FAUk0hi67dJYvJeb5+Hvf1a
LquBNS2Pa6+IjW0h8pd6yWKf9keJPDhViFzWOGHhtIJxEwLkjNhTbS3YF68WLknD
Mb1fXfZPqE/MayBAOn8YvEtEsA4CGirp8tBjs/N6r+o5IA7s7uM=
=In7P
-----END PGP SIGNATURE-----

D
D
Danny Milosavljevic wrote on 20 Oct 2020 09:22
(address . 43986@debbugs.gnu.org)
20201020092246.5a27c998@scratchpost.org
and diffutils, while trying to prepare the guix environment for grep.
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAl+OkEYACgkQ5xo1VCww
uqWcmwgAkJs3fINW4XcqgB1A+BzI+ynblrdHlG3TKJO/gqg+4CTynVJz8IM7A88H
XgdDfrTCPCuUlILoKG+SAQ8dxnyadpR1jS383Eu3vXhQijrfB8dFi1EDnOn0j2jG
VRjo/LR7lsRO2XsvOkgOTqgi802rB6n8LAPqRSnuY8fsY+G2Ht7ap5IyALlcn918
x8iT0pfzpRCjyIR/r2v9PN77XLeX3EpLbjuZhk9WWHSf7KRokACo/8ecSDJrnLeQ
PaUeRWwrP5T63jUWZ7RU6FPArFgA09l0GJy/Z7HykS+3WIEyHKaPyAgHeD8WfaiY
KAHu748tC07M/4CdlxYqL33+m+qH0A==
=lZU7
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 21 Oct 2020 12:26
(name . Marius Bakke)(address . marius@gnu.org)
87h7qn6fk3.fsf@gnu.org
Marius Bakke <marius@gnu.org> skribis:

Toggle quote (15 lines)
> Danny Milosavljevic <dannym@scratchpost.org> writes:
>
>> How do I debug this?
>>
>> $ guix-core-updates/guix/pre-inst-env guix environment -s armhf-linux --pure grep
>>
>> needs grep (it's in the implicit native inputs), and that grep has a test failure.
>
> Does this work?
>
> guix environment -s armhf-linux -e '(@@ (gnu packages commencement) grep-final)'
>
> Otherwise you can approximate it by building with -K, step into the
> /tmp/guix-build-... directory and run 'source environment-variables'.

Also note that I upgraded ‘grep’ to 3.5 in the meantime (commit
370adc91b59ac06243067a31122f567a7c35b24b).

Ludo’.
D
D
Danny Milosavljevic wrote on 21 Oct 2020 18:04
(address . 43986@debbugs.gnu.org)
20201020190151.38ad32f1@scratchpost.org
and sed, while trying to prepare the guix environment for grep.

and gettext-minimal 0.21, while trying to prepare the guix environment for grep.

Happens both with this: guix environment -s armhf-linux --pure grep
And with this: guix environment -s armhf-linux --pure -e '(@@ (gnu packages commencement) grep-final)'
That's BEFORE successfully entering the environment.

After fixing all of those, I'm finally in a guix environment for grep.

To be clear, for each of my messages in this bug report, I've made sure to try
it on unmodified core-updates--and it totally fails there, too.

I've not updated from core-updates origin since a few days ago since I don't
want to build all the derivations again. So Ludo's update of grep to 3.5
I have not seen yet (it's grep 3.4 right now).
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAl+QXAAACgkQ5xo1VCww
uqUDgAgAj1vCt54hwsxOnKY6DkR3OgGI98d9ItbsB1AdptIuR3Q4TnOulKigigGi
mXzPAXW0h5Vuf81wezCfAhS3lhCov9OGOTZxjXFXagNVzVbHQKcnqNTdNjoBrjF2
pqsHhL0R0U8lTb8mDKu2E1tjyK4ph4EKLZ4OcsfFM8CLwbFCDFTQ19m8KgIi39fQ
K6VL0+9juVuyfGgFBBKVKtvKWaYI4g/UkkCvjXFixAIugPz/wtfq/jsTouYSvSa1
7GP49Ab7DTgAPbOwpX2IicnTX9y4PrBgjjCo9p+1X1wCcnHrVHLJXk4fdDOnhb9X
xk+18+MRSj9R61r7bL3WnS2cUOLwFA==
=dQUS
-----END PGP SIGNATURE-----


D
D
Danny Milosavljevic wrote on 21 Oct 2020 19:03
(address . 43986@debbugs.gnu.org)
20201021190358.7b9b6453@scratchpost.org
Finally, I could rerun the tests in guix environment, and they DO NOT FAIL
on aarch64-for-armhf inside guix environment -s armhf-linux grep.

Editing the gettext-minimal package in order to enable tests again and trying to enter

guix environment -s armhf-linux grep

again, sure enough, gettext-minimal fails with the same error again.

What is going on?!

But

./pre-inst-env guix build -s armhf-linux grep

works.

But

./pre-inst-env guix environment -s armhf-linux grep

fails in gettext-minimal.

WTF?!

This is on dover.guix.info.
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAl+Qaf4ACgkQ5xo1VCww
uqWiJQf9FzProCKeESVR9iNwyD+Gi+C2C2UbO6Hm8Znc1cdEe5h0IrrEOqoxYMou
4f1x2DS5ChAyITyfSIieznsANGm3eFq2Q6o5W91pFRS75rfTZv0sRLhBYhrvVtUq
MoBSXhzGrl6oizlH5msE9KvIwntlumAOU58bYzHLIn1SKZHNY927lq8MDvlVbudR
gXDbql7tD8Mt8zkfXzQrdZ8m0ZpIKj5tRj3KrQO+Pj4Z/qccF3iG0nJ+134ywa6M
987YdSahrfXn2a+3tB8wN/3p42eN51LPlTXOCaCITawyx/jyKNo2/eFyWx83Ws32
Spy2fpX8aHqwR/Q64t6+Kzm8SwK19w==
=3WHL
-----END PGP SIGNATURE-----


?