[Haskell-cafe] FFI and heap memory usage limit

Bulat Ziganshin bulat.ziganshin at gmail.com
Mon Jun 22 18:48:57 EDT 2009


Hello Marcin,

Tuesday, June 23, 2009, 2:31:13 AM, you wrote:

>         Now this took an odd turn, because the simulation started crashing with
> out-of-memory errors _after_ completing (during bz2 compression). I'm fairly
> certain this is a GC/FFI bug, because increasing the max heap didn't help.
> Moving the bz2 compression to a separate process provided a reasonable
> solution.
>         What I think is happening is that after the simulation completes, almost all
> of the available memory (within the -M limit) is filled with garbage. Then I
> run bzlib which tries to allocate more memory (from behind FFI?) to compress
> the results, which in turn causes an out-of-memory error instead of 
> triggering a GC collection.

i can propose a quick fix - alloc 10 mb using allocBytes before
starting your algorithm, and free it just before starting bzlib. it
may help

i agree that this looks like a deficiency of memory allocator. it's
better to write at ghc-users maillist (or at least make a copy to
Simon Marlow) to attract attention to your message

-- 
Best regards,
 Bulat                            mailto:Bulat.Ziganshin at gmail.com



More information about the Haskell-Cafe mailing list