[#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:46963] Re: [ruby-trunk - Bug #7774][Assigned] IFUNC上のbinding呼び出しでSEGV

From: SASADA Koichi <ko1@...>
Date: 2013-02-09 08:14:13 UTC
List: ruby-dev #46963
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 <ko1@atdot.net>
> 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

In This Thread