そういや trackback 送れてないような…
と気がついて、注意して見ていると
CMS=HASH(0x833eb08) substr outside of string at lib/MT/Serialize.pm line 58. MT::App::CMS=HASH(0x833eb08) Use of uninitialized value in unpack at lib/MT/Serialize.pm line 58. MT::App::CMS=HASH(0x833eb08) Use of uninitialized value in substr at lib/MT/Serialize.pm line 59. MT::App::CMS=HASH(0x833eb08) substr outside of string at lib/MT/Serialize.pm line 59. MT::App::CMS=HASH(0x833eb08) Use of uninitialized value in addition (+) at lib/MT/Serialize.pm line 60. MT::App::CMS=HASH(0x833eb08) Use of uninitialized value in concatenation (.) or string at lib/MT/Template/Context.pm line 899.
とか一瞬エラー吐いているのを発見(絶対パス名を一部隠蔽)。
調べてみるとバークレーDBの破損らしい。心当たりは…、いつぞやの wiki 風 plugin だな……。
ちらっと試したらエンコード決めうちで妙な文字列混ぜられて、そのエントリはあわてて消したんだが、 DB には妙なのが入ったってことだろう。
ってんで復旧方法を調べると export しておいて、 db/ 以下を削除して import で書き戻す、とやるらしい。自分で試してみたところでは export した中に含まれるのは blog のエントリ本体・それにつけられたコメント・あるいは打ち込まれた trackback ping の3つのようだ。さらに、カテゴリもこの内容から復旧しているようなので、 db/ から削除したのは entry.* comment.* tbping.* category.* 。 export した奴のエンコードを念のためそろえておいて(俺の場合は euc。ファイル内でエンコードが混在していたくさい)、 import/ に転送して、インポートしてリビルド。
一見直った風だが大丈夫かな?
参考:blog:N@TURE BRAIN: バークレーDB破損
[referer:
The script did not produce proper HTTP headers. Please see the error log to see the detail of the errors. Depending on the server configuration, you can also run thisscript under CGIWrap debugging. Usually, either rename or linkthe script temporarily to a file which ends with .cgidextension, or add a AddHandler cgi-script-debug .cgiline to your .htaccess file.
]