[#39548] [Bug #2291] Net::FTPでソケットをオープンする前にbinary=を呼び出すと落ちる — Akira Matsuda <redmine@...>

Bug #2291: Net::FTPでソケットをオープンする前にbinary=を呼び出すと落ちる

10 messages 2009/10/27

[#39592] infinite recursive call to C function — Yusuke ENDOH <mame@...>

遠藤です。

17 messages 2009/10/30
[#39596] Re: infinite recursive call to C function — Yukihiro Matsumoto <matz@...> 2009/10/30

まつもと ゆきひろです

[#39599] Re: infinite recursive call to C function — Nobuyoshi Nakada <nobu@...> 2009/11/02

なかだです。

[#39601] Re: infinite recursive call to C function — Yukihiro Matsumoto <matz@...> 2009/11/02

まつもと ゆきひろです

[ruby-dev:39494] Re: [BUG: trunk] GC mark bug

From: Yusuke ENDOH <mame@...>
Date: 2009-10-16 13:04:41 UTC
List: ruby-dev #39494
遠藤です。

2009年10月16日21:05 wanabe <s.wanabe@gmail.com>:
> だとすると、もしかして例えば以下のようにすると落ちなくなったりしないでしょうか。

確かに落ちなくなることを確認しました。

unpack 中の st_table を st_foreach した場合、内容物の列挙漏れが発生
する、というバグってことですね。
内容物は一時的にスタックに載っているので、今までは conservative GC
によって mark 漏れは防がれていましたが、r24128 でメソッドテーブルの
内容物が (GC 管理対象である) NODE から (GC 管理対象外の) rb_method_
entry_t に変わったため mark 漏れが発症するようになった、と理解しま
した。
裏づけとして、この問題は r24128 から発症するようになっています。

そういうわけで、このパッチに賛成です。

-- 
Yusuke ENDOH <mame@tsg.ne.jp>

In This Thread