前日の日記

翌日の日記
 
2010年3月 2日(火)

微妙に気になる。

昨日あたりから、プレイステーション3で障害が出ていたらしいですね。(YahooNEWS)

2ちゃんねるが落ちているせいで、あんまり情報が入ってきませんが「薄型以前のPS3本体」で、時間が2000年に戻ったり、エラーが出たりする・・・との事。

で、この記事によると、原因は「うるう年」の誤認。
そして、「GMTで3月1日になったから直りました!」って、「結局対策してません」ってことだよね。

ついでに言っちゃうと、「薄型本体では起きない」というコトは、ファームウェアレベルじゃなくて、本体内部の時計用チップの潜在バグってことだよね。

グレゴリオ暦では、次のようなルールでうるう年を定めます。

・年が4で割り切れる年はうるう年
・ただし、100で割り切れる年は平年
・ただし、400で割り切れる年はうるう年

2010年って、コレの特殊ルールに当てはまるのかな?と思ったら、どれにも当てはまらないんだよね。

そもそも4で割り切れないから、うるう年じゃない・・・ってなるはずなのに、なんで今年だけ誤認したんでしょうかね。

うーん、不思議。

「西暦4桁を元に計算する」っていう感じでは無さそうだね。

元々ある「うるう年はこの年リスト」との照合が上手く行かなくて・・・って感じなんでしょうかね。

PS3の「最大設定年」が100年後までなら、西暦を4桁で保持する必要も無いから、「うるう年リスト」を保持しても、4年に1度として単純に25回だから、大した量じゃないから問題ないのかもしれないけどね。

きっと、面倒な数式で計算するよりは、リストとの照合をした方が処理的に早そうだし。

って、書いていてネットで見つけました。

「2016年がうるう年」という意味で、16進数で「0x10」(16進数で「16」は「10」になる)所を、10進数で書いたのが原因では?と。

で、この理屈で言えば、2016年のうるう年分はどうなるの?となるわけですよ。

あ、でも原因が「ありえない日(2010年2月29日)から、1日遅れとはいえ存在する日(2010年3月1日)になったから解決した」って書いてあるから、2016年分の設定がなかったとしても、
2016年2月29日が2016年3月1日になるだけだから、「ありえない日」は存在しないから、問題ないのかもしれないけどね。


とまぁ、そんな考察をしつつ、多機能ゲーム機ってのも、ある意味で脆弱なんだなぁ・・・と思ったりしましたとさ。

トラックバック

このエントリーのトラックバックURL 

コメント (0)

コメントを投稿

※メールアドレスは管理人にのみ通知され、公開されません。