[ruby-dev:49335] [Ruby trunk - Bug #11603] Count trace_running for internal event

From: nagachika00@...
Date: 2015-11-08 14:49:40 UTC
List: ruby-dev #49335
Issue #11603 has been updated by Tomoyuki Chikanaga.

Backport changed from 2.0.0: UNKNOWN, 2.1: REQUIRED, 2.2: REQUIRED to 2.0.0: UNKNOWN, 2.1: REQUIRED, 2.2: DONE

Backported into `ruby_2_2` branch at r52497.

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

* 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: REQUIRED, 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/

In This Thread

Prev Next