Project

General

Profile

Actions

Bug #11603

closed

Count trace_running for internal event

Added by k0kubun (Takashi Kokubun) over 8 years ago. Updated over 8 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) over 8 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) over 8 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) over 8 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) over 8 years ago

  • Status changed from Open to Closed

Applied in changeset r52476.


Updated by deivid (David Rodríguez) over 8 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) over 8 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) over 8 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