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/