Subject: Virtual memory exhausted?
To: NetBSD pmax <port-pmax@netbsd.org>
From: Collin Baillie <sanac@optushome.com.au>
List: port-pmax
Date: 04/17/2002 09:12:37
Hey guys,

While trying to compile the ldmud driver, version 3.2-dev-404, I get this
error:

cc -O4 -ipo -fomit-frame-pointer  -g -fstrength-reduce -fno-force-mem -fno-f
orce-addr -fno-inline-functions -DDEBUG -DTRACE_CODE -DCHECK_STRINGS  -DMUD_
LIB='"/usr/local/mud/lib"' -DBINDIR='"/usr/local/mud/bin"' -DERQ_DIR='"/usr/
local/mud/libexec"'   -c interpret.c
In file included from interpret.c:197:
comm.h:29: warning: deprecated symbol "unix" is no longer predefined
interpret.c: In function `eval_instruction':
interpret.c:20383: virtual memory exhausted
*** Error code 1

Stop.
sprucebash-2.05#

So as you can see, interpret.c is a fairly large file, over 23000 lines, and
around 733kB.

The machine I am compiling on is:

DECstation 5000/240
80MB RAM

My disklabel reads thusly:

sprucebash-2.05# disklabel -r /dev/rz3
# /dev/rz3c:
type: unknown
disk: 3maxplus
label:
flags:
bytes/sector: 512
sectors/track: 107
tracks/cylinder: 21
sectors/cylinder: 2247
cylinders: 3712
total sectors: 8388315
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0           # milliseconds
track-to-track seek: 0  # milliseconds
drivedata: 0

8 partitions:
#        size   offset     fstype   [fsize bsize   cpg]
  a:  1024632        0     4.2BSD     1024  8192    16   # (Cyl.    0 - 455)
  b:   525798  1024632       swap                        # (Cyl.  456 - 689)
  c:  8388315        0     unused        0     0         # (Cyl.    0 -
3733*)
  d:  4096281  1550430     4.2BSD     1024  8192    16   # (Cyl.  690 -
2512)
  f:  1024632  5646711     4.2BSD     1024  8192    16   # (Cyl. 2513 -
2968)
  g:  1716972  6671343     4.2BSD     1024  8192    16   # (Cyl. 2969 -
3733*)

As you can see I've set (around about) 256MB swap. This is a 4gb Barracuda
(Seagate ST15150N)

I'm running NetBSD 1.4.2, generic kernel, bash-2.0.5 (from current pkgsrc).

What is virtual memory in this instance? Because I honestly don't hear the
disk being active, and it's not a quiet drive.

Is there anyway I can trace what is happening during the compile? Can I
increase my 'virtual memory'? It's hard to believe 80MB is not enough to
compile this file, let alone the extra 256MB swap. :/

I believe I had the same issue when compiling on NetBSD 1.5ZA running on a
DEC3000M400 with 64MB ram and similar size (256MB) swap. It compiled ok on a
Pentium 100 (DEC Ventura5100)running Slackware linux 8.0 with 72MB RAM and
~(2xRAM)MB swap. Compiles fine on AlphaServer 2100 with 512MB RAM running
FreeBSD 4.5 RC1.

A tarball of the code I am compiling can be found at:

http://members.optushome.com.au/sanac/ldmud-32dev404.tar.gz

Cheers,

Collin