Hi all: Am 01.12.08 21:59 schrieb(en) Albrecht Dreß:
I have a self-compiled nagios 3.0.5 running on a 64-bit Xeon box with Ubuntu 8.04 LTS. Everything went perfectly (including notifications) until I upgraded from 3.0.1 (iirc) to 3.0.5 during a bigger service downtime (inter alia shifting the box into an other network etc).
After adding tons of debug messages, I was finally able to track down the problem. The problem is that I added a german holiday in the form
october 3 00:00-00:00In function (all inbase/utils.c) check_time_against_period(), the start time was calculated by calculate_time_from_day_of_month() as 1222988400 (Fri Oct 3 01:00:00 2008), but the end time as 1222984800 (Fri Oct 3 00:00:00 2008), which is /before/ the start, and therefore the time span was expanded to a whole year, i.e. the end now was Oct 3, 2009...
Looking deeper into function calculate_time_from_day_of_month(), this is apparently caused by a wrong usage of the call to mktime(), as the field tm_isdst is /not/ initialised properly. The observed 1 hour offset seems to come from an earlier call to this function which returned an active dst flag.
According to the IEEE Std 1003.1 [1], the field tm_isdst /is/ used in the time conversion, and should be set to -1 if the dst status is unknown (you may want to write a small test app, setting this flag to -1, 0 or 1 to observe the effect). As mktime() is used frequently in the code without properly initialising this field, this seems to be a systematic bug which can trigger interesting effects in nagios.
Any opinions? Best, Albrecht.[1] <http://www.opengroup.org/onlinepubs/009695399/functions/mktime.html>
pgpdmBcltT0D9.pgp
Description: PGP signature
------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________ Nagios-users mailing list Nagios-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nagios-users ::: Please include Nagios version, plugin version (-v) and OS when reporting any issue. ::: Messages without supporting info will risk being sent to /dev/null