Скрипт Perl не может обработать дату с 1 января 2025 г.Linux

Ответить Пред. темаСлед. тема
Anonymous
 Скрипт Perl не может обработать дату с 1 января 2025 г.

Сообщение Anonymous »

У меня есть сценарий Perl на сервере Nagios, проверяющий состояние iLO удаленных серверов. Все работало нормально с 2015 года; однако с полуночи 1 января 2025 года происходит сбой со следующей ошибкой:

Код: Выделить всё

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 1.4.15
  • check_ilo2_health
Как я я не знаком с Perl, мне непонятно, почему он должен завершиться ошибкой в ​​строке 7 в Date.pm

Код: Выделить всё

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);
Я понимаю, что компоненты устарели, но описанное выше решение работало уже 10 лет.
Была ли какая-то конкретная проблема с Perl 5.8. 8? Может ли кто-нибудь подсказать, как это отладить?

Подробнее здесь: https://stackoverflow.com/questions/793 ... nuary-2025
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»