ghc: internal error: allocation of 2099240 bytes too large
GHCi crashes when issued
Steps to reproduce
The following produces a crash
$ cabal repl -w ghc-8.10 Build profile: -w ghc-8.10.2 -O1 In order, the following will be built (use -v for more details): - haskell-odbc-0.1.0.0 (lib:lane-stuff) (first run) Preprocessing library 'lane-stuff' for haskell-odbc-0.1.0.0.. GHCi, version 8.10.2: https://www.haskell.org/ghc/ :? for help Loaded GHCi configuration from /home/andrea/.ghci [1 of 3] Compiling Lanes.Types ( Lanes/Types.hs, interpreted ) [2 of 3] Compiling Lanes.IO ( Lanes/IO.hs, interpreted ) [3 of 3] Compiling Lanes ( Lanes.hs, interpreted ) Ok, three modules loaded. λ> lpps <- readFile λ> :show bindings lpps :: Data.Vector.Vector MyData = _ λ> length lpps 137473 λ> :show bindings ghc: internal error: allocation of 2099240 bytes too large (GHC should have complained at compile-time) (GHC version 8.10.2 for x86_64_unknown_linux) Please report this as a GHC bug: https://www.haskell.org/ghc/reportabug cabal: repl failed for lib:lane-stuff from haskell-odbc-0.1.0.0. The build process terminated with exit code -6
Note that only the second call to
:show bindings fails. The
readFile function simply reads a csv file with Cassava.
readFile :: IO (Vector MyData) readFile = do bs <- LBS.readFile "mydatafile.csv" let Right (_, v) = decodeByName bs pure v
mydatafile.csv is 7MB in size. Unfortunately I cannot share it.
I expect GHCi not to crash.
- GHC version used: 8.10.2 (ghcup)
- Operating System: Ubuntu
- System Architecture: x86
https://mpickering.github.io/ide/posts/2020-08-04-measuring-memory-size.html seems relevant, it points to #12492 (closed) but that seems to be related to
ghc-datasize which should not be at play here.