[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

[MD:7192] 未初期化 Lisp_Object を GCPRO するバグについて



藤井です。

先日、mark_object() で落ちる現象が発見されました。私の環境では前からちょ
くちょく mark_object() で落ちることがあったのですが、原因が掴めないまま
でした。

今回はたまたまエラーになった後に GDB でアタッチしてもある程度の情報が収
集できたのでその原因が分かりました。それは openp():lread.c で未初期化の
Lisp_Object (encoded_fn) を GCPRO していたことが原因でした。rev4031 で
対応しています。

# もちろんこれが今までの mark_object() で落ちる件の全ての原因かどうかま
# では分かりませんが

これって Emacs 側の問題だと思うので、本家にバグレポートを出さないといけ
ないと思うのですが、この手のバグは conservative GC を使っている環境では
再現しないはずなので、再現する環境を整えるだけでもかなり大変だと思われ
ます。どうするのが良いでしょうか?教えていただけると助かります。

--
藤井 正行 / Masayuki FUJII