[GHC] #8235: Race condition in IO manager

GHC ghc-devs at haskell.org
Sun Sep 8 13:39:21 CEST 2013


#8235: Race condition in IO manager
-------------------------------------+------------------------------------
        Reporter:  parcs             |            Owner:
            Type:  bug               |           Status:  new
        Priority:  normal            |        Milestone:
       Component:  libraries/base    |          Version:  7.7
      Resolution:                    |         Keywords:
Operating System:  Unknown/Multiple  |     Architecture:  Unknown/Multiple
 Type of failure:  Runtime crash     |       Difficulty:  Unknown
       Test Case:                    |       Blocked By:
        Blocking:  910               |  Related Tickets:
-------------------------------------+------------------------------------

Comment (by akio):

 It looks like the write to emState was triggered in
 {{{shutdownHaskellAndExit}}}, after the main thread (thread 4) died. So
 perhaps this is a normal condition, and the call to {{{error}}} should
 simply be removed?

 (I'm assuming the following thread id mapping)

 {{{
 thread 1: helper thread in ioManagerStart()
 thread 2: IO manager for cap 0
 thread 3: time manager
 thread 4: main thread
 thread 5: helper thread in setNumCapabilities() (1st call)
 thread 6: IO manager for cap 1
 thread 7: helper thread in setNumCapabilities() (2nd call)
 thread 8: helper thread in setNumCapabilities() (3rd call)
 thread 9: IO manager for cap 1, which called Prelude.error
 }}}

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8235#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler




More information about the ghc-tickets mailing list