[GHC] #9296: Acquire all_tasks_mutex in forkProcess

#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

#9296: Acquire all_tasks_mutex in forkProcess -------------------------------------+------------------------------------ Reporter: edsko | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+------------------------------------ Changes (by snoyberg): * cc: snoyberg (added) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9296#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#9296: Acquire all_tasks_mutex in forkProcess -------------------------------------+------------------------------------ Reporter: edsko | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+------------------------------------ Changes (by AndreasVoellmy): * cc: AndreasVoellmy (added) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9296#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#9296: Acquire all_tasks_mutex in forkProcess -------------------------------------+------------------------------------- Reporter: edsko | Owner: Type: bug | Status: closed Priority: normal | Milestone: 7.8.3 Component: Compiler | Version: 7.8.2 Resolution: fixed | Keywords: Operating System: | Architecture: Unknown/Multiple Unknown/Multiple | Difficulty: Unknown Type of failure: | Blocked By: None/Unknown | Related Tickets: Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- Changes (by MikolajKonarski): * status: new => closed * resolution: => fixed * milestone: => 7.8.3 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9296#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#9296: Acquire all_tasks_mutex in forkProcess -------------------------------------+------------------------------------- Reporter: edsko | Owner: Type: bug | Status: closed Priority: normal | Milestone: 7.8.3 Component: Compiler | Version: 7.8.2 Resolution: fixed | Keywords: Operating System: | Architecture: Unknown/Multiple Unknown/Multiple | Difficulty: Unknown Type of failure: | Blocked By: None/Unknown | Related Tickets: Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- Comment (by thomie): Fixed in 16403f0d182d2d3d0b1fbe5ad778ead4bfcb7e16. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9296#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#9296: Acquire all_tasks_mutex in forkProcess -------------------------------------+------------------------------------- Reporter: edsko | Owner: Type: bug | Status: closed Priority: normal | Milestone: 7.8.3 Component: Compiler | Version: 7.8.2 Resolution: fixed | Keywords: Operating System: | Architecture: Unknown/Multiple Unknown/Multiple | Difficulty: Unknown Type of failure: | Blocked By: None/Unknown | Related Tickets: Test Case: | Blocking: | Differential Revisions: Phab:D60 | -------------------------------------+------------------------------------- Changes (by thoughtpolice): * differential: => Phab:D60 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9296#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#9296: Acquire all_tasks_mutex in forkProcess -------------------------------------+------------------------------------- Reporter: edsko | Owner: Type: bug | Status: closed Priority: normal | Milestone: 7.8.4 Component: Compiler | Version: 7.8.2 Resolution: fixed | Keywords: Operating System: | Architecture: Unknown/Multiple Unknown/Multiple | Difficulty: Unknown Type of failure: | Blocked By: None/Unknown | Related Tickets: Test Case: | Blocking: | Differential Revisions: Phab:D60 | -------------------------------------+------------------------------------- Changes (by thoughtpolice): * milestone: 7.8.3 => 7.8.4 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9296#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC