Since you're compiling the VM yourself, you might want to add a guard that catches the condition and prints out the environmental values (oldLimit, delta, newSize, newDelta). I would suspect that this is a signed/unsigned issue with memory being allocated somewhere close to the 2GB barrier and then flipping from positive to negative. Since newSize and newDelta are declared int, this could easily happen.
Cheers, - Andreas
Damien Cassou wrote:
Hi,
with a recent stock pharo image and a new VM compiled from svn on Linux, I always get
squeak: /tmp/squeak-svn/platforms/unix/vm/sqUnixMemory.c:172: uxGrowMemoryBy: Assertion `newDelta >= 0' failed. Aborted
This does not happen on Squeak 3.9 nor 3.10. This did not happen yesterday when I was on Ubuntu Hardy. Now, I'm on Intrepid, GCC 4.3.2 and it crashes after 3 seconds of work on any Pharo image.
You may want to know that to compile the vm, I was obliged to change sqUnixFBDevMousePS2.c to make use of the 'write(2)' return value because my compiler didn't want to compile if write(2) return value was unused.