can't fork - try again

Hi,

why is it not possible to start a program if the system is under heavy
load during a compilation?? I see all the time messages like: ‘can’t
fork - try again’ or ‘Interrupted system call’

What’s the problem ??

Armin

Hi Armin,

Not sure myself, but I have gotten the tools guys to take a look into this.

E.


Armin <a-steinhoff@web.de> wrote:

Hi,

why is it not possible to start a program if the system is under heavy
load during a compilation?? I see all the time messages like: ‘can’t
fork - try again’ or ‘Interrupted system call’

What’s the problem ??

Armin

The cannot fork message is from the shell, and it probably means
that you are out of memory or out of some resource required for
forking.

I’m not sure why you would be getting EINTR messages, but this
could have something to do with why the forks are failing.

When you say heavy load, what is going on?

Hardware Support Account <hw@qnx.com> wrote:

Hi Armin,

Not sure myself, but I have gotten the tools guys to take a look into this.

E.



Armin <> a-steinhoff@web.de> > wrote:
Hi,

why is it not possible to start a program if the system is under heavy
load during a compilation?? I see all the time messages like: ‘can’t
fork - try again’ or ‘Interrupted system call’

What’s the problem ??

Armin


cburgess@qnx.com

Colin Burgess wrote:

The cannot fork message is from the shell, and it probably means
that you are out of memory or out of some resource required for
forking.

It happens with ~128MB free (info from spin) on a 700MHz machine …

there can’t be resource problems. Which resources besides memory/CPU are
required ? Max numberof open files ?

I’m not sure why you would be getting EINTR messages, but this
could have something to do with why the forks are failing.

When you say heavy load, what is going on?

I do just a compilation of a bigger project.

Armin

Hardware Support Account <> hw@qnx.com> > wrote:

Hi Armin,


Not sure myself, but I have gotten the tools guys to take a look into this.


E.



Armin <> a-steinhoff@web.de> > wrote:

Hi,


why is it not possible to start a program if the system is under heavy
load during a compilation?? I see all the time messages like: ‘can’t
fork - try again’ or ‘Interrupted system call’


What’s the problem ??


Armin

We used to get this on our servers at school all the time when the dorks in
the network programming class discovered the fork() command every year and
used up all the pids on the machines. The problem was that you were only
allowed 64k pids on solaris and Linux so we would run out and no one could
fork. I don’t think that’s a problem with qnx though…Have you seen how
many digits our pids have? :wink:

cheers,

Kris

Armin <a-steinhoff@web.de> wrote:

Colin Burgess wrote:

The cannot fork message is from the shell, and it probably means
that you are out of memory or out of some resource required for
forking.

It happens with ~128MB free (info from spin) on a 700MHz machine …
there can’t be resource problems. Which resources besides memory/CPU are
required ? Max numberof open files ?

I’m not sure why you would be getting EINTR messages, but this
could have something to do with why the forks are failing.

When you say heavy load, what is going on?

I do just a compilation of a bigger project.

Armin



Hardware Support Account <> hw@qnx.com> > wrote:

Hi Armin,


Not sure myself, but I have gotten the tools guys to take a look into this.


E.



Armin <> a-steinhoff@web.de> > wrote:

Hi,


why is it not possible to start a program if the system is under heavy
load during a compilation?? I see all the time messages like: ‘can’t
fork - try again’ or ‘Interrupted system call’


What’s the problem ??


Armin
\


Kris Warkentin
kewarken@qnx.com
(613)591-0836 x9368
“I love deadlines. I like the whooshing sound they make as they fly by.”
– Douglas Adams

Kris Eric Warkentin <kewarken@qnx.com> wrote:

We used to get this on our servers at school all the time when the dorks in
the network programming class discovered the fork() command every year and
used up all the pids on the machines. The problem was that you were only
allowed 64k pids on solaris and Linux so we would run out and no one could
fork. I don’t think that’s a problem with qnx though…Have you seen how
many digits our pids have? > :wink:

Yes, but I don’t think all the digits are used. Have you looked how
quickly we get up into really high-numbered pids?

-David


QNX Training Services
dagibbs@qnx.com

Kris Eric Warkentin wrote:

We used to get this on our servers at school all the time when the dorks in the network programming class discovered the fork() command every year and used up all the pids on the machines. The problem was that you were only allowed 64k pids on solaris and Linux so we would run out and no one could fork. I don’t think that’s a problem with qnx though…Have you seen how many digits our pids have? > :wink:

Tha’ts surely not the problem … did you also got at school a message like

‘Interrupted service call’ ?

What does this message mean ? Are there any non-reentrent safe system
calls ??

Armin

cheers,

Kris

Armin <> a-steinhoff@web.de> > wrote:

Colin Burgess wrote:


The cannot fork message is from the shell, and it probably means
that you are out of memory or out of some resource required for
forking.

It happens with ~128MB free (info from spin) on a 700MHz machine …
there can’t be resource problems. Which resources besides memory/CPU are
required ? Max numberof open files ?


I’m not sure why you would be getting EINTR messages, but this
could have something to do with why the forks are failing.

When you say heavy load, what is going on?

I do just a compilation of a bigger project.


Armin



Hardware Support Account <> hw@qnx.com> > wrote:

Hi Armin,

Not sure myself, but I have gotten the tools guys to take a look into this.

E.


Armin <> a-steinhoff@web.de> > wrote:

Hi,

why is it not possible to start a program if the system is under heavy
load during a compilation?? I see all the time messages like: ‘can’t
fork - try again’ or ‘Interrupted system call’

What’s the problem ??

Armin


\

a-steinhoff@web.de wrote:

Kris Eric Warkentin wrote:

We used to get this on our servers at school all the time when the dorks in the network programming class discovered the fork() command every year and used up all the pids on the machines. The problem was that you were only allowed 64k pids on solaris and Linux so we would run out and no one could fork. I don’t think that’s a problem with qnx though…Have you seen how many digits our pids have? > :wink:

Tha’ts surely not the problem … did you also got at school a message like
‘Interrupted service call’ ?

No, it was actually the process table being full…we set up some ulimits to
keep users down to 50 processes so they couldn’t fork them all away. Wojtek
just informed me that neutrino only supports 4096 processes and that the
rest of the pid is a serial number of some sort.

cheers,

Kris

What does this message mean ? Are there any non-reentrent safe system
calls ??

Armin



cheers,

Kris

Armin <> a-steinhoff@web.de> > wrote:

Colin Burgess wrote:


The cannot fork message is from the shell, and it probably means
that you are out of memory or out of some resource required for
forking.

It happens with ~128MB free (info from spin) on a 700MHz machine …
there can’t be resource problems. Which resources besides memory/CPU are
required ? Max numberof open files ?


I’m not sure why you would be getting EINTR messages, but this
could have something to do with why the forks are failing.

When you say heavy load, what is going on?

I do just a compilation of a bigger project.


Armin



Hardware Support Account <> hw@qnx.com> > wrote:

Hi Armin,

Not sure myself, but I have gotten the tools guys to take a look into this.

E.


Armin <> a-steinhoff@web.de> > wrote:

Hi,

why is it not possible to start a program if the system is under heavy
load during a compilation?? I see all the time messages like: ‘can’t
fork - try again’ or ‘Interrupted system call’

What’s the problem ??

Armin



\


\

Kris Warkentin
kewarken@qnx.com
(613)591-0836 x9368
“I love deadlines. I like the whooshing sound they make as they fly by.”
– Douglas Adams

Armin <a-steinhoff@web.de> wrote:

Colin Burgess wrote:

The cannot fork message is from the shell, and it probably means
that you are out of memory or out of some resource required for
forking.

It happens with ~128MB free (info from spin) on a 700MHz machine …
there can’t be resource problems. Which resources besides memory/CPU are
required ? Max numberof open files ?

Actually that can very happen pretty easily if you are compiling multiple projects,
especially with C++ and optimisation.

But in this case it sure sounds like you may be running out of file descriptors.

I’m not sure why you would be getting EINTR messages, but this
could have something to do with why the forks are failing.

When you say heavy load, what is going on?

I do just a compilation of a bigger project.

Armin



Hardware Support Account <> hw@qnx.com> > wrote:

Hi Armin,


Not sure myself, but I have gotten the tools guys to take a look into this.


E.



Armin <> a-steinhoff@web.de> > wrote:

Hi,


why is it not possible to start a program if the system is under heavy
load during a compilation?? I see all the time messages like: ‘can’t
fork - try again’ or ‘Interrupted system call’


What’s the problem ??


Armin
\


cburgess@qnx.com