GHC 9.3 API panics with "No home unit"; need advice on what next

Norman Ramsey nr at cs.tufts.edu
Fri Sep 24 19:38:51 UTC 2021


All,

I tried Alfredo's suggestion of building with the stage1 compiler.
(Sticking with the bootstrap compiler for HLS support, which seems
to be working OK.)  I've gotten a bit further.

I have a small app that loads .hs files, translates to STG,
and dumps the results.  It also dumps the `ModSummary` for each
module in the graph.

The code worked in the 9.0 API, but using the 9.3 API causes a panic:

  nr at homedog ~/a/sandbox> cabal v1-build
  Resolving dependencies...
  Configuring sandbox-0.1.0.0...
  Preprocessing executable 'sandbox' for sandbox-0.1.0.0..
  Building executable 'sandbox' for sandbox-0.1.0.0..
  [1 of 1] Compiling Main             ( app/Main.hs, dist/build/sandbox/sandbox-tmp/Main.o ) [Source file changed]
  Linking dist/build/sandbox/sandbox ...
  nr at homedog ~/a/sandbox> ./dist/build/sandbox/sandbox programs/Church.hs
  libdir == /home/nr/asterius/ghc/_build/stage1/lib
  ModSummary {
     ms_hs_hash = 8ed607a72dd3968f1e65123b865b8572
     ms_mod = Church,
     ms_textual_imps = [(Nothing, Prelude)]
     ms_srcimps = []
  }
  ..............
  sandbox: panic! (the 'impossible' happened)
    GHC version 9.3.20210918:
          unsafeGetHomeUnit: No home unit

  Please report this as a GHC bug:  https://www.haskell.org/ghc/reportabug

I poked around, but I expected the home unit to be set by
`setSessionDynFlags`, and I don't know why it isn't.

Everything needed to reproduce the problem can be found (I hope!) at

  https://github.com/nrnrnr/ghc-api-sandbox 

I'm a bit reluctant to simply report a bug as I'm afraid I might be
doing something wacky.

What should I look at next?


Norman


More information about the ghc-devs mailing list