[GHC] #8087: Bug in IO manager when increasing the number of capabilities
GHC
ghc-devs at haskell.org
Tue Jul 23 20:18:12 CEST 2013
#8087: Bug in IO manager when increasing the number of capabilities
------------------------------------+-------------------------------------
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:
Related Tickets: |
------------------------------------+-------------------------------------
The new IO manager in HEAD has a logic error in the function responsible
for creating more IO manager threads after increasing the number of
capabilities with `setNumCapabilities`. This results in an index-out-of-
range error later on in the program when one perform blocking IO.
Test case:
{{{
#!haskell
import GHC.Conc
main = do
setNumCapabilities 2
getLine
}}}
{{{
$ ghc-stage2 -threaded program.hs
$ ./program
program: Ix{Int}.index: Index (1) out of range ((0,0))
}}}
The fix is simple and will be arriving shortly.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8087>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list