Bug #5201
closedBug #5076: Mac OS X Lion Support
Ruby 1.9.2p290 [x86_64-darwin11.0.0] Fiber.yieldでSEGV
Description
=begin
ビルド/実行環境はMac OS X Lion (10.7)、Xcode 4.1.1です。
llvm-gccをgccに置き換えるなどの変更は特に行っていません。
処理系はソースコードからconfigure & make & make installしました。
以下のようなコードでSEGVしました。
require 'fiber'
task = Fiber.new do
Fiber.yield 1
Fiber.yield 2
end
puts task.resume
puts task.resume
以下が実行結果です。
1
/Users/h_morita/fiber_bug.rb:4: [BUG] Segmentation fault
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.0.0]
-- control frame ----------
c:0004 p:---- s:0009 b:0009 l:000008 d:000008 CFUNC :yield
c:0003 p:0017 s:0005 b:0005 l:001458 d:000004 BLOCK /Users/h_morita/fiber_bug.rb:4
c:0002 p:---- s:0003 b:0003 l:000002 d:000002 FINISH
c:0001 p:---- s:0001 b:-001 l:000000 d:000000 ------
-- Ruby level backtrace information ----------------------------------------
/Users/h_morita/fiber_bug.rb:4:in block in <main>' /Users/h_morita/fiber_bug.rb:4:in
yield'
-- C level backtrace information -------------------------------------------
[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html
zsh: abort ./bin/ruby ~/fiber_bug.rb
2回目のresumeで、yieldに戻るタイミングあたりでSEGVします。
=end