Project

General

Profile

Actions

Bug #11603

closed

Count trace_running for internal event

Added by k0kubun (Takashi Kokubun) almost 10 years ago. Updated almost 10 years ago.

Status:
Closed
Target version:
-
ruby -v:
ruby 2.3.0dev (2015-10-19 trunk 52192) [x86_64-darwin14]
[ruby-dev:49308]

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

ruby_2015-10-19-221406_P607.crash (18 KB) ruby_2015-10-19-221406_P607.crash crash report k0kubun (Takashi Kokubun), 10/19/2015 02:43 PM
patch.diff (549 Bytes) patch.diff git diff k0kubun (Takashi Kokubun), 10/19/2015 02:46 PM

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?

Actions #4

Updated by ko1 (Koichi Sasada) almost 10 years ago

  • Status changed from Open to Closed

Applied in changeset r52476.


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.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0