A bug of multicore IO manager
tkn.akio at gmail.com
Thu Sep 5 16:59:40 CEST 2013
On Thu, Sep 5, 2013 at 9:10 PM, Kazu Yamamoto <kazu at iij.ad.jp> wrote:
> > 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:
I wonder if this issue could have been introduced by the commit:
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
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the ghc-devs