[GHC] #9296: Acquire all_tasks_mutex in forkProcess
GHC
ghc-devs at haskell.org
Fri Jul 11 11:05:20 UTC 2014
#9296: Acquire all_tasks_mutex in forkProcess
------------------------------------+-------------------------------------
Reporter: edsko | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.8.2
Keywords: | Operating System: Unknown/Multiple
Architecture: Unknown/Multiple | Type of failure: None/Unknown
Difficulty: Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: |
------------------------------------+-------------------------------------
In `forkProcess` we acquire a bunch of mutexes so make sure that when we
fork the child doesn't see an inconsistent state of any global data
structures. However, we do not acquire the `all_tasks_mutex`, which means
that the child might have an inconsistent view of the `all_tasks` list.
https://phabricator.haskell.org/D60
Sadly, I do not have a test case illustrating that this is in fact a
problem. Found this while working tracking down a deadlock in forkProcess
(https://ghc.haskell.org/trac/ghc/ticket/9295).
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9296>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list