Skip to content
  • Simon Marlow's avatar
    Include a stack trace in the panic message, when GHC is compiled profiled. · f85c084c
    Simon Marlow authored
    I tried this out on the panic we're currently getting for #3103:
    
    ghc-stage2: panic! (the 'impossible' happened)
      (GHC version 7.3.20111128 for x86_64-unknown-linux):
            tcIfaceGlobal (local): not found:
        base:GHC.Word.W#{d 6w}
        [(32R, Type constructor `base:GHC.Word.Word{tc 32R}'),
         (r6O, Identifier `base:GHC.Word.$fNumWord{v r6O}'),
         (r6P, Identifier `base:GHC.Word.$fEqWord{v r6P}'),
         (r6Q, Identifier `base:GHC.Word.$fNumWord1{v r6Q}'),
         (r6R, Identifier `base:GHC.Word.$fNumWord2{v r6R}'),
         (r6S, Data constructor `base:GHC.Word.W#{d r6S}'),
         (r6U, Identifier `base:GHC.Word.W#{v r6U}'),
         (r75, Identifier `base:GHC.Word.$fNumWord_$csignum{v r75}'),
         (r76, Identifier `base:GHC.Word.$fEqWord_$c/={v r76}'),
         (r77, Identifier `base:GHC.Word.$fEqWord_$c=={v r77}')]
    { Main.main
       GHC.defaultErrorHandler
        GHC.runGhc
         GhcMonad.>>=
          GhcMonad.>>=.\
           Main.main'
            Main.doMake
             GhcMake.load
              GhcMake.load2
               GhcMake.upsweep
                GhcMake.upsweep.upsweep'
                 GhcMake.reTypecheckLoop
                  GhcMake.typecheckLoop
                   GhcMake.typecheckLoop.\
                    TcRnMonad.initIfaceCheck
                     TcRnMonad.initTcRnIf
                      IOEnv.runIOEnv
                       IOEnv.thenM
                        IOEnv.thenM.\
                         TcIface.typecheckIface
                          TcIface.typecheckIface.\
                           LoadIface.loadDecls
                            LoadIface.loadDecl
                             TcIface.tcIfaceDecl
                              TcIface.tc_iface_decl
                               TcIface.tcIdInfo
                                MonadUtils.foldlM
                                 TcIface.tcIdInfo.tcPrag
                                  TcIface.tcUnfolding
                                   TcIface.tcPragExpr
                                    TcIface.tcIfaceExpr
                                     TcIface.tcIfaceAlt
                                      TcIface.tcIfaceDataCon }
    f85c084c