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- interp.c:21275 #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/ 2005-October/005897.html. 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...
Cheers, Adrian
vm-dev@lists.squeakfoundation.org