Issue #5201 has been updated by Motohiro KOSAKI.

Parent task set to #5076


----------------------------------------
Bug #5201: Ruby 1.9.2p290 [x86_64-darwin11.0.0] Fiber.yieldでSEGV
http://redmine.ruby-lang.org/issues/5201

Author: Hideyuki MORITA
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.0.0] 


=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



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