Skip to content

ghc-stage2 internal error on RiscV64 platform.

Summary

Build of HEAD fails due to ghc-stage2 internal error on RiscV64 platform.

Steps to reproduce

Obtain qemu-system-riscv64 (tested 5.1.0, 5.2.0, 6.1.0 here), make it working with OpenSuSE Thumbleweed image https://en.opensuse.org/openSUSE:RISC-V. This is so far the only linux image which provides registerised ghc 8.10.x. Try to build GHC HEAD with it. The build fails here with:

"inplace/bin/ghc-stage2" -hisuf dyn_hi -osuf  dyn_o -hcsuf dyn_hc -fPIC -dynamic  -O0 -H64m -Wall     -hide-all-packages -package-env - -i -iutils/check-ppr/. -iutils/check-ppr/dist-install/build -Iutils/check-ppr/dist-install/build -iutils/check-ppr/dist-install/build/check-ppr/autogen -Iutils/check-ppr/dist-install/build/check-ppr/autogen     -optP-include -optPutils/check-ppr/dist-install/build/check-ppr/autogen/cabal_macros.h -package-id base-4.16.0.0 -package-id bytestring-0.11.1.0 -package-id containers-0.6.4.1 -package-id directory-1.3.6.1 -package-id filepath-1.4.2.1 -package-id ghc-9.3 -Wall -XHaskell2010  -no-user-package-db -rtsopts      -Wnoncanonical-monad-instances  -outputdir utils/check-ppr/dist-install/build   -c utils/check-ppr/./Main.hs -o utils/check-ppr/dist-install/build/Main.dyn_o 
"inplace/bin/ghc-stage2" -hisuf dyn_hi -osuf  dyn_o -hcsuf dyn_hc -fPIC -dynamic  -O0 -H64m -Wall     -hide-all-packages -package-env - -i -iutils/check-exact/. -iutils/check-exact/dist-install/build -Iutils/check-exact/dist-install/build -iutils/check-exact/dist-install/build/check-exact/autogen -Iutils/check-exact/dist-install/build/check-exact/autogen     -optP-include -optPutils/check-exact/dist-install/build/check-exact/autogen/cabal_macros.h -package-id base-4.16.0.0 -package-id bytestring-0.11.1.0 -package-id containers-0.6.4.1 -package-id directory-1.3.6.1 -package-id filepath-1.4.2.1 -package-id ghc-9.3 -package-id ghc-boot-9.3 -package-id mtl-2.2.2 -Wall -XHaskell2010  -no-user-package-db -rtsopts      -Wnoncanonical-monad-instances  -outputdir utils/check-exact/dist-install/build   -c utils/check-exact/./Types.hs -o utils/check-exact/dist-install/build/Types.dyn_o 
"inplace/bin/ghc-stage2" -hisuf dyn_hi -osuf  dyn_o -hcsuf dyn_hc -fPIC -dynamic  -O0 -H64m -Wall     -hide-all-packages -package-env - -i -iutils/count-deps/. -iutils/count-deps/dist-install/build -Iutils/count-deps/dist-install/build -iutils/count-deps/dist-install/build/count-deps/autogen -Iutils/count-deps/dist-install/build/count-deps/autogen     -optP-include -optPutils/count-deps/dist-install/build/count-deps/autogen/cabal_macros.h -package-id base-4.16.0.0 -package-id containers-0.6.4.1 -package-id ghc-9.3 -Wall -XHaskell2010  -no-user-package-db -rtsopts      -Wnoncanonical-monad-instances  -outputdir utils/count-deps/dist-install/build   -c utils/count-deps/./Main.hs -o utils/count-deps/dist-install/build/Main.dyn_o 
ghc-stage2: internal error: ghc-stage2: internal error: evacuate: strange closure type 918375evacuate: strange closure type 918375ghc-stage2: internal error: 

    (GHC version 9.3.20211025 for riscv64_unknown_linux)
    (GHC version 9.3.20211025 for riscv64_unknown_linux)
evacuate: strange closure type 918375    Please report this as a GHC bug:  https://www.haskell.org/ghc/reportabug
    Please report this as a GHC bug:  https://www.haskell.org/ghc/reportabug

    (GHC version 9.3.20211025 for riscv64_unknown_linux)
    Please report this as a GHC bug:  https://www.haskell.org/ghc/reportabug
make[1]: *** [utils/count-deps/ghc.mk:18: utils/count-deps/dist-install/build/Main.dyn_o] Aborted (core dumped)
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [utils/check-exact/ghc.mk:18: utils/check-exact/dist-install/build/Types.dyn_o] Aborted (core dumped)
make[1]: *** [utils/check-ppr/ghc.mk:18: utils/check-ppr/dist-install/build/Main.dyn_o] Aborted (core dumped)
make: *** [Makefile:128: all] Error 2

sorry for mixed messages from several concurrenlty run ghc-stage2.

Expected behavior

Build passes and ghc-stage2 is working.

Environment

  • GHC version used: GHC 8.10.7

Optional:

  • Operating System: OpenSuSE Thumbleweed
  • System Architecture: RISC-V64
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information