Ruby 2003-03-20 + tDiary 2003-03-19 にバージョンアップしてみた。 あ、いちおう家庭内サーバの Solaris で実験はしましたよ? さすがの俺でもいきなりバージョンを上げるほど無防備じゃないですとも。 そのわりにいきなりプラグインを大量追加したりしてるのは無防備ですが。
まずは tdiary.rb にて sort の例外が発生。 これはこないだなんかやってたな。 compact を入れまくって逃げを打つ。
ぐおっ、ハングした。 ps ax で見ると、ruby プロセスがずっと残ってしまっている。 どうやら DATADIR/2003/200303.td2 が壊れてた模様。 末尾に変なのが付いてた。なんかヤバい感じだなー。大丈夫だろうか。
しかも化けてるし。やっぱりいきなりメールで更新するのはよくなかったな。 まずは CGI で更新してみよう。
文字化けの原因は [ruby-dev:19864] に書いた sprintf だった。 URL エンコードで sprintf を使っているために \n が %FA になり、 デコードすると化け化けになるという理屈。やっぱりいきなり HEAD は危ないね。
違ったよ〜。compact を全部消しても変わんない。 そもそもエラーになってたのはデータベースが壊れてたのが原因で、 compact は必要なかったようだ。
うー、ちゃんと読まなきゃだめか?
あー、違う。やっぱり compact は必要だった (別のところで)。 00default.rb:117 の sort! で落ちる。これで 12 月も日毎は見られるようになった。
しかしまだ 2002 年 12 月が見られない。どうしてなんだ……。 12 月ということは何か時差が関係してるのだろうか。
関係ないどころじゃないよ……。sort でエラーが起きて それが偶然 rescue されてて TDiaryError に変換されて それが latest にフォールバックされてたのが原因だった。 とりあえず全部
@diaries.keys.sort → @diaries.keys.compact.sort
で解決。
Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved.