From: "nobu (Nobuyoshi Nakada)" <nobu@...>
Date: 2013-11-18T22:53:56+09:00
Subject: [ruby-dev:47809]	[ruby-trunk - Bug #9109] extend したモジュールメソッドと RSpec の let で 2 つ同名を使ったときに segmentation fault になる


Issue #9109 has been updated by nobu (Nobuyoshi Nakada).


とりあえずstack overflowでSEGVするのは直ったと思います。
代わりに [BUG] vm_call_cfunc - cfp consistency error が出るようになりましたが、それはまた別件なので。
----------------------------------------
Bug #9109: extend したモジュールメソッドと RSpec の let で 2 つ同名を使ったときに segmentation fault になる
https://bugs.ruby-lang.org/issues/9109#change-42995

Author: sunaot (sunao tanabe)
Status: Closed
Priority: Low
Assignee: 
Category: 
Target version: 
ruby -v: ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin11.4.2]
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN


=begin

以下のコードで segmentation fault を起こします。

 require 'rspec'
 
 module ExtendModule
   def foo
     'foo'
   end
 
   def bar
     'bar'
   end
 end
 
 describe 'foo' do
   extend ExtendModule
   let(:foo) { foo }
   let(:bar) { bar }
   it { foo.should be 'foo' }
   it { bar.should be 'bar' }
 end

実行結果

 $ bundle exec rspec
 FSegmentation fault: 11

RSpec version 2.14.7 (現時点の最新安定板)

期待する挙動

segmentation fault せず SystemStackError となる (同名が 1 つの場合の挙動から推測)

=end


-- 
http://bugs.ruby-lang.org/