[ruby-dev:47806] [ruby-trunk - Bug #9109] extend したモジュールメソッドと RSpec の let で 2 つ同名を使ったときに segmentation fault になる
From:
"nobu (Nobuyoshi Nakada)" <nobu@...>
Date:
2013-11-14 07:07:27 UTC
List:
ruby-dev #47806
Issue #9109 has been updated by nobu (Nobuyoshi Nakada).
_th.tagをセットした後、EXEC_TAG()中のsetjmp()の中でスタックオーバーフローしているようですね。
これはどうしたものかなぁ。
----------------------------------------
Bug #9109: extend したモジュールメソッドと RSpec の let で 2 つ同名を使ったときに segmentation fault になる
https://bugs.ruby-lang.org/issues/9109#change-42926
Author: sunaot (sunao tanabe)
Status: Open
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/