Hi,
I have a very big and highly threaded program that generates a
BlockedIndefinitelyOnMVar exception when run. I have spent a
reasonable amount of time pouring over the source code, as has Max
Bolingbroke. Neither of us have the slightest idea why it raises the
exception.
Some
My understanding was that this error occurred when one thread was blocked,
waiting on an MVar, and no other thread in the program has a reference to
that MVar (this can be detected during GC). Ergo, the blocked thread will
end up waiting forever because no-one can ever wake it up again.
That