Windows Meに2001年9月9日問題 4
ストーリー by Oliver
32bit-signed-intがあふれるまで後13370日 部門より
32bit-signed-intがあふれるまで後13370日 部門より
patagon 曰く,"マイクロソフト社の文書番号:JP290700によると、Windows Me に2001年9月9日問題があるようです。Subjectは「2001 年 9 月 8 日よりも後の復元ポイントが利用できない」。現象は「Windows Meで、2001年9月8日よりも後に作成された復元ポイントを選択してコンピュータを以前の状態に復元しようとすると、コンピュータの再起動後、復元手順が実行されない」とのこと。解決方法として「修正ファイルを用意していますが、完全な遡行テストを行っていませんので、問題が発生したシステムにのみ適用してください。」だそうです。問題が発生してから対応しろというのも凄いですね。"
2001年9月9日午前1時46分40秒(世界標準時)といえば、epoch (1970/1/1 0:00)からの秒数が10ケタになる瞬間。UNIX固有の問題)だと思われていたが、Windowsがやられてしまった。他にも9ケタしか考慮してないソフトがOSに関係なく、かなりありそうだ。
2001年9月9日問題って (スコア:2)
時刻をGMT/UTC 1970年1月1日午前0時00分00秒からの経過秒として扱っているOS/ソフトウェアなら起こりうる問題ですよね.
この問題,個人的には,10進表記で10桁だから,と思って
char a[11];
とすべきところを
char a[10];
とうっかり書いちゃったというのが原因ではないかと思うんですが違うかな? 初心者にありがちな,最後の'\0'の分を忘れただけ,というオチ.
Re:2001年9月9日問題って (スコア:1)
> 時刻をGMT/UTC 1970年1月1日午前0時00分00秒からの経過秒として扱っているOS/ソフトウェア
> なら起こりうる問題ですよね.
たしかにそうですね.でもUNIX系以外で,
2001/09/09問題というのは聞いたことがないです.
> この問題,個人的には,10進表記で10桁だから,と思って
> char a[11];
> とすべきところを
> char a[10];
> とうっかり書いちゃったというのが原因ではないかと思うんですが違うかな? 初心者にありが
> ちな,最後の'\0'の分を忘れただけ,というオチ.
少し違うと思います.いままで9桁で足りていたので,
必要最小限の桁数を割当てていて,いつオーバーフロー
するかを気づかなかったためだと思います.
というか・・・ (スコア:1)
復元ポイントに戻そうとしたが、まともに機能した
ことがないんですが( ̄∇ ̄;
まぁ、システムがおかしくなったのって2度とも
ビデオドライバーを入れ替えようとしたときだから
ビデオドライバー側に問題があったのかもしれないけど。
Re:というか・・・ (スコア:1)
--- akirax ★☆☆