[racket-dev] "Racket virtual machine has run out of memory; aborting"

From: Greg Hendershott (greghendershott at gmail.com)
Date: Sat Sep 21 09:35:52 EDT 2013

On Ubuntu 12.04 x64 with 1 GB RAM, I'm getting OOM error toward the
end of building Racket, during the docs:

    Racket virtual machine has run out of memory; aborting

1. Is this normal/expected, with only 1 GB?

2. I thought there was a flag or make target to build _without_
building docs. Maybe that was the old build system. Anyway I can't
find it in README.txt.  Is there such an option, these days?


p.s. Elided output to show how far it gets before erroring:

~/src/plt/racket$ make
if [ "" = "" ] ; \
         then make plain-in-place PKGS="main-distribution plt-services" ; \
         else make cpus-in-place PKGS="main-distribution plt-services" ; fi
make[1]: Entering directory `/home/greg/src/plt/racket'
make base
make[2]: Entering directory `/home/greg/src/plt/racket'
mkdir -p build/config
echo '#hash((links-search-files . ()))' > build/config/config.rktd
mkdir -p racket/src/build
make racket/src/build/Makefile
make[3]: Entering directory `/home/greg/src/plt/racket'
make[3]: `racket/src/build/Makefile' is up to date.
make[3]: Leaving directory `/home/greg/src/plt/racket'
cd racket/src/build; make reconfigure
make[3]: Entering directory `/home/greg/src/plt/racket/racket/src/build'
make Makefile
make[4]: Entering directory `/home/greg/src/plt/racket/racket/src/build'
make[4]: `Makefile' is up to date.
make[4]: Leaving directory `/home/greg/src/plt/racket/racket/src/build'
make[3]: Leaving directory `/home/greg/src/plt/racket/racket/src/build'
cd racket/src/build; make SELF_RACKET_FLAGS="-G `cd ../../../build/config; pwd`"
make[3]: Entering directory `/home/greg/src/plt/racket/racket/src/build'
make 3m
make[4]: Entering directory `/home/greg/src/plt/racket/racket/src/build'
cd racket; make 3m
make[5]: Entering directory `/home/greg/src/plt/racket/racket/src/build/racket'
make cgc
make[6]: Entering directory `/home/greg/src/plt/racket/racket/src/build/racket'
make common
make[7]: Entering directory `/home/greg/src/plt/racket/racket/src/build/racket'

... many many lines ...

raco setup: rendering: <pkgs>/html-doc/html/html.scrbl
raco setup: rendering: <pkgs>/images-doc/images/scribblings/images.scrbl
raco setup: rendering: <pkgs>/racket-doc/scribblings/inside/inside.scrbl
raco setup: rendering: <pkgs>/racket-doc/json/json.scrbl
raco setup: rendering: <pkgs>/lazy/lazy.scrbl
raco setup: rendering:
<pkgs>/racket-index/scribblings/main/user/local-redirect.scrbl
raco setup: rendering: <pkgs>/macro-debugger/macro-debugger/macro-debugger.scrbl
Racket virtual machine has run out of memory; aborting
make[1]: *** [plain-in-place] Aborted
make[1]: Leaving directory `/home/greg/src/plt/racket'
make: *** [in-place] Error 2

Posted on the dev mailing list.