Skip to content

Assertion failure of MarkWeak

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.

Trac metadata
Trac field Value
Version 7.7
Type Bug
TypeOfFailure OtherFailure
Priority high
Resolution Unresolved
Component Runtime System
Test case
Differential revisions
BlockedBy
Related
Blocking
CC AndreasVoellmy, akio, simonmar, tibbe
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information