https://bugs.ruby-lang.org/https://bugs.ruby-lang.org/favicon.ico?17113305112019-03-21T20:09:24ZRuby Issue Tracking SystemRuby master - Bug #15720: SystemStackError when referencing a refinement in a module that isn't usedhttps://bugs.ruby-lang.org/issues/15720?journal_id=772462019-03-21T20:09:24Zchocolateboy (Chocolate Boy)
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/77246/diff?detail_id=51495">diff</a>)</li></ul> Ruby master - Bug #15720: SystemStackError when referencing a refinement in a module that isn't usedhttps://bugs.ruby-lang.org/issues/15720?journal_id=772472019-03-21T20:29:00Zchocolateboy (Chocolate Boy)
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/77247/diff?detail_id=51496">diff</a>)</li></ul> Ruby master - Bug #15720: SystemStackError when referencing a refinement in a module that isn't usedhttps://bugs.ruby-lang.org/issues/15720?journal_id=772482019-03-21T20:35:35Zchocolateboy (Chocolate Boy)
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/77248/diff?detail_id=51497">diff</a>)</li></ul> Ruby master - Bug #15720: SystemStackError when referencing a refinement in a module that isn't usedhttps://bugs.ruby-lang.org/issues/15720?journal_id=784242019-06-10T23:27:26Zjeremyevans0 (Jeremy Evans)merch-redmine@jeremyevans.net
<ul><li><strong>File</strong> <a href="/attachments/7832">sse-unused-refinement.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/7832/sse-unused-refinement.patch">sse-unused-refinement.patch</a> added</li><li><strong>Status</strong> changed from <i>Open</i> to <i>Assigned</i></li><li><strong>Assignee</strong> set to <i>ko1 (Koichi Sasada)</i></li></ul><p>I can confirm this issue. I believe it stems from the fact that in <code>vm_call_method_each_type</code>, <code>cc->me</code> is getting overwritten by <code>ref_me</code> even if they already have the same <code>def</code> but a different <code>defined_class</code>, which results in infinite recursion. The attached patch should fix your example, but my understanding of this code is limited. ko1 or shugo should probably review this patch and determine if it is the proper way to fix this issue. This could possibly be related to <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Unused refinement breaks method search (Closed)" href="https://bugs.ruby-lang.org/issues/14068">#14068</a>.</p> Ruby master - Bug #15720: SystemStackError when referencing a refinement in a module that isn't usedhttps://bugs.ruby-lang.org/issues/15720?journal_id=784312019-06-11T09:03:20Znobu (Nobuyoshi Nakada)nobu@ruby-lang.org
<ul></ul><p>Seems fine.<br>
Just rename <code>test_refining_module_repeatedly</code> which redefines an existing method.</p> Ruby master - Bug #15720: SystemStackError when referencing a refinement in a module that isn't usedhttps://bugs.ruby-lang.org/issues/15720?journal_id=784392019-06-11T16:45:09Zjeremyevans (Jeremy Evans)code@jeremyevans.net
<ul><li><strong>Status</strong> changed from <i>Assigned</i> to <i>Closed</i></li></ul><p>Applied in changeset <a class="changeset" title="Fix SystemStackError when calling a method in an unused refinement Fixes [Bug #15720]" href="https://bugs.ruby-lang.org/projects/ruby-master/repository/git/revisions/5e018214e7435030727a97ac49db038d96438e74">git|5e018214e7435030727a97ac49db038d96438e74</a>.</p>
<hr>
<p>Fix SystemStackError when calling a method in an unused refinement</p>
<p>Fixes [Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: SystemStackError when referencing a refinement in a module that isn't used (Closed)" href="https://bugs.ruby-lang.org/issues/15720">#15720</a>]</p> Ruby master - Bug #15720: SystemStackError when referencing a refinement in a module that isn't usedhttps://bugs.ruby-lang.org/issues/15720?journal_id=784632019-06-12T01:52:39Znagachika (Tomoyuki Chikanaga)nagachika00@gmail.com
<ul><li><strong>Backport</strong> changed from <i>2.4: UNKNOWN, 2.5: UNKNOWN, 2.6: UNKNOWN</i> to <i>2.4: UNKNOWN, 2.5: REQUIRED, 2.6: REQUIRED</i></li></ul> Ruby master - Bug #15720: SystemStackError when referencing a refinement in a module that isn't usedhttps://bugs.ruby-lang.org/issues/15720?journal_id=803942019-08-05T14:06:05Znagachika (Tomoyuki Chikanaga)nagachika00@gmail.com
<ul><li><strong>Backport</strong> changed from <i>2.4: UNKNOWN, 2.5: REQUIRED, 2.6: REQUIRED</i> to <i>2.4: UNKNOWN, 2.5: REQUIRED, 2.6: DONE</i></li></ul><p>ruby_2_6 r67729 merged revision(s) 5e018214e7435030727a97ac49db038d96438e74.</p> Ruby master - Bug #15720: SystemStackError when referencing a refinement in a module that isn't usedhttps://bugs.ruby-lang.org/issues/15720?journal_id=810322019-08-26T15:40:49Zusa (Usaku NAKAMURA)usa@garbagecollect.jp
<ul><li><strong>Backport</strong> changed from <i>2.4: UNKNOWN, 2.5: REQUIRED, 2.6: DONE</i> to <i>2.4: UNKNOWN, 2.5: DONE, 2.6: DONE</i></li></ul><p>ruby_2_5 r67765 merged revision(s) 5e018214e7435030727a97ac49db038d96438e74.</p>