Strange, how could the scheduler assume a deadlock if the MVar could be called 
from a closure that is still alive?  Can you show the code that you're testing? 
 

On Mon, Jan 7, 2019, at 14:09, Phyx wrote:
> Hi Phil,
> 
> Thanks for the reply, however that just gives me a forced deadlock removal
> as before.
> 
> new bound thread (1)
> cap 0: schedule()
> cap 0: running thread 1 (ThreadRunGHC)
> cap 0: thread 1 stopped (blocked on an MVar)
>         thread    1 @ 0000000003205388 is blocked on an MVar @
> 00000000032040c8 (TSO_DIRTY)
> deadlocked, forcing major GC...
> all threads:
> threads on capability 0:
> other threads:
>         thread    1 @ 0000000003205388 is blocked on an MVar @
> 00000000032040c8 (TSO_DIRTY)
> cap 0: starting GC
> 
> I don't believe any solution involving MVars will work for the non-threaded
> RTS. Though I'd love to be wrong here...
> 
> Regards,
> Tamar
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Reply via email to