I think this has been mentioned before but it's probably not widely known:
if you compile GHC profiled (that is, enable GhcProfiled=YES in your mk/
build.mk), then every panic comes with a stack trace. Here's one I just
saw:
ghc-stage2: panic! (the 'impossible' happened)
(GHC version 8.1.20161206 for x86_64-unknown-linux):
Ix{Int}.index: Index (65536) out of range ((0,28))
CallStack (from -prof):
HscTypes.bin_fixities (compiler/main/HscTypes.hs:1050:51-56)
HscMain.checkOldIface (compiler/main/HscMain.hs:(586,20)-(587,60))
HscMain.hscIncrementalFrontend (compiler/main/HscMain.hs:(556,1)-(618,81))
HscMain.hscIncrementalCompile (compiler/main/HscMain.hs:(644,1)-(699,32))
GHC.withCleanupSession (compiler/main/GHC.hs:(464,1)-(473,27))
GHC.runGhc (compiler/main/GHC.hs:(439,1)-(444,26))
GHC.defaultErrorHandler (compiler/main/GHC.hs:(379,1)-(411,7))
To get more detail in the stack trace you need to add
GhcStage2HcOpts += -fprof-auto-top
Or -fprof-auto, depending on how much detail you want.
Cheers
Simon
_______________________________________________
ghc-devs mailing list
[email protected]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs