Project

General

Profile

Actions

Bug #9063

closed

irb crashes when #backtrace of raised Exception is nil

Added by makimoto (Shimpei Makimoto) over 10 years ago. Updated over 9 years ago.

Status:
Closed
Target version:
-
ruby -v:
ruby 2.1.0dev (2013-10-30 trunk 43474) [x86_64-darwin13.0.0]
[ruby-core:58078]

Description

=begin
See also the pull req on GitHub: https://github.com/ruby/ruby/pull/434

When an exception whose backtrace is nil is raised, irb crashes and exits with the following backtrace:

irb> class E < Exception; def backtrace; nil; end; end
irb> raise E
E: E
/Users/makimoto/.rbenv/versions/trunk/lib/ruby/2.1.0/irb.rb:502:in block (2 levels) in eval_input': undefined method []' for nil:NilClass (NoMethodError)
from /Users/makimoto/.rbenv/versions/trunk/lib/ruby/2.1.0/irb.rb:624:in signal_status' from /Users/makimoto/.rbenv/versions/trunk/lib/ruby/2.1.0/irb.rb:489:in block in eval_input'
from /Users/makimoto/.rbenv/versions/trunk/lib/ruby/2.1.0/irb/ruby-lex.rb:247:in block (2 levels) in each_top_level_statement' from /Users/makimoto/.rbenv/versions/trunk/lib/ruby/2.1.0/irb/ruby-lex.rb:233:in loop'
from /Users/makimoto/.rbenv/versions/trunk/lib/ruby/2.1.0/irb/ruby-lex.rb:233:in block in each_top_level_statement' from /Users/makimoto/.rbenv/versions/trunk/lib/ruby/2.1.0/irb/ruby-lex.rb:232:in catch'
from /Users/makimoto/.rbenv/versions/trunk/lib/ruby/2.1.0/irb/ruby-lex.rb:232:in each_top_level_statement' from /Users/makimoto/.rbenv/versions/trunk/lib/ruby/2.1.0/irb.rb:488:in eval_input'
from /Users/makimoto/.rbenv/versions/trunk/lib/ruby/2.1.0/irb.rb:397:in block in start' from /Users/makimoto/.rbenv/versions/trunk/lib/ruby/2.1.0/irb.rb:396:in catch'
from /Users/makimoto/.rbenv/versions/trunk/lib/ruby/2.1.0/irb.rb:396:in start' from /Users/makimoto/.rbenv/versions/trunk/bin/irb:11:in '

=end


Files

irb-when-backtrace-nil.patch (2.91 KB) irb-when-backtrace-nil.patch makimoto (Shimpei Makimoto), 10/31/2013 07:27 AM
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0