[GHC] #8236: Assertion failure of MarkWeak

GHC ghc-devs at haskell.org
Fri Sep 6 04:32:34 CEST 2013


#8236: Assertion failure of MarkWeak
------------------------------------+-------------------------------------
       Reporter:  kazu-yamamoto     |             Owner:
           Type:  bug               |            Status:  new
       Priority:  high              |         Milestone:  7.8.1
      Component:  Runtime System    |           Version:  7.7
       Keywords:                    |  Operating System:  Unknown/Multiple
   Architecture:  Unknown/Multiple  |   Type of failure:  Runtime crash
     Difficulty:  Unknown           |         Test Case:
     Blocked By:                    |          Blocking:
Related Tickets:                    |
------------------------------------+-------------------------------------
 Running a web server compiled with GHC head specifying "-debug" got the
 following error:

 {{{
 mighty-20130905: internal error: ASSERTION FAILED: file rts/sm/MarkWeak.c,
 line 371

     (GHC version 7.7.20130901 for i386_unknown_linux)
     Please report this as a GHC bug:
 http://www.haskell.org/ghc/reportabug
 }}}

 Here is Akio's guess:

 I wonder if this issue could have been introduced by the commit:

 https://github.com/ghc/ghc/commit/6770663f764db76dbb7138ccb3aea0527d194151

 It looks like after the commit, addCFinalizerToWeak# can call into the GC
 with the closure lock held. This means the info pointer points to
 stg_WHITEHOLE_info, breaking the asserted invariant. I haven't done any
 testing to confirm this, however.

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




More information about the ghc-tickets mailing list