On Fri, Jan 30, 2009 at 09:14:33AM +0100, Damien Cassou wrote:
On Fri, Jan 30, 2009 at 9:00 AM, Andreas Raab andreas.raab@gmx.de wrote:
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.
I've just downgraded gcc to 3.4 (instead of 4.3.2) and it seems to work fine. Do you want me to do more testing with the 4.3.2 version?
Damien,
Yes, it would be helpful if you could find out more about what is causing the bug when using gcc 4.3.2. It's probably the int declarations as Andreas suggests, and it would be good if you can confirm this.
Thanks, Dave