VM stability issue on unix

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

VM stability issue on unix

Adrian Lienhard
Hi VM maintainers,

We have run into the following problem with 3.7/3.9 unix VMs (but not  
with version 3.6). The VM hoggs the CPU and does not respond anymore  
after consuming more than about 120MB of memory. The problem is  
reproducible independently of the image version (simply by  
instantiating enough objects).

This is the VM version we are using:

3.7-7 #1 Don Okt 20 11:25:27 CEST 2005 gcc-Version (Debian Squeak3.7  
of '4 September 2004' [latest update: #5989] Linux 2.6.10 #1 Tue Dec  
28 21:16:21 CET 2004 i686 GNU/Linux

Inspecting the Squeak process stacks with gdb does not show anything  
unusual, however, one process does not seem to get back from calling  
t he new: primitive.

The call stack of the VM looks like this:

#0  updatePointersInRangeFromto (memStart=231866373, memEnd=2138759076)
     at gnu-interp.c:21562
#1  0x0805d500 in incCompBody () at gnu-interp.c:4650
#2  0x0805d2ed in fullGC () at gnu-interp.c:4500
#3  0x0806d576 in sufficientSpaceAfterGC (minFree=202536) at gnu-
#4  0x08067d5e in primitiveNewWithArg () at gnu-interp.c:16045
#5  0x080614fa in interpret () at gnu-interp.c:7249
#6  0x0805a5fb in main (argc=0, argv=0xbfeff8a4, envp=0x0)
     at /usr/src/Squeak-3.7-7/platforms/unix/vm/sqUnixMain.c:1367

It looks like the same issue has been discussed in the following  
thread already: http://lists.squeakfoundation.org/pipermail/seaside/ 
The proposed workaround of explicitly setting -memory with a high  
enough value works, i.e., the vm does not stop working when the  
memory consumption exceeds 120MB.

Since in Seaside applications images often grow up to 200MB or even  
more, this is a real show stopper...