Issue #7180 has been updated by ko1 (Koichi Sasada).


The following script also repeat "[:return, 1]".
I'm not sure it is same problem or not.

def m
  p:m
end

TracePoint.trace(:call, :return){|tp| p [tp.event, tp.line]; raise "bar"}
m

----------------------------------------
Bug #7180: set_trace_func with error in proc block locks up Ruby with 100% cpu usage and no way to exit without killing proc
https://bugs.ruby-lang.org/issues/7180#change-33861

Author: garysweaver (Gary Weaver)
Status: Feedback
Priority: Low
Assignee: 
Category: core
Target version: 2.0.0
ruby -v: ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.4.0]


Causes 100% cpu usage and cannot ctrl-C to exit (have to kill proc):

set_trace_func proc {|event, file, line, id, binding, classname| raise "error"}

Understand that set_trace_func plays by different rules, but this isn't expected.


-- 
http://bugs.ruby-lang.org/