monit-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: SIGSEGV


From: Jan-Henrik Haukeland
Subject: Re: SIGSEGV
Date: 17 Feb 2003 18:04:29 +0100
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Civil Service)

Jan-Henrik Haukeland <address@hidden> writes:

> I still have some problems with reload and SIGSEGV, need to debug more..

It's okay. I manage to test the old version without the bugfix, it
*is* obviously a difference between calling ./monit and monit :-)

Can others tests to see if reload works now? And Christian is right,
if you bombard monit with reload; for instance with:

while true; do monit reload; done

You do get "monit: No daemon process found" in between:

Reinitializing monit daemon
Reinitializing monit daemon
Reinitializing monit daemon
Reinitializing monit daemon
Reinitializing monit daemon
Reinitializing monit daemon
Reinitializing monit daemon
Reinitializing monit daemon
Reinitializing monit daemon
Reinitializing monit daemon
Reinitializing monit daemon
Reinitializing monit daemon
Reinitializing monit daemon
Reinitializing monit daemon
monit: No daemon process found
Reinitializing monit daemon
Reinitializing monit daemon
Reinitializing monit daemon


This is because one of the things do_reinit does is to remove and
create the pidfile again (this is done in case SET PIDFILE was changed
in the monitrc file), and the SIGHUP signal interrupts do_reinit()
after it deleted the file but before it manage recreate the
pidfile. So continuously interrupting the monit daemon with: "monit
reload" will from time to time fail if do_reinit has not yet created
the pidfile again. This is not an error situation because do_reinit
*will* create the pidfile after it recover from the signal interrupt.
And subsequent calls to "monit reload" will work again. 

-- 
Jan-Henrik Haukeland




reply via email to

[Prev in Thread] Current Thread [Next in Thread]