Re: [GHC] #229: Integer overflow in array allocation

#229: Integer overflow in array allocation -------------------------------------+------------------------------------- Reporter: josefs | Owner: rwbarton Type: bug | Status: new Priority: high | Milestone: 8.0.1 Component: Core Libraries | Version: 7.9 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Old description:
When asked to create a sufficiently large array ghci coredumps.
{{{#!hs import Data.Array.ST import Control.Monad.ST import GHC.Base
example = runST (do arr <- newArray (minInt,maxInt) False go arr) where go :: STArray s Int Bool -> ST s Bool go arr = readArray arr 3 }}}
Load this into ghci and type 'example'.
New description: When asked to create a sufficiently large array ghci coredumps. Edit: new example {{{#!hs import Data.Array.MArray import Data.Array.IO import Data.Word main = do m <- newArray_ (0,2^62-1) :: IO (IOUArray Int Word32) -- allocates 0 bytes writeArray m 17 12345 -- write wherever you like mapM (\x -> writeArray m x 0) [1..10000] -- core dump }}} Load this into ghci and type 'main'. -- Comment (by thomie): Update description with example from comment:15. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/229#comment:25 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC