Das Perl-Skript kann das Datum seit dem 1. Januar 2025 nicht verarbeitenLinux

Linux verstehen
Guest
 Das Perl-Skript kann das Datum seit dem 1. Januar 2025 nicht verarbeiten

Post by Guest »

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:

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
Wie ich' Ich kenne mich mit Perl nicht aus, es ist nicht klar Warum sollte es für mich in Zeile 7 in Date.pm fehlschlagen
?

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);
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?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post