[Linux-HA] v2 ha-log messages?

Alan Robertson alanr at unix.sh
Tue Oct 4 16:04:21 MDT 2005


Jonathan Auerbach wrote:
> Alan Robertson wrote:
> 
>>Jonathan Auerbach wrote:
>>....snipped
>>
>>>lrmd[12222]: 2005/09/30_19:26:20 ERROR: Process 12332 failed to redirect
>>>stdout for its background child (daemon) processes. This will likely
>>>cause those processes to die mysteriously at some later time (terminated
>>>by signal SIGPIPE).
>>
>>
>>I know exactly what this one is.
>>
>>Do you know what resource agent was running when this message came out?
>>
> 
> 
> the proceeding log entry was this:
> 
> crmd[12223]: 2005/09/30_19:26:20 info: mask(lrm.c:do_lrm_rsc_op):
> Performing op start on group_1:MailTo_4
> 
> otherwise, I'm not sure which one it came from.
> 
> 
>>What it means is that the main resource action (start, stop, etc) has
>>finished, but that for some reason, a child process of that resource
>>action is still running, and has not redirected its stdout/stderr to
>>something else (like /dev/null), and it's still running.
>>
>>Since the main process has died, we closed our end of the pipe, and if
>>anyone else in one of these still-running child processes tries to write
>>to their end of it in the future (like this child process which is still
>>running), then it will not be able to, and will get a SIGPIPE signal
>>which will likely kill it.
>>
>>It is related to this bug:
>>    http://www.osdl.org/developer_bugzilla/show_bug.cgi?id=475
>>
>>The "right" system-wide fix for this problem is described here:
>>    http://www.osdl.org/developer_bugzilla/show_bug.cgi?id=756
>>
>>The observant will notice that this problem is not yet marked as fixed.

And thanks for yours.  I just missed the note about being the result of 
a MailTo resource.  We can probably work around that.  It's in this 
function:
MailToStart() {

         Subject="`SubjectLine $subject` Takeover in progress on $us"

         MailProgram "$Subject" $1
         return $?
}

Which in turn calls

MailProgram() {
         mail -s "$1" "$email"  <<EOF
         $Subject

         Command line was:
         $ARGS
EOF
         return $?
}

Which indicates that the "mail" program is running something else 
(probably sendmail) which still has stdout open - and is running in the 
background.

This is _exactly_ why the "right" fix (756) is necessary.  This isn't 
exactly an obvious behavior...


-- 
     Alan Robertson <alanr at unix.sh>

"Openness is the foundation and preservative of friendship...  Let me 
claim from you at all times your undisguised opinions." - William 
Wilberforce



More information about the Linux-HA mailing list