On Mon, Jul 30, 2007 at 06:42:12PM +0200, Thomas Krieger wrote:
> > > I hope this will help to find the cause of the problem.
> >
> > Unfortunately not. It doesn't tell why the children received
> > SIGPIPE. It doesn't appear to be reproduceable either.
> 
> Ok, I searched the logfiles for policyd warnings. I did on 27th and 28th, the 
> day of the crash. Please find attached the output as gz file. But I do not 
> find any master messages in the file. But there are a view messages 
> concerning syslog and the crash happend during log rotation on the productive 
> server.
> 
> Testing on my test server killing a child with SIGPIPE does not kill the 
> master. Everything goes on fine. Strange problem I think. I will investigate 
> this further on.
> 

The master die()d because Sys::Syslog throw a die() when the
master attempted to use syslog().

This appears to be a race condition when syslog is not available
for log-message submission.

I am afraid I cannot resolve this cleanly.

My approach would be, to retry syslog() for a certain amount
of time or retry-number in an eval() loop. This however is
not clean. I currently cannot imagine of another more sophisticated
way (well, one way would exist - to don't use syslog anymore but an
own log-file - this again requires some SIG handling in cases of
logrotation).



-- 
    Robert Felber (PGP: 896CF30B)
    Munich, Germany

____________________________________________________________
Policyd-weight Mailinglist - http://www.policyd-weight.org/

Reply via email to