[GHC] #13803: Panic while forcing the thunk for TyThing IsFile (regression)

GHC ghc-devs at haskell.org
Fri Jun 9 04:28:48 UTC 2017


#13803: Panic while forcing the thunk for TyThing IsFile (regression)
-------------------------------------+-------------------------------------
        Reporter:  inaki             |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.2.1-rc2
      Resolution:                    |             Keywords:  hs-boot
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  crash or panic                     |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by ezyang):

 This appears to fix the problem but we may need to figure out something
 more efficient, since adding the forkM here affects ALL axioms we load
 from interfaces.

 {{{
 diff --git a/compiler/iface/TcIface.hs b/compiler/iface/TcIface.hs
 index 3a6a4070d2..0fad1da50b 100644
 --- a/compiler/iface/TcIface.hs
 +++ b/compiler/iface/TcIface.hs
 @@ -807,7 +807,7 @@ tc_iface_decl _parent ignore_prags
  tc_iface_decl _ _ (IfaceAxiom { ifName = tc_name, ifTyCon = tc
                                , ifAxBranches = branches, ifRole = role })
    = do { tc_tycon    <- tcIfaceTyCon tc
 -       ; tc_branches <- tc_ax_branches branches
 +       ; tc_branches <- forkM (text "Axiom branches" <+> ppr tc_name) $
 tc_ax_branches branches
         ; let axiom = CoAxiom { co_ax_unique   = nameUnique tc_name
                               , co_ax_name     = tc_name
                               , co_ax_tc       = tc_tycon
 }}}

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13803#comment:12>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list