Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Kernal errors in /var.log.messages

Status
Not open for further replies.

teamsolvechris

IS-IT--Management
Jan 12, 2004
8
GB
Hi,

I am receiving the following messgae every 15 minutes in /var/log/messages

Jul 10 22:00:00 edidb01 kernel: application bug: sqlplus(9701) has SIGCHLD set to SIG_IGN but calls wait().
Jul 10 22:00:00 edidb01 kernel: (see the NOTES section of 'man 2 wait'). Workaround activated.

Ant thoughts?

Kind regards,

Chris
 
So what do we have to assume from this -
That you are running MySQL and MySQLplus, or whatever sqlplus belongs to...
Which kernel you're running...
And that you have the latest up to date version of MySQL?
What distribution of Linux is it?
What kind of machine is it?

-Haben sie fosforos?
-No tiengo caballero, but I have un briquet.
 
Sounds like Oracle. As the message states "see the NOTES section of 'man 2 wait'". Meaning, type "man 2 wait" and look under the NOTES section of a possible answer.

Hope it helps.




## Just because you can do something doesn't mean you should.

Lorenzo Wacondo (System Administrator)
 
A clueless programmer has decided that notification to the the parent when a child dies is not important.
Contrarily: it is extremely important to wait on all child
processes if the parent is still extant. Othwerwise you end
up with zombies, system resources unreleased and general
messiness till the parent exits and init does it's
inheritance and reaping. You can easily run out of open fd's
pty's ,etc, through this kind of coding.
 
Thanks guys,

The machine is running the latest version of Oracle on Red Hat Enterprise Linux ES release 3.
Kernal 2.4.21-20

The Notes section states:

The Single Unix Specification describes a flag SA_NOCLDWAIT (not supported under Linux) such that if either this flag is set, or the action for SIGCHLD is set to SIG_IGN then children that exit do not become zombies and a call to wait() or waitpid() will block until all children have exited, and then fail with errno set to ECHILD.

The original POSIX standard left the behaviour of setting SIGCHLD to SIG_IGN unspecified. Later standards, including SUSv2 and POSIX 1003.1-2001 specify the behaviour just described as an XSI-compliance option. Linux does not conform to the second of the two points just described: if a wait() or waitpid() call is made while SIGCHLD is being ignored, the call behaves just as though SIGCHLD were not being ignored, that is, the call blocks until the next child terminates and then returns the PID and status of that child.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top