
#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