<p dir="ltr">Hi, </p>
<p dir="ltr">Without having access to a computer, I'd venture a guess that time_t is too small on centos 5. You might want to compare it to your Debian installation.</p>
<p dir="ltr">I think this is more likely to be a problem with "old glibc" than a problem with your cpu architecture. </p>
<p dir="ltr">Best regards, <br>
Anton </p>
<div class="gmail_quote">On 4 Apr 2013 18:55, "Ton Voon" <<a href="mailto:ton.voon@opsview.com">ton.voon@opsview.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi!<br>
<br>
We've come across a problem in an upgrade of Nagios 3 to Nagios 4 which we can't work out where the fix is. It occurs when an event is scheduled in the future beyond 2038.<br>
<br>
Recreation steps:<br>
  * Set a downtime on a service to end next day<br>
  * Stop Nagios<br>
  * Edit the retention.dat so that the end_date=4514791088 (some other values seem to work)<br>
  * Start Nagios<br>
<br>
When Nagios starts, it will not run any scheduled events in the events queue.<br>
<br>
This fails on CentOS 5 64bit, though appears to work on Debian Squeeze 32bit, so it maybe a 64 bit only issue.<br>
<br>
We think this is an issue when the event is scheduled via squeue_add(). We've managed to get the test-squeue to fail by changing the time value to be greater than 2038 with the following:<br>
<br>
Index: test-squeue.c<br>
===================================================================<br>
--- test-squeue.c       (revision 2716)<br>
+++ test-squeue.c       (working copy)<br>
@@ -116,7 +116,7 @@<br>
        sq_test_random(sq);<br>
        t(squeue_size(sq) == 0, "Size should be 0 after first sq_test_random");<br>
<br>
-       t((a.evt = squeue_add(sq, time(NULL) + 9, &a)) != NULL);<br>
+       t((a.evt = squeue_add(sq, time(NULL)*2, &a)) != NULL);<br>
        t(squeue_size(sq) == 1);<br>
        t((b.evt = squeue_add(sq, time(NULL) + 3, &b)) != NULL);<br>
        t(squeue_size(sq) == 2);<br>
<br>
This gives the test result of:<br>
<br>
### squeue tests<br>
  FAIL max <= *d @test-squeue.c:86<br>
  FAIL x == &b @test-squeue.c:133<br>
  FAIL x->id == <a href="http://b.id" target="_blank">b.id</a> @test-squeue.c:134<br>
  FAIL x == &c @test-squeue.c:141<br>
about to fail pretty fucking hard...<br>
ea: 0xbfe065e0; &b: 0xbfe065d8; &c: 0xbfe065d0; ed: 0xbfe065c8; x: 0xbfde9b80<br>
  FAIL x == &b @test-squeue.c:152<br>
  FAIL x->id == <a href="http://b.id" target="_blank">b.id</a> @test-squeue.c:153<br>
  FAIL x == &b @test-squeue.c:160<br>
  FAIL x->id == <a href="http://b.id" target="_blank">b.id</a> @test-squeue.c:161<br>
  FAIL x == &c @test-squeue.c:166<br>
  FAIL x->id == <a href="http://c.id" target="_blank">c.id</a> @test-squeue.c:167<br>
Test results: 390637 passed, 10 failed<br>
<br>
Changing to a factor of 1.1 instead of 2 passes:<br>
<br>
### squeue tests<br>
Test results: 390647 passed, 0 failed<br>
<br>
This worked in Nagios 3, so we're guessing that the change to use the squeue library for events is probably where this limitation has come in.<br>
<br>
Any thoughts?<br>
<br>
Ton<br>
<br>
<br>
------------------------------------------------------------------------------<br>
Minimize network downtime and maximize team effectiveness.<br>
Reduce network management and security costs.Learn how to hire<br>
the most talented Cisco Certified professionals. Visit the<br>
Employer Resources Portal<br>
<a href="http://www.cisco.com/web/learning/employer_resources/index.html" target="_blank">http://www.cisco.com/web/learning/employer_resources/index.html</a><br>
_______________________________________________<br>
Nagios-devel mailing list<br>
<a href="mailto:Nagios-devel@lists.sourceforge.net">Nagios-devel@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/nagios-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/nagios-devel</a><br>
</blockquote></div>