From: Run Paint Run Run Date: 2009-06-14T03:35:12+09:00 Subject: [ruby-core:23840] [Bug #1625] Segfault when NoMethodError is Raised Under IRB with Tracer Option Bug #1625: Segfault when NoMethodError is Raised Under IRB with Tracer Option http://redmine.ruby-lang.org/issues/show/1625 Author: Run Paint Run Run Status: Open, Priority: Normal ruby -v: ruby 1.9.2dev (2009-06-13 trunk 23682) [i686-linux] Triggering a NoMethodError under 1.9's IRB with --tracer reproducibly causes a segfault. $ irb -v irb 0.9.5(05/04/13) $ ruby -v ruby 1.9.2dev (2009-06-13 trunk 23682) [i686-linux] $ irb --tracer irb(main):001:0> 1.glark #0:(irb):1:Object:-: - #0:(irb):1:BasicObject:>: - #0:(irb):1:NameError::message:>: - #0:(irb):1:NameError::message:<: - #0:(irb):1:NoMethodError:>: - #0:(irb):1:NameError:>: - #0:(irb):1:StandardError:>: - #0:(irb):1:StandardError:<: - #0:(irb):1:NameError:<: - #0:(irb):1:NoMethodError:<: - #0:(irb):1:Exception:>: - #0:(irb):1:Exception:<: - #0:(irb):1:Exception:>: - #0:(irb):1:Exception:<: - #0:(irb):1:Object:: - /usr/local/lib/ruby/1.9.1/irb/ext/tracer.rb: [BUG] Segmentation fault ruby 1.9.2dev (2009-06-13 trunk 23682) [i686-linux] -- control frame ---------- c:0021 p:0021 s:0075 b:0075 l:0000f4 d:001938 BLOCK c:0020 p:0087 s:0072 b:0071 l:0000f4 d:0000f4 METHOD /usr/local/lib/ruby/1.9.1/irb/ext/tracer.rb:50 c:0019 p:0031 s:0064 b:0063 l:000062 d:000062 METHOD /usr/local/lib/ruby/1.9.1/irb/context.rb:218 c:0018 p:0030 s:0058 b:0058 l:000e3c d:000057 BLOCK /usr/local/lib/ruby/1.9.1/irb.rb:149 c:0017 p:0037 s:0050 b:0050 l:000049 d:000049 METHOD /usr/local/lib/ruby/1.9.1/irb.rb:263 c:0016 p:0011 s:0045 b:0045 l:000e3c d:000044 BLOCK /usr/local/lib/ruby/1.9.1/irb.rb:146 c:0015 p:0132 s:0041 b:0041 l:000024 d:000040 BLOCK /usr/local/lib/ruby/1.9.1/irb/ruby-lex.rb:244 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 /usr/local/lib/ruby/1.9.1/irb/ruby-lex.rb:230 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 /usr/local/lib/ruby/1.9.1/irb/ruby-lex.rb:229 c:0008 p:0042 s:0022 b:0022 l:000e3c d:000e3c METHOD /usr/local/lib/ruby/1.9.1/irb.rb:145 c:0007 p:0011 s:0019 b:0019 l:000ec4 d:000018 BLOCK /usr/local/lib/ruby/1.9.1/irb.rb:69 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:0172 s:0011 b:0011 l:000ec4 d:000ec4 METHOD /usr/local/lib/ruby/1.9.1/irb.rb:68 c:0003 p:0039 s:0006 b:0006 l:002054 d:000044 EVAL /usr/local/bin/irb:12 c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH c:0001 p:0000 s:0002 b:0002 l:002054 d:002054 TOP --------------------------- /usr/local/bin/irb:12:in `
' /usr/local/lib/ruby/1.9.1/irb.rb:68:in `start' /usr/local/lib/ruby/1.9.1/irb.rb:68:in `catch' /usr/local/lib/ruby/1.9.1/irb.rb:69:in `block in start' /usr/local/lib/ruby/1.9.1/irb.rb:145:in `eval_input' /usr/local/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in `each_top_level_statement' /usr/local/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in `catch' /usr/local/lib/ruby/1.9.1/irb/ruby-lex.rb:230:in `block in each_top_level_statement' /usr/local/lib/ruby/1.9.1/irb/ruby-lex.rb:230:in `loop' /usr/local/lib/ruby/1.9.1/irb/ruby-lex.rb:244:in `block (2 levels) in each_top_level_statement' /usr/local/lib/ruby/1.9.1/irb.rb:146:in `block in eval_input' /usr/local/lib/ruby/1.9.1/irb.rb:263:in `signal_status' /usr/local/lib/ruby/1.9.1/irb.rb:149:in `block (2 levels) in eval_input' /usr/local/lib/ruby/1.9.1/irb/context.rb:218:in `evaluate' /usr/local/lib/ruby/1.9.1/irb/ext/tracer.rb:50:in `evaluate' /usr/local/lib/ruby/1.9.1/irb/ext/tracer.rb:0:in `ensure in evaluate' -- C level backtrace information ------------------------------------------- irb(rb_vm_bugreport+0xb5) [0x81613c5] irb [0x819c48b] irb(rb_bug+0x28) [0x819c518] irb [0x80f6495] [0xb7f62410] irb [0x8158b22] irb [0x815a1c6] irb(rb_rescue2+0x141) [0x805cd81] irb [0x814db84] irb [0x815f429] irb [0x8151d8e] irb [0x8158b22] irb [0x815942c] irb [0x814d15d] irb [0x815f429] irb [0x8151d8e] irb [0x8158b22] irb [0x815942c] irb [0x814d15d] irb [0x815f429] irb [0x8151d8e] irb [0x8158b22] irb(rb_iseq_eval_main+0x1a3) [0x8158d93] irb(ruby_exec_node+0x97) [0x805cfe7] irb(ruby_run_node+0x46) [0x805e8b6] irb(main+0x60) [0x805c3e0] /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe5) [0xb7d83775] irb [0x805c2e1] [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 Aborted ---------------------------------------- http://redmine.ruby-lang.org