
#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