Bug 2329744 - [s390x] ghc9.12/ghc9.14 performance (release) builds segfaults at runtime
Summary: [s390x] ghc9.12/ghc9.14 performance (release) builds segfaults at runtime
Keywords:
Status: ASSIGNED
Alias: None
Product: Fedora
Classification: Fedora
Component: ghc9.14
Version: 45
Hardware: s390x
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Jens Petersen
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-12-01 15:23 UTC by Jens Petersen
Modified: 2026-08-17 13:20 UTC (History)
1 user (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Jens Petersen 2024-12-01 15:23:07 UTC
ghc9.12 builds are failing on s390x on haddock generation.
9.12 has a new ghc-prim version 0.13.

https://koji.fedoraproject.org/koji/taskinfo?taskID=126420079

Reproducible: Always

Steps to Reproduce:
1. build ghc9.12 haddocks on s390x
Actual Results:  
# cabal-autogen (for _build/stage1/utils/haddock/build/haddock/autogen/cabal_macros.h)
| Run Ghc FindHsDependencies Stage1: utils/haddock/driver/Main.hs => _build/stage1/utils/haddock/.dependencies.mk
| Remove file _build/stage1/utils/haddock/.dependencies.mk.bak
| Run Ghc CompileHs Stage1: utils/haddock/driver/Main.hs => _build/stage1/utils/haddock/build/Main.o
| Run Ghc LinkHs Stage1: _build/stage1/utils/haddock/build/Main.dyn_o => _build/stage1/bin/haddock
/--------------------------------------------------------------------------\
| Successfully built program 'haddock' (Stage1).                           |
| Executable: _build/stage1/bin/haddock                                    |
| Program synopsis: A documentation-generation tool for Haskell libraries. |
\--------------------------------------------------------------------------/
| Run Haddock BuildPackage: libraries/ghc-prim/GHC/CString.hs (and 12 more) => _build/doc/html/libraries/ghc-prim-0.13.0-87f6/ghc-prim.haddock
[ 1 of 13] Compiling GHC.Types        ( libraries/ghc-prim/GHC/Types.hs, nothing )
[ 2 of 13] Compiling GHC.Tuple        ( libraries/ghc-prim/GHC/Tuple.hs, nothing )
[ 3 of 13] Compiling GHC.PrimopWrappers ( _build/stage1/libraries/ghc-prim/build/GHC/PrimopWrappers.hs, nothing )
[ 4 of 13] Compiling GHC.Prim.PtrEq   ( libraries/ghc-prim/GHC/Prim/PtrEq.hs, nothing )
[ 5 of 13] Compiling GHC.Prim.Ext     ( libraries/ghc-prim/GHC/Prim/Ext.hs, nothing )
Development.Shake.cmd, system command failed
Command line: _build/stage1/bin/haddock --verbosity=0 -B_build/stage1/lib --lib=_build/stage1/lib --odir=_build/doc/html/libraries/ghc-prim-0.13.0-87f6 --dump-interface=_build/doc/html/libraries/ghc-prim-0.13.0-87f6/ghc-prim.haddock --html '--title=ghc-prim-0.13.0: GHC primitives' --prologue=_build/doc/html/libraries/ghc-prim-0.13.0-87f6/haddock-prologue.txt --optghc=-D__HADDOCK_VERSION__=2300 --optghc=-hisuf --optghc=dyn_hi --optghc=-osuf --optghc=dyn_o --optghc=-hcsuf --optghc=dyn_hc --optghc=-fPIC --optghc=-dynamic --optghc=-hide-all-packages --optghc=-no-user-package-db '--optghc=-package-env -' '--optghc=-this-unit-id ghc-prim-0.13.0-87f6' '--optghc=-this-package-name ghc-prim' '--optghc=-package-id rts-1.0.2' --optghc=-i --optghc=-i/builddir/build/BUILD/ghc9.12-9.12.0.20241128-build/ghc-9.12.0.20241128/_build/stage1/libraries/ghc-prim/build --optghc=-i/builddir/build/BUILD/ghc9.12-9.12.0.20241128-build/ghc-9.12.0.20241128/_build/stage1/libraries/ghc-prim/build/autogen --optghc=-i/builddir/build/BUILD/ghc9.12-9.12.0.20241128-build/ghc-9.12.0.20241128/libraries/ghc-prim --optghc=-Irts/include --optghc=-I_build/stage1/libraries/ghc-prim/build --optghc=-I/builddir/build/BUILD/ghc9.12-9.12.0.20241128-build/ghc-9.12.0.20241128/rts/include --optghc=-I/builddir/build/BUILD/ghc9.12-9.12.0.20241128-build/ghc-9.12.0.20241128/_build/stage1/rts/build/include --optghc=-optP-include --optghc=-optP_build/stage1/libraries/ghc-prim/build/autogen/cabal_macros.h --optghc=-outputdir --optghc=_build/stage1/libraries/ghc-prim/build --optghc=-this-unit-id --optghc=ghc-prim --optghc=-XHaskell2010 --optghc=-no-global-package-db --optghc=-package-db=/builddir/build/BUILD/ghc9.12-9.12.0.20241128-build/ghc-9.12.0.20241128/_build/stage1/inplace/package.conf.d --optghc=-ghcversion-file=rts/include/ghcversion.h --optghc=-ghcversion-file=rts/include/ghcversion.h --optghc=-this-unit-id --optghc=ghc-prim --optghc=-XHaskell2010 --optghc=-no-global-package-db --optghc=-package-db=/builddir/build/BUILD/ghc9.12-9.12.0.20241128-build/ghc-9.12.0.20241128/_build/stage1/inplace/package.conf.d --optghc=-ghcversion-file=rts/include/ghcversion.h --optghc=-ghcversion-file=rts/include/ghcversion.h --optghc=-Wno-deprecated-flags --optghc=-Wno-trustworthy-safe +RTS -t_build/stage1/haddock-timing-files/ghc-prim.t --machine-readable -RTS --hyperlinked-source --hoogle --quickjump @/tmp/extra-file-86769965844709-6686-11417
Exit code: -11
Stderr:
Build failed.

Expected Results:  
No error

Happens for both -j1 and -j3

Comment 1 Jens Petersen 2024-12-01 15:30:41 UTC
Reported upstream in https://gitlab.haskell.org/ghc/ghc/-/issues/25536

Comment 2 Jens Petersen 2024-12-19 07:48:20 UTC
For now I worked around it by building s390x with quick flavour which does not segfault.

https://gitlab.haskell.org/ghc/ghc/-/issues/25541 has more details

Comment 3 Aoife Moloney 2025-02-26 13:18:29 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 42 development cycle.
Changing version to 42.

Comment 4 Jens Petersen 2025-09-16 12:40:44 UTC
ghc-9.14 alpha2 still failing (now that it is buildable again):

+ rm -rf testghc
+ mkdir testghc
+ echo 'main = putStrLn "Foo"'
+ /builddir/build/BUILD/ghc9.14-9.14.0.20250908-build/BUILDROOT/usr/lib64/ghc-9.14.0.20250908/bin/ghc testghc/foo.hs -o testghc/foo
[1 of 2] Compiling Main             ( testghc/foo.hs, testghc/foo.o )
/var/tmp/rpm-tmp.5LPTer: line 56: 140327 Segmentation fault         (core dumped) $GHC testghc/foo.hs -o testghc/foo
error: Bad exit status from /var/tmp/rpm-tmp.5LPTer (%check)

Comment 5 Jens Petersen 2026-01-02 03:32:36 UTC
So for 9.14.1 on s390x: haddock builds with quick flavour,
but seems I probably already knew this but hadn't re-enabled it.

Performance ghc segfaults for -O2:

+ mkdir testghc
+ echo 'main = putStrLn "Foo"'
+ /builddir/build/BUILD/ghc9.14-9.14.1-build/BUILDROOT/usr/lib64/ghc-9.14.1/bin/ghc testghc/foo.hs -o testghc/foo
[1 of 2] Compiling Main             ( testghc/foo.hs, testghc/foo.o )
[2 of 2] Linking testghc/foo
++ testghc/foo
+ '[' Foo = Foo ']'
+ rm testghc/foo testghc/foo.hi testghc/foo.hs testghc/foo.o
+ echo 'main = putStrLn "Foo"'
+ /builddir/build/BUILD/ghc9.14-9.14.1-build/BUILDROOT/usr/lib64/ghc-9.14.1/bin/ghc testghc/foo.hs -o testghc/foo -O2
[1 of 2] Compiling Main             ( testghc/foo.hs, testghc/foo.o )
/var/tmp/rpm-tmp.Eck17e: line 60: 141584 Illegal instruction        (core dumped) $GHC testghc/foo.hs -o testghc/foo -O2

Comment 6 Aoife Moloney 2026-08-17 13:20:01 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 45 development cycle.
Changing version to 45.


Note You need to log in before you can comment on or make changes to this bug.