
So... I knew that ghc was a memory hog.. but I am suddenly running into it dying with messages like the following: ghc: out of memory (requested 5997056753664 bytes) make[1]: *** [jhc] Error 1 Before I go out and find a machine with 6 terrabytes of RAM, I figured I'd post here first :) now the strange thing is, this started happening at the same time for both ghc 6.12.1 and 7.0.x (will report exact version later) so clearly something about my code is tickling ghc the wrong way. Though, ghc 7.0.x is slightly better in that it requests only one and a half terrabytes of ram :) Hmm.. I will try to track down a smaller test case, or narrow down what change caused it, but everything looks quite benign. I did recently add NoMonomorphismRestriction, NoMonoLocalBinds, and OverloadedStrings to my standard options, which is the only global change across the board I can think of... John

Hello John, When this has happened to me in the past, it was because I was trying to allocate using a corrupted read (though, this was a userland). So it's very plausible you've hit a bug in GHC. Have you tried 7.2? HEAD? Edward Excerpts from John Meacham's message of Fri Jan 27 19:33:13 -0500 2012:
So... I knew that ghc was a memory hog.. but I am suddenly running into it dying with messages like the following:
ghc: out of memory (requested 5997056753664 bytes) make[1]: *** [jhc] Error 1
Before I go out and find a machine with 6 terrabytes of RAM, I figured I'd post here first :)
now the strange thing is, this started happening at the same time for both ghc 6.12.1 and 7.0.x (will report exact version later) so clearly something about my code is tickling ghc the wrong way. Though, ghc 7.0.x is slightly better in that it requests only one and a half terrabytes of ram :)
Hmm.. I will try to track down a smaller test case, or narrow down what change caused it, but everything looks quite benign. I did recently add NoMonomorphismRestriction, NoMonoLocalBinds, and OverloadedStrings to my standard options, which is the only global change across the board I can think of...
John

Yes, it appears to have been a corrupted 'hi' file. cleaning everything out and starting from scratch fixed it. I was seeing it on both compilers because my two systems are synchronized via unison so the bad file got bounced back and forth. I have not tried using 7.2 yet, the separation of haskell98 and base is a huge pain for a lot of my projects, I have not decided on an appropriate workaround yet so I still target 7.0 and 6.12 (the releases that came with the last two versions of ubuntu by no coincidence) John
participants (2)
-
Edward Z. Yang
-
John Meacham