[plt-scheme] memory limits in mzscheme and mred

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Sun Aug 26 07:18:21 EDT 2007

At Sat, 25 Aug 2007 20:10:01 +0100, John Kozak wrote:
> I've got some code which progressively allocates a reasonable amount
> of memory (1GBish, on an 8GB machine under debian x86_64, plt version
> 352, boehm GC); runs fine on mzscheme but mred -z process running the
> same code dies with an "out of memory" error early on.  Is there some
> difference regarding memory limits between mzscheme and mred?

After thinking about it, my best guess is that the difference has to do
with Scheme threads that MrEd creates internally. Scheme threads
interact badly with CGC (i.e., the Boehm collector). The problem with
threads is difficult to pin down, but it amounts to taking a source of
impression --- the approximation of which registers and stack addresses
contain live values --- and multiplying the imprecision, while also
making it last much longer.

Is trying a 3m build possible? I forget whether v352 builds with 3m on
a 64-bit machine; you'd probably have to upgrade to v371.

Matthew



Posted on the users mailing list.