https://bugs.ruby-lang.org/https://bugs.ruby-lang.org/favicon.ico?17113305112013-02-17T09:22:27ZRuby Issue Tracking SystemRuby master - Bug #7870: Time.now == "" causes an infinite loophttps://bugs.ruby-lang.org/issues/7870?journal_id=363502013-02-17T09:22:27Zdrbrain (Eric Hodel)drbrain@segment7.net
<ul><li><strong>Assignee</strong> set to <i>nobu (Nobuyoshi Nakada)</i></li></ul><p>r38044 is the culprit.</p>
<p>Previously Ruby would return nil if the other object did not have to_str, now ruby calls other <=> self when other is not a String and does not have <=> leading to the infinite loop.</p> Ruby master - Bug #7870: Time.now == "" causes an infinite loophttps://bugs.ruby-lang.org/issues/7870?journal_id=363962013-02-17T15:05:39Zmame (Yusuke Endoh)mame@ruby-lang.org
<ul><li><strong>Priority</strong> changed from <i>6</i> to <i>Normal</i></li></ul><p>I don't think that this is a showstopper, unless there is many or famous application depending on this behavior. Do you know anything?</p>
<p>After it is fixed in trunk, we may backport the patch to 2.0.0, but don't necessarily have to do so. I guess that it can be fixed 2.0.0-pXXX later (depending on Nagachika-san).</p>
<p>--<br>
Yusuke Endoh <a href="mailto:mame@tsg.ne.jp" class="email">mame@tsg.ne.jp</a></p> Ruby master - Bug #7870: Time.now == "" causes an infinite loophttps://bugs.ruby-lang.org/issues/7870?journal_id=364142013-02-17T17:41:12Zdrbrain (Eric Hodel)drbrain@segment7.net
<ul></ul><p>Fog breaks due to this change (it is how I discovered it):</p>
<p><a href="https://github.com/fog/fog/blob/master/lib/fog/core/attributes.rb#L53-L62" class="external">https://github.com/fog/fog/blob/master/lib/fog/core/attributes.rb#L53-L62</a></p>
<p>This compares a Time with the empty string leading to the infinite loop.</p>
<p>Fog provides an API for cloud services such as Amazon AWS, OpenStack, etc. It is fairly popular.</p> Ruby master - Bug #7870: Time.now == "" causes an infinite loophttps://bugs.ruby-lang.org/issues/7870?journal_id=364152013-02-17T18:25:30Zko1 (Koichi Sasada)
<ul><li><strong>Priority</strong> changed from <i>Normal</i> to <i>6</i></li></ul> Ruby master - Bug #7870: Time.now == "" causes an infinite loophttps://bugs.ruby-lang.org/issues/7870?journal_id=364232013-02-17T19:35:02Zmame (Yusuke Endoh)mame@ruby-lang.org
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Assigned</i></li></ul><p>drbrain, thank you! That is terrible.</p>
<p>Nobu, please check and fix it!</p>
<p>--<br>
Yusuke Endoh <a href="mailto:mame@tsg.ne.jp" class="email">mame@tsg.ne.jp</a></p> Ruby master - Bug #7870: Time.now == "" causes an infinite loophttps://bugs.ruby-lang.org/issues/7870?journal_id=364312013-02-17T20:55:53Znobu (Nobuyoshi Nakada)nobu@ruby-lang.org
<ul><li><strong>Status</strong> changed from <i>Assigned</i> to <i>Closed</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>100</i></li></ul><p>This issue was solved with changeset r39292.<br>
Eric, thank you for reporting this issue.<br>
Your contribution to Ruby is greatly appreciated.<br>
May Ruby be with you.</p>
<hr>
<p>compar.c: inversed comarison without infinite recursion</p>
<ul>
<li>compar.c (rb_invcmp): compare by inversed comarison, with preventing<br>
from infinite recursion. <a href="/issues/7870">[ruby-core:52305]</a> [Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Time.now == "" causes an infinite loop (Closed)" href="https://bugs.ruby-lang.org/issues/7870">#7870</a>]</li>
<li>string.c (rb_str_cmp_m), time.c (time_cmp): get rid of infinite<br>
recursion.</li>
</ul>