[GHC] #10241: BlockedIndefinitelyOnMVar thrown to the thread which is not blocked indefinitely
GHC
ghc-devs at haskell.org
Tue May 1 19:21:35 UTC 2018
#10241: BlockedIndefinitelyOnMVar thrown to the thread which is not blocked
indefinitely
-------------------------------------+-------------------------------------
Reporter: asukamirai | Owner: simonmar
Type: bug | Status: patch
Priority: normal | Milestone:
Component: Runtime System | Version: 7.8.3
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: x86_64
Type of failure: Incorrect result | (amd64)
at runtime | Test Case:
Blocked By: | Blocking:
Related Tickets: #10793 | Differential Rev(s): Phab:D4644
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by simonmar):
This comes up from time to time. We can't pick an order to resurrect
threads in because we don't know which one to resurrect first (as I
commented on Phab:D4644). e.g. if we happened to resurrect the main
thread first in this example, the result would be exactly the same.
We could do multiple traversals of the heap to figure out the
relationship, but that's not practical. The only deterministic thing to do
is to treat all unreachable threads as deadlocked and send them all an
exception at the same time.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10241#comment:6>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list