Hi, On Thu, Sep 5, 2013 at 9:10 PM, Kazu Yamamoto <k...@iij.ad.jp> wrote:
> Hi, > > > If you need two Ctrl-Cs to kill the program, it probably means that it > > deadlocked somewhere, maybe in the RTS. Kazu: if you can attach to > > the deadlocked process with gdb and get stack traces of all the > > threads, that might help. > > To debug with GDB, I complied Mighty with "-debug". This changes the > behavior and I 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 > 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. -- Takano Akio
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs