From: Christopher Bottaro Date: 2011-08-23T15:25:22+09:00 Subject: [ruby-core:39054] [Backport92 - Backport #4945] Segfault on Fiber#resume on Mac OS X 10.6.8 Issue #4945 has been updated by Christopher Bottaro. I built Ruby-1.9.2-p290 patched with this commit: https://github.com/ruby/ruby/commit/be953b4d1ce3f0dfc7f24c84ec7a51e027102557 and now I get the following: =begin $ bundle exec rake test rake/rdoctask is deprecated. Use rdoc/task instead (in RDoc 2.4.2+) /Users/cjbottaro/.rbenv/versions/1.9.2-p290/bin/ruby -I"lib:lib:test" -I"/Users/cjbottaro/Dropbox/Projects/fiber_storm/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2/lib" "/Users/cjbottaro/Dropbox/Projects/fiber_storm/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2/lib/rake/rake_test_loader.rb" "test/**/test_*.rb" Run options: --seed 50218 # Running tests: ..../Users/cjbottaro/Dropbox/Projects/fiber_storm/vendor/bundle/ruby/1.9.1/gems/minitest-2.5.0/lib/minitest/unit.rb:764: [BUG] cfp consistency error - send ruby 1.9.2p290 (2011-07-09) [x86_64-darwin11.1.0] -- control frame ---------- c:0012 p:---- s:0044 b:0044 l:000043 d:000043 CFUNC :map c:0011 p:0012 s:0041 b:0041 l:000040 d:000040 METHOD /Users/cjbottaro/Dropbox/Projects/fiber_storm/vendor/bundle/ruby/1.9.1/gems/minitest-2.5.0/lib/minitest/unit.rb:764 c:0010 p:0189 s:0036 b:0036 l:000035 d:000035 METHOD /Users/cjbottaro/Dropbox/Projects/fiber_storm/vendor/bundle/ruby/1.9.1/gems/minitest-2.5.0/lib/minitest/unit.rb:740 c:0009 p:0013 s:0026 b:0026 l:000025 d:000025 METHOD /Users/cjbottaro/Dropbox/Projects/fiber_storm/vendor/bundle/ruby/1.9.1/gems/minitest-2.5.0/lib/minitest/unit.rb:903 c:0008 p:0012 s:0023 b:0023 l:000014 d:000022 BLOCK /Users/cjbottaro/Dropbox/Projects/fiber_storm/vendor/bundle/ruby/1.9.1/gems/minitest-2.5.0/lib/minitest/unit.rb:890 c:0007 p:---- s:0020 b:0020 l:000019 d:000019 FINISH c:0006 p:---- s:0018 b:0018 l:000017 d:000017 CFUNC :each c:0005 p:0068 s:0015 b:0015 l:000014 d:000014 METHOD /Users/cjbottaro/Dropbox/Projects/fiber_storm/vendor/bundle/ruby/1.9.1/gems/minitest-2.5.0/lib/minitest/unit.rb:889 c:0004 p:0029 s:0011 b:0011 l:000010 d:000010 METHOD /Users/cjbottaro/Dropbox/Projects/fiber_storm/vendor/bundle/ruby/1.9.1/gems/minitest-2.5.0/lib/minitest/unit.rb:878 c:0003 p:0057 s:0007 b:0007 l:0019e8 d:001e80 BLOCK /Users/cjbottaro/Dropbox/Projects/fiber_storm/vendor/bundle/ruby/1.9.1/gems/minitest-2.5.0/lib/minitest/unit.rb:658 c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH c:0001 p:0000 s:0002 b:0002 l:001bb8 d:001bb8 TOP --------------------------- -- Ruby level backtrace information ---------------------------------------- /Users/cjbottaro/Dropbox/Projects/fiber_storm/vendor/bundle/ruby/1.9.1/gems/minitest-2.5.0/lib/minitest/unit.rb:658:in `block in autorun' /Users/cjbottaro/Dropbox/Projects/fiber_storm/vendor/bundle/ruby/1.9.1/gems/minitest-2.5.0/lib/minitest/unit.rb:878:in `run' /Users/cjbottaro/Dropbox/Projects/fiber_storm/vendor/bundle/ruby/1.9.1/gems/minitest-2.5.0/lib/minitest/unit.rb:889:in `_run' /Users/cjbottaro/Dropbox/Projects/fiber_storm/vendor/bundle/ruby/1.9.1/gems/minitest-2.5.0/lib/minitest/unit.rb:889:in `each' /Users/cjbottaro/Dropbox/Projects/fiber_storm/vendor/bundle/ruby/1.9.1/gems/minitest-2.5.0/lib/minitest/unit.rb:890:in `block in _run' /Users/cjbottaro/Dropbox/Projects/fiber_storm/vendor/bundle/ruby/1.9.1/gems/minitest-2.5.0/lib/minitest/unit.rb:903:in `run_tests' /Users/cjbottaro/Dropbox/Projects/fiber_storm/vendor/bundle/ruby/1.9.1/gems/minitest-2.5.0/lib/minitest/unit.rb:740:in `_run_anything' /Users/cjbottaro/Dropbox/Projects/fiber_storm/vendor/bundle/ruby/1.9.1/gems/minitest-2.5.0/lib/minitest/unit.rb:764:in `_run_suites' /Users/cjbottaro/Dropbox/Projects/fiber_storm/vendor/bundle/ruby/1.9.1/gems/minitest-2.5.0/lib/minitest/unit.rb:764:in `map' -- C level backtrace information ------------------------------------------- 0 ruby 0x000000010c61e4fe rb_vm_bugreport + 110 1 ruby 0x000000010c513133 report_bug + 259 2 ruby 0x000000010c5132a1 rb_bug + 161 3 ruby 0x000000010c610f2a vm_call_method + 2442 4 ruby 0x000000010c613cfe vm_exec_core + 11214 5 ruby 0x000000010c617e3e vm_exec + 94 6 ruby 0x000000010c618d66 rb_yield + 70 7 ruby 0x000000010c4e8def rb_ary_each + 95 8 ruby 0x000000010c60c2f0 call_cfunc + 112 9 ruby 0x000000010c610883 vm_call_method + 739 10 ruby 0x000000010c613cfe vm_exec_core + 11214 11 ruby 0x000000010c617e3e vm_exec + 94 12 ruby 0x000000010c6110e1 rb_vm_invoke_proc + 161 13 ruby 0x000000010c51693e rb_exec_end_proc + 430 14 ruby 0x000000010c516a15 ruby_finalize_0 + 85 15 ruby 0x000000010c516b32 ruby_cleanup + 258 16 ruby 0x000000010c516d89 ruby_run_node + 89 17 ruby 0x000000010c4e2b2f main + 79 18 ruby 0x000000010c4e2ad4 start + 52 19 ??? 0x0000000000000005 0x0 + 5 [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 rake aborted! Command failed with status (): [/Users/cjbottaro/.rbenv/versions/1.9.2-p29...] Tasks: TOP => test (See full trace by running task with --trace) =end ---------------------------------------- Backport #4945: Segfault on Fiber#resume on Mac OS X 10.6.8 http://redmine.ruby-lang.org/issues/4945 Author: Dan Weinand Status: Open Priority: Normal Assignee: Category: Target version: =begin When calling resume such as: f = Fiber.new { puts "foo" } f.resume I'm getting the following segfault: (irb):2: [BUG] Segmentation fault ruby 1.9.2p274 (2011-06-06) [x86_64-darwin10.8.0] -- control frame ---------- c:0024 p:---- s:0085 b:0085 l:000084 d:000084 CFUNC :resume c:0023 p:0011 s:0082 b:0082 l:001938 d:000081 EVAL (irb):2 c:0022 p:---- s:0080 b:0080 l:000079 d:000079 FINISH c:0021 p:---- s:0078 b:0078 l:000077 d:000077 CFUNC :eval c:0020 p:0028 s:0071 b:0071 l:000070 d:000070 METHOD /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb/workspace.rb:80 c:0019 p:0033 s:0064 b:0063 l:000062 d:000062 METHOD /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb/context.rb:254 c:0018 p:0031 s:0058 b:0058 l:000878 d:000057 BLOCK /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb.rb:159 c:0017 p:0042 s:0050 b:0050 l:000049 d:000049 METHOD /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb.rb:273 c:0016 p:0011 s:0045 b:0045 l:000878 d:000044 BLOCK /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb.rb:156 c:0015 p:0144 s:0041 b:0041 l:000024 d:000040 BLOCK /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb/ruby-lex.rb:243 c:0014 p:---- s:0038 b:0038 l:000037 d:000037 FINISH c:0013 p:---- s:0036 b:0036 l:000035 d:000035 CFUNC :loop c:0012 p:0009 s:0033 b:0033 l:000024 d:000032 BLOCK /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb/ruby-lex.rb:229 c:0011 p:---- s:0031 b:0031 l:000030 d:000030 FINISH c:0010 p:---- s:0029 b:0029 l:000028 d:000028 CFUNC :catch c:0009 p:0023 s:0025 b:0025 l:000024 d:000024 METHOD /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb/ruby-lex.rb:228 c:0008 p:0046 s:0022 b:0022 l:000878 d:000878 METHOD /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb.rb:155 c:0007 p:0011 s:0019 b:0019 l:001e48 d:000018 BLOCK /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb.rb:70 c:0006 p:---- s:0017 b:0017 l:000016 d:000016 FINISH c:0005 p:---- s:0015 b:0015 l:000014 d:000014 CFUNC :catch c:0004 p:0183 s:0011 b:0011 l:001e48 d:001e48 METHOD /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb.rb:69 c:0003 p:0142 s:0006 b:0006 l:0014e8 d:0004c8 EVAL /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/bin/irb:16 c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH c:0001 p:0000 s:0002 b:0002 l:0014e8 d:0014e8 TOP --------------------------- -- Ruby level backtrace information ---------------------------------------- /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/bin/irb:16:in `
' /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb.rb:69:in `start' /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb.rb:69:in `catch' /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb.rb:70:in `block in start' /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb.rb:155:in `eval_input' /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in `each_top_level_statement' /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in `catch' /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in `block in each_top_level_statement' /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in `loop' /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb/ruby-lex.rb:243:in `block (2 levels) in each_top_level_statement' /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb.rb:156:in `block in eval_input' /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb.rb:273:in `signal_status' /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb.rb:159:in `block (2 levels) in eval_input' /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb/context.rb:254:in `evaluate' /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb/workspace.rb:80:in `evaluate' /Users/dweinand/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/irb/workspace.rb:80:in `eval' (irb):2:in `irb_binding' (irb):2:in `resume' -- 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 This doesn't appear to be a problem on 1.9.3-head and may be related to Issue #4827. =end -- http://redmine.ruby-lang.org