Das Perl-Skript kann das Datum seit dem 1. Januar 2025 nicht verarbeiten
Posted: 03 Jan 2025, 15:55
Ich habe ein Perl-Skript auf dem Nagios-Server, das den iLO-Status von Remote-Servern überprüft. Es hat seit 2015 gut funktioniert; Seit dem 1. Januar 2025 um Mitternacht stürzt es jedoch mit der folgenden Fehlermeldung ab:
?
Ich verstehe, dass Komponenten veraltet sind, aber diese oben beschriebene Lösung hat bisher 10 Jahre lang funktioniert.
Gab es ein bestimmtes Problem mit Perl 5.8? 8? Kann jemand vorschlagen, wie man das debuggt?
Code: Select all
Day too big - 38351 > 24855
Sec too small - 38351 < 74752
Sec too big - 38351 > 11647
Cannot handle date (0, 0, 0, 1, 0, 2075) at /usr/lib/perl5/site_perl/5.8.8/Math/Calc/Units/Convert/Date.pm line 7
Compilation failed in require at /usr/lib/perl5/site_perl/5.8.8/Math/Calc/Units/Convert/Multi.pm line 12.
Compilation failed in require at /usr/lib/perl5/site_perl/5.8.8/Math/Calc/Units/Convert.pm line 7.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.8/Math/Calc/Units/Convert.pm line 7.
Compilation failed in require at /usr/lib/perl5/site_perl/5.8.8/Math/Calc/Units/Compute.pm line 10.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.8/Math/Calc/Units/Compute.pm line 10.
Compilation failed in require at /usr/lib/perl5/site_perl/5.8.8/Math/Calc/Units.pm line 3.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.8/Math/Calc/Units.pm line 3.
Compilation failed in require at /usr/lib/perl5/5.8.8/Monitoring/Plugin/Functions.pm line 12.
BEGIN failed--compilation aborted at /usr/lib/perl5/5.8.8/Monitoring/Plugin/Functions.pm line 12.
Compilation failed in require at /usr/lib/perl5/5.8.8/Monitoring/Plugin.pm line 3.
BEGIN failed--compilation aborted at /usr/lib/perl5/5.8.8/Monitoring/Plugin.pm line 3.
Compilation failed in require at ./check_ilo2_health.pl line 143.
BEGIN failed--compilation aborted at ./check_ilo2_health.pl line 143.
- RHEL 6.4
- Perl 5.8.8
- Nagios 3.3.1
- Nagios Plugins 1.4.15
- check_ilo2_health
?
Code: Select all
package Math::Calc::Units::Convert::Date;
use base 'Math::Calc::Units::Convert::Base';
use Time::Local qw(timegm);
use strict;
use vars qw(%units %pref %ranges %total_unit_map);
my $min_nice_time = timegm(0, 0, 0, 1, 0, 1975-1900);
my $max_nice_time = timegm(0, 0, 0, 1, 0, 2030-1900);
Gab es ein bestimmtes Problem mit Perl 5.8? 8? Kann jemand vorschlagen, wie man das debuggt?