症状
先日まで問題なかったのに突然 "wrong-type-argument arrayp nil" とエラーメッセージがでて inboxにある新着メールを読み込まなくなってしまった。
環境
- Ubunt 12.04 LTS
- emacs 23.3.1
- Wanderlust (Ubuntuの wl-betaパッケージ バージョン 2.15.9+0.20120101-1)
原因
あるメールのパーシングでエラーが発生したため。
対処方法
当該メールを inbox から削除した。
debug-on-error を t にしてバックトレースを行って当該ファイルを探しだし、削除した。
- emacs を起動する。
- wl を起動する(M-x wl)
- M-x set-variable と入力し、Enterキー、debug-on-errorと入力しEnterキー、そして値 を t にして、Enterキー。
- 読み込めないフォルダーを開く(私の場合はinbox)
すると以下のようなバックトレースが表示される。
Debugger entered--Lisp error: (wrong-type-argument arrayp nil) std11-wrap-as-quoted-pairs(nil (34 92 13 10)) ad-Orig-std11-wrap-as-quoted-string(nil) std11-wrap-as-quoted-string("") eword-decode-token((quoted-string . "")) eword-decode-and-unfold-structured-field-body("\"\" <hogehoge@hogehoge.co.jp>" 3 nil) mime-decode-field-body("\"\" <hogehoge@hogehoge.co.jp>" "to" summary) #[(field-body) ... 略 mapconcat(#[(field-body) ... 略 #[(handler number args) ... 略 apply(#[(handler number args) ... 略 luna-call-next-method() luna-apply-generic(... 略 ....) elmo-msgdb-create-message-entity-from-buffer([modb-standard-entity-handler [0 0 0 0 0 0 0] x-ctext] 45245 :size 25997 :date "19 Mar 2015 13:09:56 +0900") 以下、略。
今回の場合、elmo-msgdb-create-message-entity-from-buffer のところで、ピックアップされているメール(ファイル名 inbox/45245 )が原因だった(To欄が 「""
% cd ~/Mail/inbox % cp -p 45245 ~/ % rm 45245
あとは、これで無事にファイルを読み込めた。ちなみに上記メールは International Journal of Scientific Researchというところからの論文募集メールだった。
この作業の参考にしたのは 2ch: Wanderlust その 4の以下の書き込み。
950 :名無しさん@お腹いっぱい。:2005/04/12(火) 11:18:16 CVS の Wanderlust で,1000 通以上のメールがある IMAP フォルダを表示しようとすると, error in process filter: ad-Orig-std11-wrap-as-quoted-string: Wrong type argument: arrayp, nil error in process filter: Wrong type argument: arrayp, nil というエラーが 10 個以上でてそれ以上操作ができなくなってしまいます. 試しに,.elmo を消したりもしてみましたが症状変わりません. どなたかアドバイスお願いします.
951 :950:2005/04/12(火) 13:09:54 いろいろ調べて見たところ、特定のメール(Spam)によってエラーが発生してい ることが分かりました。 その時のバックトレースです。 Debugger entered--Lisp error: (wrong-type-argument arrayp nil) std11-wrap-as-quoted-pairs(nil (34 92 13 10)) ad-Orig-std11-wrap-as-quoted-string(nil) std11-wrap-as-quoted-string("") eword-decode-token((quoted-string . "")) eword-decode-and-unfold-structured-field-body("\"\" <foo@bar.baz.or.jp>" 3 nil) mime-decode-field-body("\"\" <foo@bar.baz.or.jp>" "to" summary) #[(field-body) "\301^H\302\303#\207" [field-body mime-decode-field-body "to" summary] 4]("\"\" <foo@bar.baz.or.jp>") mapconcat(#[(field-body) "\301^H\302\303#\207" [field-body mime-decode-field-body "to" summary] 4] ("\"\" <foo@bar.baz.or.jp>") ",") #[(handler number args) "^H\306\211\211^Y^Z^[^X\212\307\f!\210\310\311\312\"\211^R\2039^@\313\n!\314^]^Z\315^M\nAA\"A*\211^Q\2039^@\316 !\211$ apply(#[(handler number args) "^H\306\211\211^Y^Z^[^X\212\307\f!\210\310\311\312\"\211^R\2039^@\313\n!\314^]^Z\315^M\nAA\"A*\211^Q\2039^@\316 !$ luna-call-next-method() luna-apply-generic([modb-standard-entity-handler [0 0 0 0 0 0 0] iso-2022-jp] elmo-msgdb-create-message-entity-from-buffer [modb-standard-entit$ elmo-msgdb-create-message-entity-from-buffer([modb-standard-entity-handler [0 0 0 0 0 0 0] iso-2022-jp] 62004 :size 1885) elmo-imap4-fetch-callback-1(((flags ("\\Seen")) (rfc822size 1885) (bodydetail "HEADER.FIELDS SUBJECT FROM TO CC DATE MESSAGE-ID REFERENCES IN-R$ elmo-imap4-parse-fetch(450) elmo-imap4-parse-response()
953 :hmurata:2005/04/12(火) 14:18:20 >>951 std11-wrap-as-quoted-string に defadvice されている様ですが, 其処でエラー になっています. 設定を見直してみて下さい.