[#46908] [ruby-trunk - Bug #7774][Assigned] IFUNC上のbinding呼び出しでSEGV — "ktsj (Kazuki Tsujimoto)" <kazuki@...>

16 messages 2013/02/03

[#47075] [ruby-trunk - Bug #7924][Open] r39232 以降 net/http で正しく reponse を取得出来ないケースがある — "hsbt (Hiroshi SHIBATA)" <shibata.hiroshi@...>

15 messages 2013/02/23

[ruby-dev:46966] Re: [ruby-trunk - Bug #7774][Assigned] IFUNC上のbinding呼び出しでSEGV

From: Yusuke Endoh <mame@...>
Date: 2013-02-10 00:36:01 UTC
List: ruby-dev #46966
どの reversion をバックポートするという話?

rc1 からの regression ならまあいいと思いますが、
修正が大きいと後ろ向きになるかも。


2013年2月9日 17:14 SASADA Koichi <[email protected]>:
> SEGV を直すときに,うっかり意図しない非互換が混入されてしまいました,と
> いう理屈で,これは 2_0_0 のほうにバックポートしてもいいでしょうか
> >mame さん
>
>
> Binding はどう取れるべきか,については実はそんなに自明ではないので,今度
> 誰か議論させて下さい.この辺,今は本当に「実装がそうだったから」以外じゃ
> ないような気がしています.
>
>
> (2013/02/09 16:45), Kazuki Tsujimoto wrote:
>> 辻本です
>>
>> Subject: [ruby-dev:46961] Re: [ruby-trunk - Bug #7774][Assigned]  IFUNC上のbinding呼び出しでSEGV
>> From: SASADA Koichi <[email protected]>
>> Date: Sat, 9 Feb 2013 13:12:59 +0900
>>
>>>  とまぁ,こんな感じで,「呼び出し側のフレームを返す」という仕様ではな
>>> かったわけです.
>>>
>>>  もし,以前の挙動に戻すなら,ifuc の binding を作りつつ,ruby-level フ
>>> レームまで遡って,その ruby-level フレームの binding を返す,というのが
>>> 思いつきました.これで解決しそうではあります.
>>
>> 簡単に仕様をまとめるとこんな感じでしょうか。
>>
>> 1.9.3/2.0.0rc1
>>   Rubyメソッド: 最後のruby-levelフレーム(呼び出し側フレームかどうかは無関係)
>>   Cメソッド: 同上
>>
>> 2.0.0rc2
>>   Rubyメソッド: 最後のruby-levelフレーム(呼び出し側フレームかどうかは無関係)
>>   Cメソッド: 最後のruby-levelまたはC-levelフレーム(メソッドの実装による)
>>
>> 戻すにしても、タイミングが問題ですね。
>>
>
>
> --
> // SASADA Koichi at atdot dot net
>



-- 
Yusuke Endoh <[email protected]>

In This Thread