Issue #11603 has been reported by Takashi Kokubun.

----------------------------------------
Bug #11603: Count trace_running for internal event
https://bugs.ruby-lang.org/issues/11603

* Author: Takashi Kokubun
* Status: Open
* Priority: Normal
* Assignee: 
* ruby -v: ruby 2.3.0dev (2015-10-19 trunk 52192) [x86_64-darwin14]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
https://github.com/ruby/ruby/pull/1059

I want to fix a crash: https://gist.github.com/k0kubun/86fd9fbff32423bd4974

I noticed that clean_hooks can be executed inside exec_hooks_body. 
The hooks of list->hooks can be xfreed during exec_hooks_body. 
That's because th->vm->trace_running is not incremented for exec_hooks_unprotected.

So I fixed rb_threadptr_exec_event_hooks_orig to count exec_hooks_unprotected as th->vm->trace_running too.

---Files--------------------------------
ruby_2015-10-19-221406_P607.crash (18 KB)
patch.diff (549 Bytes)


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