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 |