VM freeze and crash when saving

David T. Lewis lewis at mail.msen.com
Fri Apr 6 13:01:36 UTC 2007


On Fri, Apr 06, 2007 at 01:50:15PM +0200, Florian Minjat wrote:
> David T. Lewis wrote:
> >Florian,
> >
> >I am away from my Squeak computer now so I can't check any
> >actual code, but it probably means that the actual unix fork()
> >failed for some reason and gave an error return value of -1
> >rather than the pid of the forked process. Look at the unix
> >man page for fork (man 2 fork) for an explanation. Perhaps
> >there is some memory usage restriction on your unix account
> >that prevents you from starting a second copy of Squeak, but
> >I'm just guessing.
> >
> >I can't remember the method name, but if you look in class
> >UnixOSProcessAccessor you will probably find a method for
> >retrieving the most recent value of errno. If you call this
> >immediately after the fork, you can probably see the errno
> >value that would explain the problem (but be warned that
> >the value of errno can up updated by any system call, so
> >it's possible you will get a misleading result). If the
> >method is #primErrno, then you would call it with
> >"OSProcess accessor primErrno" (but I don't remember
> >what I actually called it).
> >
> >Most likely this will just turn out to be a restriction of
> >your ISP, sorry.
> >
> >Dave
> 
> Hi,
> I am sorry but I could not find any method like *errno* in the 
> OSProcess-Unix package :/.
> And I really don't see why I couldn't create a fork on my virtual 
> server account...
> 
> Florian losing faith in squeak capacity in production environnement...
>

I apologize, my memory was wrong. There is no such method for getting
the errno value. Please disregard that suggestion.

What I can tell you for sure is that the return value of -1 from
the fork primitive in OSPP is the actual return value from the
Unix fork() system call. If you look at the man page for fork() on the
system you are using, it will explain what can cause this. Since
you are running on an hosting service with various resource limits,
I am guessing that there is some resource limit that is preventing
you from starting another Squeak VM on that system.

Dave




More information about the Squeak-dev mailing list