[Nagiosplug-devel] [ nagiosplug-Bugs-1469472 ] check_ping dns lookup problem

SourceForge.net noreply at sourceforge.net
Wed May 9 12:58:15 CEST 2007


Bugs item #1469472, was opened at 2006-04-12 21:42
Message generated for change (Settings changed) made by psychotrahe
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=397597&aid=1469472&group_id=29880

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: General plugin execution
Group: Release (specify)
>Status: Closed
Resolution: None
Priority: 5
Private: No
Submitted By: nsturm (nsturm)
Assigned to: Matthias Eble (psychotrahe)
Summary: check_ping dns lookup problem

Initial Comment:
This is on 1.4.2.

check_ping and maybe other plugins, first set their
SIGARLM timeout and then do an unconditional dns lookup
on the address provided, even if it is an IP.

Besides the dns lookup on the IP address is useless to
the best of my knowledge, it can timeout, which the code
does not handle.

If the dns lookup does time out, fileno(child_process)
in popen_timeout_alarm_handler() will segfault.

A simple workaround, which is BAD BAD BAD, is attached.
The proper solution would be to rewrite this piece of
code (and similar ones on other modules) to correctly
deal with the dns timeout.

----------------------------------------------------------------------

>Comment By: Matthias Eble (psychotrahe)
Date: 2007-05-09 12:58

Message:
Logged In: YES 
user_id=1694341
Originator: NO

Thanks for the quick reply.
closing it..

----------------------------------------------------------------------

Comment By: nsturm (nsturm)
Date: 2007-05-09 12:51

Message:
Logged In: YES 
user_id=1323236
Originator: YES

It looks as if popen_timeout_alarm_handler() and check_ping.c were
rewritten to address these issues. From my point of view, the request
can be closed.

----------------------------------------------------------------------

Comment By: Matthias Eble (psychotrahe)
Date: 2007-05-09 12:18

Message:
Logged In: YES 
user_id=1694341
Originator: NO

Hi all,

i have tried to reproduce this one wich cvs and 1.4.2 version, without
success.
I'm also not shure what you exactly mean, since no dns request is made by
check_ping itself (or at least i couldn't find it; doing so wouldn't make
sense to mee).
Check_ping is a wrapper for the ping command, which should make the dns
requests if needed.
It is likely that the ping command does a reverse lookup in your case,
although this should not happen since ping should have been called with the
-n argument. 

Does the problem persist?
Matthias

----------------------------------------------------------------------

Comment By: Peter Beckman (ooglek)
Date: 2006-08-08 20:25

Message:
Logged In: YES 
user_id=68540

I agree, this isn't right, and it breaks all too often.

+1

----------------------------------------------------------------------

Comment By: Mark Hennessy (atxformfactor)
Date: 2006-07-12 20:56

Message:
Logged In: YES 
user_id=1554526

Why hasn't anyone picked this one up?
I have noticed this issue as well.

I get this message when DNS doesn't work due to a name
server connection issue on the machine performing the Nagios
checks:
popen timeout received, but no child process

All of my host entries are by IP, I don't see why check_ping
should need to look up DNS for IPs at all.  Someone should
at least add a commandline switch or something.  I may just
have to write a perl wrapper for my local system's ping if
nothing is done by anyone about this. :(

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=397597&aid=1469472&group_id=29880




More information about the Devel mailing list