Movable Typeでエラー発生箇所を特定する方法

Movable Typeでエラー発生箇所を特定する方法

Posted at June 11,2011 1:55 AM
Tag:[MovableType, TroubleShooting]

Movable Typeでエラー発生箇所を特定する方法です。

Movable Type 5.0xで作っていたプラグインをMT5.1に移植したところ、新たに作成したロールを使って権限を与えたユーザーがウェブページの再構築を行ったところ、以下のエラーが発生するようになりました(この問題は5.11で解消されたバグと同件と思われます)。

エラーの詳細はシステムログにも出ていなかったのですが、システム管理画面のデバグモード(通常時は0)を「2」にすることで詳細が表示されます。

このように表示されます。

デバグモードの数字は次のとおりです(公式ドキュメントのDebugModeより抜粋)。

  • 1:デバッグメッセージを表示する
  • 2:スタックトレースメッセージ
  • 8:構築に 1/4 秒以上かかったテンプレートのレポート
  • 128:アップレベルのリクエスト/レスポンス情報の標準エラーへの出力

今回はプラグイン開発時のエラーだったので、コア機能の不具合かプラグインの実装誤りかという判断が伴いますが、コア機能の不具合が確実な場合は、このように詳細情報を取得してからMTQのフォーラムFogbugzに報告すると良いかもしれません。

関連記事
トラックバックURL


コメント

 いつも困った時の yujiroさんで申し訳ないのですが、突然のエラーに泣いています。
 設定を変更したとか、新しい何かを入れたという覚えはないのですが、コメントの際にいつものように受け付けてはくれず、エラーメッセージが表示されます。表示はされるのですが、コメントそのものは受け容れてくれています。

 このままではコメントを書いて下さる方に申し訳ないので、私なりにジタバタしました。再構築してみると、カテゴリ別ブログ記事の部分に何かひっかかるものがあるようです。エラーメッセージは「Can't call method "id" on an undefined value 」というもので、「閉じる」と「戻る」の間の「テンプレートの編集」をクリックすると「カテゴリ別ブログ記事リスト」の編集画面になりますが、どこが悪いのかさっぱり分かりません。「カテゴリ別ブログ記事」テンプレートは(ご覧いただけるように)http://www.michiko-oota.com/mt/souko/cat-iihi.txt に「アップロードしてありますが、InternetExploreではきちんと表示されないようです。Google Chromeでしたら、ちゃんと表示されました。もしも何かお判りになりましたら、助けて下さい。

[1] Posted by Michiko : June 24, 2011 8:06 AM

 不具合は不具合を呼ぶ、と言うこともありそうで、普通にエントリーを書いても時々同じようなエラーが出るようになってしまいました。思い切って、バージョンアップに踏み切ろうかという気持ちもあります。バックアップがとれる内にバックアップを取り、バージョンアップが出来たらエラーから脱出出来るだろうか、というのは一つの賭けではあるのですが。
 どう思われますか? ←そう聞かれても・・・と言われそうですが(^_^;。

[2] Posted by Michiko : June 29, 2011 7:13 AM

>Michikoさん
こんばんは。
ご質問の件ですが当方では原因不明です。
ただ、「Can't call method "id" on an undefined value」はPerlの処理で発生するエラーで、テンプレートタグでID(ブログ記事IDとかカテゴリIDなど)を取得しようとするところでエラーになっているようです。

「カテゴリ別ブログ記事リスト」の中にはそのようなテンプレートタグは見当たらないので、「ブログ記事の概要」テンプレートモジュールのところでひっかかっているかもしれません。

可能であれば「カテゴリ別ブログ記事リスト」テンプレートの以下の部分を削除して保存し、テストコメントなど行ってみてください。

<$mt:Include module="ブログ記事の概要"$>

コメントが正常に行えるようであればその中のどこかに問題箇所があると思います(それが分かっても解決にならないかもしれませんが)。逆に状況が変わらないようであれば、他の部分に問題があるということになります。

それではよろしくお願い致します。

[3] Posted by yujiro logo : June 29, 2011 10:08 PM

 yujiroさん、ご多忙中にもかかわらず親身のアドバイスありがとうございました。
 元はといえば、コメントを投稿した際にエラーが出て、いつもの「本文に戻る」画面が表示されなくなったのが、今回の一連のトラブルの始まりでした。
 ところが、今朝、私のブログにコメントを書いてくださった方がいらしたので、私もそのコメントに返信したところ、何事もなかったように、いつもの正常な反応でコメントを受け付けてくれました。
 それで試しにブログを再構築(すべて)したところ、こちらもすんなり再構築できました。何の対処もしていなかったのに。
 カテゴリーアーカイブの再構築の辺りでエラーに阻まれることを覚悟してたのに、あっけなく通り過ぎてしまいました。
 「あれはなんだったの?」状態です。せっかくアドバイスくださったのに、そのアドバイス通りを確かめてみるのも今は怖いので、このままそっとしておくことをお許しください。
 もしかしたら、また同様のトラブルやエラーに見舞われる可能性も小さくはないと思っていますが、今のところは「直った」と思ってもいいのかなぁ・・・というのはあまりに能天気すぎますか?
 お騒がせして申し訳ありませんでしたが、当面、様子をみてみたいと思います。ありがとうございました。

[4] Posted by Michiko : June 30, 2011 7:56 AM

>Michikoさん
こんばんは。
ご連絡ありがとうございました。
とりあえず解消したようでなによりです。
ではでは!

[5] Posted by yujiro logo : July 1, 2011 12:29 AM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)