[racket-dev] call-with-limits memory bound isn't actually bounding memory usage

From: J. Ian Johnson (ianj at ccs.neu.edu)
Date: Mon Sep 9 12:16:00 EDT 2013

I changed it to (call-with-limits (* 30 60) 2048 (lambda () <run-analysis>)) for a sanity check, which I thought with-limits was just a macro for. Same problem. The execution takes at least 20 seconds to get to 15GiB, so it can't be just that GC isn't running in order for the custodian to notice the usage over the limit.
----- Original Message -----
From: "Carl Eastlund" <carl.eastlund at gmail.com>
To: "J. Ian Johnson" <ianj at ccs.neu.edu>
Cc: "dev" <dev at racket-lang.org>
Sent: Monday, September 9, 2013 12:05:21 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] call-with-limits memory bound isn't actually bounding memory usage

Does <run-analysis> have the form (lambda () <actually-run-analysis>)? Because if not, that's the problem. 

Carl Eastlund 

WARNING! Poorly-typed cell phone email precedes. 
On Sep 9, 2013 11:55 AM, "J. Ian Johnson" < ianj at ccs.neu.edu > wrote: 

I'm running my analysis benchmarks in the context of (with-limits (* 30 60) 2048 <run-analysis>), and it's been good at killing the process when the run should time out, but now I have an instantiation of the framework that just gobbles up 15GiB of memory without getting killed. What might be going on here? 

Racket Developers list: 

Posted on the dev mailing list.