[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