Actions
Bug #14566
closed`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
Like0
Like0Like0Like0Like0Like0Like0