Re: [Nagios-devel] NSCA 2.7 not working in single-process mode (bug)
Posted: Mon Jan 29, 2007 9:52 pm
Ton Voon wrote:
>
> On 24 Jan 2007, at 16:36, Rudolf van der Leeden wrote:
>
>> As of NSCA 2.6 up to NSCA CVS the nsca daemon is no longer running
>> successfully in single-process mode (--single option).
>> I discovered this during my recent upgrade to the Nagios 2.7.
>>
>> The symptons have been described in earlier postings:
>> nsca responds to exactly one client request and stops responding
>> (while still running).
>> There is no solution execpt avoiding the --single mode and working
>> with --inetd or --daemon mode instead, or using NSCA 2.5.
>>
>> I checked the source nsca.c and found a workaround:
>> Enable in the function "accept_connection" the following if statement
>> again:
>> /* REMOVED 04/03/2006 EG - already done in
>> wait_for_connections() */
>> /*
>> if(mode==SINGLE_PROCESS_DAEMON)
>> register_read_handler(sock,accept_connection,NULL);
>> */
>> The real problem seems to lie in the way pfds.events is maintained.
>> handle_events() clears it ( pfds.events&=~POLLIN; ) and
>> register_poll() sets it again in NSCA 2.5 because
>> register_read_handler is called which in turn calls register_poll().
>> NSCA 2.7 does not call register_poll() and hence the fd is removed as
>> events=0 (done at the end of handle_events().
>>
>> Could someone familiar with the code please have a look and check
>> the root cause of the problem.
>> I would be willing to work on a patch.
>
> Hi Rudolf,
>
> Yes, we've been hit by this too. We only discovered it yesterday, so
> thank you for mentioning it!
>
> The patch you suggest does appear to work. We've developed some test
> scripts which fail with the current NSCA versions, but pass after
> applying your recommended changes.
>
> Our story is
> here: http://altinity.blogs.com/dotorg/2007/0 ... ance_.html
>
> Ethan, please consider adding the test scripts into the NSCA
> distribution. We'd be happy to help with maintaining it.
>
> Ton
>
> http://www.altinity.com
> T: +44 (0)870 787 9243
> F: +44 (0)845 280 1725
> Skype: tonvoon
>
Thanks for reporting this Rudolf. And thanks Ton for the test scripts -
they work slick! Now I guess I'll have to learn some Perl so I can
understand them.
I'll add the tests to CVS and make a 2.7.1 release shortly.
Ethan Galstad,
Nagios Developer
---
Email: [email protected]
Website: http://www.nagios.org
This post was automatically imported from historical nagios-devel mailing list archives
Original poster: [email protected]
>
> On 24 Jan 2007, at 16:36, Rudolf van der Leeden wrote:
>
>> As of NSCA 2.6 up to NSCA CVS the nsca daemon is no longer running
>> successfully in single-process mode (--single option).
>> I discovered this during my recent upgrade to the Nagios 2.7.
>>
>> The symptons have been described in earlier postings:
>> nsca responds to exactly one client request and stops responding
>> (while still running).
>> There is no solution execpt avoiding the --single mode and working
>> with --inetd or --daemon mode instead, or using NSCA 2.5.
>>
>> I checked the source nsca.c and found a workaround:
>> Enable in the function "accept_connection" the following if statement
>> again:
>> /* REMOVED 04/03/2006 EG - already done in
>> wait_for_connections() */
>> /*
>> if(mode==SINGLE_PROCESS_DAEMON)
>> register_read_handler(sock,accept_connection,NULL);
>> */
>> The real problem seems to lie in the way pfds.events is maintained.
>> handle_events() clears it ( pfds.events&=~POLLIN; ) and
>> register_poll() sets it again in NSCA 2.5 because
>> register_read_handler is called which in turn calls register_poll().
>> NSCA 2.7 does not call register_poll() and hence the fd is removed as
>> events=0 (done at the end of handle_events().
>>
>> Could someone familiar with the code please have a look and check
>> the root cause of the problem.
>> I would be willing to work on a patch.
>
> Hi Rudolf,
>
> Yes, we've been hit by this too. We only discovered it yesterday, so
> thank you for mentioning it!
>
> The patch you suggest does appear to work. We've developed some test
> scripts which fail with the current NSCA versions, but pass after
> applying your recommended changes.
>
> Our story is
> here: http://altinity.blogs.com/dotorg/2007/0 ... ance_.html
>
> Ethan, please consider adding the test scripts into the NSCA
> distribution. We'd be happy to help with maintaining it.
>
> Ton
>
> http://www.altinity.com
> T: +44 (0)870 787 9243
> F: +44 (0)845 280 1725
> Skype: tonvoon
>
Thanks for reporting this Rudolf. And thanks Ton for the test scripts -
they work slick! Now I guess I'll have to learn some Perl so I can
understand them.
I'll add the tests to CVS and make a 2.7.1 release shortly.
Ethan Galstad,
Nagios Developer
---
Email: [email protected]
Website: http://www.nagios.org
This post was automatically imported from historical nagios-devel mailing list archives
Original poster: [email protected]