Huge space leak on a program that shouldn't leak
|Reported by:||bartavelle||Owned by:|
|Operating System:||Linux||Architecture:||x86_64 (amd64)|
|Type of failure:||Runtime performance bug||Test Case:|
|Related Tickets:||Differential Rev(s):|
I have a program that works in a small amount of memory on a computer (less than 50mb) and leaks until it takes all available memory on another (with 16GB RAM).
I am unsure if this is a compiler bug, or a bug in one of the packages I use. I am also unsure on how to diagnose it.
You will find attached the ghc-pkg list for both computers, the offending program, and the output of -hp and -hy for the offending case. To reproduce the test it should be used like that :
genstats-simplepatterns dictionary output
Where dictionary is a large text file with a word per line (such as the rockyou list). The program itself is a fold that compiles statistics for each input line.
The "good" program is built with GHC-7.4.1. The bad one used to be built with it. As I suspected a package problem, I cleaned all my installation and started with a fresh GHC-7.4.2 + latest Haskell platform, but the result was identical.
The space leak seems to occur in HashMap, but converting all instances into Data.Map results in another leak.