Bug #11603
closedCount trace_running for internal event
Description
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
Updated by sorah (Sorah Fukumori) almost 10 years ago
- Assignee set to ko1 (Koichi Sasada)
assigning ko1 at here too, because he has self-assigned at GitHub PR
Updated by deivid (David Rodríguez) almost 10 years ago
Commenting here just to confirm that this change fixes the SEGVs that this patch introduces in byebug's test suite.
Updated by k0kubun (Takashi Kokubun) almost 10 years ago
Byebug 7.0.0 including https://github.com/deivid-rodriguez/byebug/pull/160 is released to rubygems.org the day before yesterday.
Since byebug gem is installed by Rails' default Gemfile, I guess many users may have chance to cause this SEGV.
Could you review this and point out what is a blocker to merge this patch?
Updated by ko1 (Koichi Sasada) almost 10 years ago
- Status changed from Open to Closed
Applied in changeset r52476.
-
vm_trace.c (rb_threadptr_exec_event_hooks_orig):
maintain trace_running counter on internal events.This patch is made by Takashi Kokubun takashikkbn@gmail.com.
[Bug #11603] https://github.com/ruby/ruby/pull/1059
Updated by deivid (David Rodríguez) almost 10 years ago
- Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN to 2.0.0: UNKNOWN, 2.1: REQUIRED, 2.2: REQUIRED
Great! Thanks a lot, Koichi!
We need backports to 2.1 and 2.2 if possible.
Updated by nagachika (Tomoyuki Chikanaga) almost 10 years ago
- 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.
Updated by usa (Usaku NAKAMURA) almost 10 years ago
- 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.