Actions
Bug #14566
closed`raise` in `Exception#message` causes infinite loop
    Bug #14566:
    `raise` in `Exception#message` causes infinite loop
  
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.6.0dev (2018-03-01 trunk 62592) [x86_64-linux]
Description
This code does not stop.
class A < StandardError
  def message
    raise
  end
end
raise A
The following code also does not stop.
class A < StandardError
  def message
    1/0
  end
end
raise A
And they ignore CTRL-C, so I should do CTRL-Z (suspend) and kill -9 to stop them.
I confirmed the problem in Ruby 2.5 and trunk.
$ ruby -v
ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-linux]
$ ruby -v
ruby 2.6.0dev (2018-03-01 trunk 62592) [x86_64-linux]
But Ruby 2.4 and 2.3 do not stop (I does not have Ruby 2.2 because I cannot build it in my environment.).
I can get same outputs between raise and 1/0 in the message method body.
$ ruby -v test.rb
ruby 2.4.3p205 (2017-12-14 revision 61247) [x86_64-linux]
test.rb:7:in `<main>': A
$ ruby -v test.rb
ruby 2.3.6p384 (2017-12-14 revision 61254) [x86_64-linux]
test.rb:7:in `<main>': A
Files
Actions