[ruby-dev:31856] Re: Exception `ArgumentError' at (null):0 - NULL pointer given

From: Yukihiro Matsumoto <matz@...>
Date: 2007-09-25 12:15:51 UTC
List: ruby-dev #31856
まつもと ゆきひろです

In message "Re: [ruby-dev:31849] Exception `ArgumentError' at (null):0 - NULL pointer given"
    on Tue, 25 Sep 2007 02:28:54 +0900, Tanaka Akira <akr@fsij.org> writes:

|以下を実行して ^C で割り込むと、NULL pointer given とか怪し
|げなメッセージが出ます。

rb_longjmp()がrb_sourcefile()がNULLを返したことに対応していな
かったことが"NULL pointer given"の直接の原因です。

しかし、根本的にはset_trace_funcした時にrb_sourcefile()が
NULLを返してしまうことがまずいので、これはこれで対応する必要
がありますね。どうやらRubyスタックがなくなってしまった
error_print()の中でcall_trace_funcが呼ばれるからのようです。

とりあえずfinalizeする時点ではtrace_funcを呼ばないことで対応
しましたが、もしかしたら悪影響があるかもれません。実際、
END{}の中でtrace_funcが呼ばれなくなってますし。

In This Thread

Prev Next