#3424: Corrupt executable when compiling large do block for List monad
-------------------+--------------------------------------------------------
Reporter: guest | Owner:
Type: bug | Status: new
Priority: normal | Component: Compiler
Version: 6.10.4 | Severity: normal
Keywords: | Testcase:
Os: Linux | Architecture: x86
-------------------+--------------------------------------------------------
For a program that like
{{{
z :: [[Int]]
z = do
x1 <- [0..3]
x2 <- [0..3]
x3 <- [0..3]
x4 <- [0..3]
x5 <- [0..3]
x6 <- [0..3]
x7 <- [0..3]
...
x600 <- [0..3]
guard (x1+x2+2*x3 >= 0)
return [x1,x2,x3,...,x600]
}}}
the compiler generates a program, that aborts with
{{{
internal error: scavenge: unimplemented/strange closure type -1 @
}}}
.
Description and example Haskell program can be found here:
http://www.haskell.org/pipermail/haskell-cafe/2009-August/065001.html
Maybe related: #830
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/3424>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs