Hi,
I've just written a small Installer-based script to install Seaside2.8 into Pharo image. Load the latest ScriptLoader from PharoInbox and do: ScriptLoader loadSeaside Unfortunately, this crashed my unix VM 2 times with the following message: squeak: /home/piumarta/squeak/platforms/unix/vm/sqUnixMemory.c:172: uxGrowMemoryBy: Assertion `newDelta >= 0' failed. Aborted Sometimes it works though. To make it work more reliably, I pass '-memory 512m' to the VM. -- Damien Cassou http://damiencassou.seasidehosting.st _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
On Mar 2, 2009, at 11:41 , Damien Cassou wrote:
> Unfortunately, this crashed my unix VM 2 times with the following > message: > > squeak: /home/piumarta/squeak/platforms/unix/vm/sqUnixMemory.c:172: > uxGrowMemoryBy: Assertion `newDelta >= 0' failed. > Aborted Looks like http://bugs.squeak.org/view.php?id=6667 The problem is known for more than 2 years [1], but as far as I understand the fix has not been integrated in the unix VM yet. See also http://www.nabble.com/newDelta-%3E0-failed-in-sqUnixMemory----Was-Re:--Pharo-project--Incompatibility-between-Pharo-and-Seasidehosting-td22119062.html Cheers, Adrian [1] http://www.nabble.com/An-issue-with-Slang,-the-interpreter---the-VM,-and-a-period-in-biasToGrow.-td8515636.html _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Damien Cassou
Hi,
If you want to patch your linux VM and rebuild from source I can tell you where to fix it. cheers bruce On Mon, Mar 02, 2009 at 11:41:47AM +0100, Damien Cassou wrote: > Hi, > > I've just written a small Installer-based script to install Seaside2.8 > into Pharo image. Load the latest ScriptLoader from PharoInbox and do: > > ScriptLoader loadSeaside > > Unfortunately, this crashed my unix VM 2 times with the following message: > > squeak: /home/piumarta/squeak/platforms/unix/vm/sqUnixMemory.c:172: > uxGrowMemoryBy: Assertion `newDelta >= 0' failed. > Aborted > > > Sometimes it works though. To make it work more reliably, I pass > '-memory 512m' to the VM. > > -- > Damien Cassou > http://damiencassou.seasidehosting.st > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
On Wed, Mar 4, 2009 at 4:17 PM, Bruce O'Neel <[hidden email]> wrote:
> If you want to patch your linux VM and rebuild from source I can > tell you where to fix it. Why not, but I would prefer to see the bug fixed in svn. Do you know why it isn't there already? -- Damien Cassou http://damiencassou.seasidehosting.st _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Hi, My, possibly wrong, understanding is that it is fixed if you get a somewhat recent version of vm-maker. It's the lack of a '.' in a method. The problem seems to be that Ian, the generator of the unix vm, uses and older vm-maker. I don't know why this would be, but, surely he has his reasons. A simple fix is: The code is (from the gnu-interp.c file, though interp.c is the same): if (((((usqInt) ((longAt(foo->freeBlock)) & AllButTypeMask))) < (((usqInt) foo->growHeadroom))) && +(foo->gcBiasToGrow > 0)) { /* begin biasToGrow */ /* HERE's the new line! */ growSize = (((sqInt) (foo->growHeadroom * 3) >> 1)) - ((longAt(foo- >freeBlock)) & AllButTypeMask); /* begin growObjectMemory: */ foo->statGrowMemory += 1; limit = sqGrowMemoryBy(foo->memoryLimit, growSize); if (!(limit == foo->memoryLimit)) { foo->memoryLimit = limit - 24; initializeMemoryFirstFree(foo->freeBlock); } weDidGrow = 1; } and all should be good. The problem is that growSize isn't set, and, newer versions gcc seem to set it to 0, rather than some random number not 0. If the above code doesn't work justset growSize to something, say, 50000000 should do the job. Ie, each grow would be 50meg. cheers bruce On Wed, Mar 04, 2009 at 04:21:07PM +0100, Damien Cassou wrote: > On Wed, Mar 4, 2009 at 4:17 PM, Bruce O'Neel <[hidden email]> wrote: > > If you want to patch your linux VM and rebuild from source I can > > tell you where to fix it. > > Why not, but I would prefer to see the bug fixed in svn. Do you know > why it isn't there already? > > -- > Damien Cassou > http://damiencassou.seasidehosting.st > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
On Wed, Mar 4, 2009 at 4:54 PM, Bruce O'Neel <[hidden email]> wrote:
> and all should be good. The problem is that growSize isn't set, and, newer versions > gcc seem to set it to 0, rather than some random number not 0. > > If the above code doesn't work justset growSize to something, say, 50000000 should > do the job. Ie, each grow would be 50meg. Thank you -- Damien Cassou http://damiencassou.seasidehosting.st _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Free forum by Nabble | Edit this page |