[racket] DrRacket crashes

From: Rüdiger Asche (rac at ruediger-asche.de)
Date: Sun Feb 26 17:24:49 EST 2012

On my machine at work (admitteldly, older - 512M RAM, Windows XP SP2), DrRacket crashes predictably, even when I don't run any code of mine - it's enough to run the macro stepper on a reasonably complex expression. I do attribute this to low memory conditions and found that Dr.Racket claims about 300M even when limited to 128M. Opening a second session (hitting run, debug or macro stepper) already bumps the memory usage significantly. 

I haven't reported this yet since a) I don't know how to file a bug report and b) the environment I run under is fairly ancient. I believe it is fairly trivial to get Dr.Racket to crash using a machine with limited memory. I can provide additional info (screenshots of the exception handler box, event log entries etc) if needed (PM please).

  ----- Original Message ----- 
  From: Joe Gilray 
  To: Neil Van Dyke 
  Cc: Racket mailing list 
  Sent: Tuesday, February 21, 2012 7:32 AM
  Subject: Re: [racket] DrRacket crashes

  Hi Neal,

  The code is not using tail recursion, but my test code is allocating and deallocating large structures about 20 times before the crash.

  I am limiting memory for DrRacket to 1GB (the system has 3GB).  DrRacket was using about 800MB the last time I checked before the crash.  Note that it doesn't give me the out of memory message.  When I hit Run, DrRacket doesn't give back memory to the OS, but that is no surprise.

  I know that this is not a very complete bug report.  I just put it out there in case someone else is seeing something similar and maybe together we can characterize the issue better.


  On Mon, Feb 20, 2012 at 10:09 PM, Neil Van Dyke <neil at neilvandyke.org> wrote:

    Windows is very much running out of RAM, and is pounding swap?

    Were you able to look at the process sizes, so you know roughly how much virtual memory DrRacket was using, and whether any other processes were using lots of virtual memory?

    It could be that DrRacket was using a huge amount of virtual memory, or it could be that some other process was, but you were noticing it in DrRacket because a GC cycle was leading to thrashing.

    If DrRacket is indeed using a huge amount of memory, you might take a look at the code you were running in DrRacket, and whether all the memory usage of that code is necessary.  One of the first things to look at is whether you're using tail calls everywhere you can in recursion-intensive parts of the code.

    Also, I actually disable swap on Linux and Windows workstations I set up -- any process of mine that doesn't fit in RAM is dead to me.  My workstations are 5 year-old laptops with 2-3 GB of RAM each, and so far that has been more than enough RAM.



    Racket Users list:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20120226/82b57d91/attachment.html>

Posted on the users mailing list.