[racket] DrRacket never uses more than 1 GB?

From: Greg Hendershott (greghendershott at gmail.com)
Date: Tue Jul 13 18:07:26 EDT 2010

A couple more observations:

[1] I'm spending a lot of time staring at the GC log scrolling by in
DrRacket. I'm seeing many examples where the amount collected is
negative. Ex:

GC [minor] at 1028656788 bytes; 4636116 collected in 47 msec
GC [minor] at 1025017408 bytes; -3872 collected in 15 msec
GC [major] at 1025021280 bytes; 91780692 collected in 2200 msec

Is this a bug or as-expected?

[2] When it eventually dies near 1 GB, it does so with two dialog boxes:

Dialog #1
Caption: "Out of Memory"
Body: "Racket virtual machine out of memory. Aborting".

Press OK.

Dialog #2
Caption: "Microsoft Visual C++ Runtime Library"
"Runtime Error!
Program: C:\Program Files (x86)\Racket\DrRacket.exe
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information".

And then the whole DrRacket 5.0 application is killed.  (Same with
DrScheme 4.2.5).

It would be nice if the DrRacket environment could survive, i.e. if
there was a barrier between the IDE and the program being run.

On Tue, Jul 13, 2010 at 3:31 PM, Robby Findler
<robby at eecs.northwestern.edu> wrote:
> On Tue, Jul 13, 2010 at 2:05 PM, Greg Hendershott
> <greghendershott at gmail.com> wrote:
>> Hey wait a second. Aren't Racket pointers a couple bits less than 32?
>> Like, say, 30 bits?  And that's 1 GB address space?   Q.E.D. ... ?
> Racket uses the "odd" pointers to represent small integers, but I
> don't think that matters much here, since those pointers aren't
> generally useful (as a pointer incrementing by one (when viewed as an
> integer) moves to the next byte, not the next word).
> Robby

Posted on the users mailing list.