Actions
Bug #14865
closedRaising exception in c_return event hook causes infinite loop
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.6.0dev (2018-06-23) [x86_64-linux]
Backport:
Description
c_returnのイベントフックの中で例外を起こすと無限ループになるケースがあります。
例外発生時にフレームがポップされずスタックに残り続けてしまうのが原因です。
$ cat t.rb
TracePoint.new(:c_return){|tp|
p tp.method_id
raise
}.enable{
tap{ itself }
}
$ ruby t.rb
:itself
:tap
:tap
(snip)
Actions
Like0
Like0Like0Like0