Issue #9321 has been updated by Koichi Sasada.


This issues is available on 2.1 and 2.0.

This is possible that some applications implement workaround for this issue. This patch can breaks such applications. However, I'm not sure such applications exist (maybe don't exist).


----------------------------------------
Bug #9321: rb_mod_const_missing does not generate a c-return event
https://bugs.ruby-lang.org/issues/9321#change-46029

* Author: Stefan Kaes
* Status: Closed
* Priority: Normal
* Assignee: 
* Category: core
* Target version: 
* ruby -v: ruby 2.1.0p1 (2013-12-26 revision 44431) [x86_64-darwin12.0]
* Backport: 2.0.0: REQUIRED, 2.1: REQUIRED
----------------------------------------
We have had an issue reported for ruby-prof where execution times were attributed incorrectly in the call graph.

It turned out that the problem is caused by a missing c-return event for Module#const_missing.

ruby-prof simulates the ruby call stack by subscribing to line, call, c-call, return and c-return events.

Obviously, the missing return throws ruby-prof off the track.


---Files--------------------------------
rb_mod_const_missing.patch (643 Bytes)
rb_mod_const_missing_with_tests.patch (1.48 KB)
rb_mod_const_missing_with_tests_redefined.patch (3.01 KB)


-- 
https://bugs.ruby-lang.org/