Subject: bug#52357: 8 ghc-* test suite failures for i686-linux

From: zimoun <[email-masked]>
Date: Tue, 7 Dec 2021 20:06:43 +0100

Hi,

Well, it appears to me worth to track all in the bug tracker.

Initially from <https://lists.gnu.org/archive/html/guix-devel/2021-12/msg00052.html>.

---------- Forwarded message ---------
From: Timothy Sample <[email-masked]>
Date: Sun, 5 Dec 2021 at 17:47
Subject: Re: [core-updates-frozen] Haskell for i686-linux: report

> After some Cuirass monitoring and restarted some unexpected failures,
> the situation for ghc-* on i686-linux is the same as the one from
> current master.

I took a few minutes to triage these.  Most of them are fixable.

> Two packages are broken in core-updates-frozen and not in master:
>
>  1. ghc-ncurses
>     https://ci.guix.gnu.org/build/1858160/details

Looks like this is due to an ncurses API update:

    https://lists.gnu.org/archive/html/bug-ncurses/2020-08/msg00017.html

AFAICS, both scroll and ghc-ncurses are abandoned.  In the case of
scroll, you could say that it’s “finished” I guess, since it’s a game.
I bet it would work fine if we drop the “KEY_EVENT” line in
“lib/UI/NCurses/Enums.chs”.  Otherwise, we could consider dropping these
two packages.

>  2. ghc-lukko
>     https://ci.guix.gnu.org/build/1858215/details

Upstream bug: https://github.com/haskellari/lukko/issues/15

The consensus so far is disable OFD locking on 32-bit platforms using
the “-ofd-locking” configure flag.

> These test suite failures require some investigations.  Many other ghc-*
> packages too:
>
>  - ghc-sha

This one is an out of memory error.  Not sure what to do.

>  - ghc-validty

Upstream bug: https://github.com/NorfairKing/validity/issues/84

There’s a patch there to fix the tests for 32-bit machines.

>  - ghc-bloomfilter

Upstream bug: https://github.com/bos/bloomfilter/issues/7

The tests are bounds checking using an overflowed literal: 0xffffffff.
Other distros get rid of the check, but the literal could be fixed, too,
as explained in the bug report.

>  - ghc-tar

Upstream bug: https://github.com/haskell/tar/issues/21 (from rekado!)

There’s no patch from upstream.  It looks like a simple word size
mistake in the tests like ghc-validity or ghc-bloomfilter.

>  - ghc-llvm-hs

Not sure about this one.

>  - ghc-lucid

This one I’ve seen before!  Upstream has trouble with nondeterministic
ordering of output HTML attributes.  I guess running the tests on a
32-bit machine exposes some more of these problems.  Patching the tests
to allow different orders would fix it.

[---]

It would be good to fix these, but it would be better to update our
whole Haskell stack.  That’ll have to be something to attempt once c-u-f
is merged.

-- Tim