perlのTime::Localモジュールがいつのまにかバージョンダウン、原因はyumの自動更新

2011/06/24

先日、コミックダッシュ!の一部のプログラムが不具合で動かなくなっていたのを
見つけて調査をしていたのですが、原因はこんなところにありました。
 

Day too big - 29220 > 24855
Cannot handle date (0, 0, 0, 01, 0, 2050) at xxxxx.pl line xxx

 
Time::Local のモジュールが2050年という数字を喰わされてエラーを
吐いています。Time::Localのモジュールには 「2039年問題」 という、
一部の古いバージョンでは処理ができないという問題がありました。
 
しかし、これは前々から分かっていた問題で、そもそもサーバ環境構築の際に
早々に気づいてTime::Localのバージョンを新しくしておいた筈なのですが・・・。

 

use vars qw( $VERSION @ISA @EXPORT @EXPORT_OK );
$VERSION = '1.11';
$VERSION = eval $VERSION;

 
現存している.pmファイルを見るとやはり 1.11に戻って います。
 
何かイヤな予感がして、yumの自動アップデートログを追ってみると、
perl本体のアップデート が発生していました。
 

perl x86_64 4:5.8.8-32.el5_6.3 updates 12 M
 
■Twitter / @hikarine3 Hajime Kurita(栗田創)
http://twitter.com/#!/hikarine3/status/3525740968546304
今更ながらyumのperlアップデートでTime::Localのバージョン下げ起きてしまってた事分かり修正。Time::Localは標準モジュールだけどバージョンアップが必須 http://j.mp/ddGxfj Encodeもだけどおかげでperlにyum update使えない
 
まさにこれですね・・・こんな盲点があろうとは。
 
perlの標準モジュールに含まれているものは、自前でアップデートをしても、
次の自動アップデートのときに 古いものに上書きされて しまう危険性がある、
というワケです。これにはちょっと頭を抱えました。
 
とりあえず、
 

perl -e 'use Time::Local;print $Time::Local::VERSION."\n";'
1.2000

 
Time::Localのバージョンは再び上げておいたのですが、これだけではまた
上書きされてしまう可能性がありますので、別のlibディレクトリ を作っておいて、
プログラムからは優先的にそちらを読ませるように設定しておきました。
そのかわり今度は逆に、perl本体の標準モジュールに含まれるTime::Localが
本当にバージョンアップしたらそれに気づかない可能性も出てきてしまうわけですが・・・。
 
yumで自動アップデートを掛けているとこういうことが起こりえるということで、
今回は良い教訓になりました。とはいえ、自動アップデートを掛けるリスクと
掛けないリスクを天秤に掛ければ、やらないという選択肢はありえないわけで、
今後もこうした問題とは上手くつきあっていかなければならなくなりそうです。。。


2011/06/24 [updated : 2011/06/29 00:43]


この記事を書いたのは・・・。
CK@デジモノに埋もれる日々 @ckom
ブログ「デジモノに埋もれる日々」「アニメレーダー」「コミックダッシュ!」管理人。デジモノ、アニメ、ゲーム等の雑多な情報をツイートします。




« あまとも通信 - TranscendのIDE接続 128GB SSDが値下がり

トップに戻る

BRAVIAに「ニコニコ実況」アプリ登場、torneのtwitter連携より臨場感アリ?! »


▼ はてなブックマークのコメント ▼

Donca 2011/06/29
✔ perlのTime::Localモジュールがいつのまにかバージョンダウン、原因はyumの自動更新
はてなブックマークで
コメントしましょう


「Aqours 6th LoveLive! ~KU-RU-KU-RU Rock 'n' Roll TOUR~ 東京 WINDY STAGE」in 東京ドーム Day1/Day2に行ってきました


「グッドスマイルミーティング 2022 Vol.4」 悔しい悔しいRd.3鈴鹿の振り返りとRd.4富士展望です。


バンドリ!野外ライブ2DAYS「Mythology Chapter.2」「OVERKILL」in 富士急コニファーフォレストに行ってきました。


祝・劇場公開1周年「劇場版 少女☆歌劇レヴュースタァライト」生コメンタリー上映会 in 池袋Hall Mixaに行ってきました。


「ヤマノススメ サードシーズン振り返り上映会」第1部 in イオンシネマ板橋に行ってきました。


「少女☆歌劇レヴュースタァライト Re:LIVE Reading Theatre 『田中ゆゆ子の古典落語劇場』」in 飛行船シアターに行ってきました。


連投メモ:作品を「主観」で評価するときに意識する "向こう岸" のこと


プロメア3周年!HUB秋葉原店コラボで「インフェルノヴォルケーノマルゲリータメガマックス」ピザ、チネチッタで滅殺開墾ハードコア上映


映画「バブル」Dolby CINEMA in 丸の内ピカデリーにいってきました。


「グッドスマイルミーティング 2022 Vol.3」 大波乱のRd.2富士の振り返りとRd.3鈴鹿展望です。


「少女☆歌劇レヴュースタァライト -The LIVE-#2 revival 舞台挨拶付き上映会」in 池袋Hall Mixaに行ってきました。


「ガールズ&パンツァー 最終章~西住流VS島田流 カフェでもご奉仕対決!!~」in キュアメイドカフェに行ってきました。

ピックアップタグ




ブログ内検索



▼ コメント ▼

ご自由にコメントください(=゜ω゜)ノ
※管理人は多忙のためお返事はほとんどできません(スミマセン)。
スパムおよび本文と無関係なコメントは削除対象になる可能性があります。


保存しますか?




★コミックダッシュ! 10,000人突破ありがとうキャンペーン!(9/18~10/23)
 
デジモノに埋もれる日々 : (C) CKWorks