From: usa@... Date: 2015-11-18T11:26:46+00:00 Subject: [ruby-dev:49366] [Ruby trunk - Bug #11603] Count trace_running for internal event Issue #11603 has been updated by Usaku NAKAMURA. Backport changed from 2.0.0: UNKNOWN, 2.1: REQUIRED, 2.2: DONE to 2.0.0: UNKNOWN, 2.1: DONE, 2.2: DONE ruby_2_1 r52641 merged revision(s) 52476,52477. ---------------------------------------- Bug #11603: Count trace_running for internal event https://bugs.ruby-lang.org/issues/11603#change-54927 * Author: Takashi Kokubun * Status: Closed * Priority: Normal * Assignee: Koichi Sasada * ruby -v: ruby 2.3.0dev (2015-10-19 trunk 52192) [x86_64-darwin14] * Backport: 2.0.0: UNKNOWN, 2.1: DONE, 2.2: DONE ---------------------------------------- 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/