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).

Thanks,
  ----- 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.


  Thanks,
  -Joe


  On Mon, Feb 20, 2012 at 10:09 PM, Neil Van Dyke <[email protected]> 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.

    -- 
    http://www.neilvandyke.org/





------------------------------------------------------------------------------


  ____________________
    Racket Users list:
    http://lists.racket-lang.org/users
____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to