[GHC] #8235: Race condition in IO manager
GHC
ghc-devs at haskell.org
Fri Sep 6 00:34:48 CEST 2013
#8235: Race condition in IO manager
------------------------------------+-------------------------------------
Reporter: parcs | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: libraries/base | Version: 7.7
Keywords: | Operating System: Unknown/Multiple
Architecture: Unknown/Multiple | Type of failure: Runtime crash
Difficulty: Unknown | Test Case:
Blocked By: | Blocking: 910
Related Tickets: |
------------------------------------+-------------------------------------
=== Race.hs
{{{
#!haskell
import GHC.Conc
main :: IO ()
main = do
setNumCapabilities 2
setNumCapabilities 1
setNumCapabilities 2
}}}
=== Command Line
{{{
$ ghc-stage2 -threaded Race.hs
[1 of 1] Compiling Main ( Race.hs, Race.o )
Linking Race ...
$ while true; do ./Race; echo -n .; done
...............................Race: GHC.Event.Manager.loop: state is
already Finished
}}}
It looks like there is a race condition in
`GHC.Event.Thread.restartPollLoop` where a write to `emState` is snuck in
between releasing the executing thread and
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8235>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list