https://bugs.ruby-lang.org/https://bugs.ruby-lang.org/favicon.ico?17113305112018-09-26T11:42:25ZRuby Issue Tracking SystemRuby master - Bug #15162: Encoding::Converter.search_convpath(Encoding::ASCII_8BIT, Encoding::Emacs_Mule) crashes on MinGWhttps://bugs.ruby-lang.org/issues/15162?journal_id=742022018-09-26T11:42:25Zh.shirosaki (Hiroshi Shirosaki)h.shirosaki@gmail.com
<ul><li><strong>File</strong> <a href="/attachments/7392">0001-transcode.c-add-GC-guard-on-raise.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/7392/0001-transcode.c-add-GC-guard-on-raise.patch">0001-transcode.c-add-GC-guard-on-raise.patch</a> added</li></ul><p>I found a smaller test to reproduce SEGV.</p>
<pre><code>$ ./miniruby -ve "loop do loop do loop do Encoding::Converter.search_convpath(Encoding::ASCII_8BIT, Encoding::ASCII_8BIT) end end end"
ruby 2.6.0dev (2018-09-26 trunk 64852) [x64-mingw32]
Segmentation fault
</code></pre>
<p>Maybe GC guard is not sufficient? Attached patch fixes SEGV on my test.</p> Ruby master - Bug #15162: Encoding::Converter.search_convpath(Encoding::ASCII_8BIT, Encoding::Emacs_Mule) crashes on MinGWhttps://bugs.ruby-lang.org/issues/15162?journal_id=742102018-09-26T23:29:49ZMSP-Greg (Greg L)
<ul></ul><p><a class="user active user-mention" href="https://bugs.ruby-lang.org/users/572">@hsbt (Hiroshi SHIBATA)</a>, thanks for the work on this. I (quickly) did a lambda in a block, and that didn't cause the SEGV.</p>
<p>Using existing ruby-loco builds (I save all of them locally), I found that the issue doesn't exist on:<br>
<code>ruby 2.6.0dev (2018-09-26 trunk 64845) [x64-mingw32]</code></p>
<p>but does exist on:<br>
<code>ruby 2.6.0dev (2018-09-26 trunk 64851) [x64-mingw32]</code></p>
<p>I'll check the patch later, Greg</p> Ruby master - Bug #15162: Encoding::Converter.search_convpath(Encoding::ASCII_8BIT, Encoding::Emacs_Mule) crashes on MinGWhttps://bugs.ruby-lang.org/issues/15162?journal_id=742252018-09-27T23:17:05ZMSP-Greg (Greg L)
<ul></ul><p><a class="user active user-mention" href="https://bugs.ruby-lang.org/users/572">@hsbt (Hiroshi SHIBATA)</a></p>
<p>I just did twenty runs of core/encoding, then twenty runs of the full spec suite. No silent SEGV's.</p>
<p>Hence, the patch works. Thank you. Whoever does the commmit, please remember to remove the two <code>.name</code> method calls on line 30 of <code>spec/ruby/core/encoding/converter/search_convpath_spec.rb</code></p>
<p>Benoit - I can't seem to ping you using either <a class="user active user-mention" href="https://bugs.ruby-lang.org/users/772">@Eregon (Benoit Daloze)</a> or <a class="user active user-mention" href="https://bugs.ruby-lang.org/users/772">@Eregon (Benoit Daloze)</a></p> Ruby master - Bug #15162: Encoding::Converter.search_convpath(Encoding::ASCII_8BIT, Encoding::Emacs_Mule) crashes on MinGWhttps://bugs.ruby-lang.org/issues/15162?journal_id=742262018-09-28T00:24:27Zhsbt (Hiroshi SHIBATA)hsbt@ruby-lang.org
<ul></ul><p><a class="user active user-mention" href="https://bugs.ruby-lang.org/users/11129">@MSP-Greg (Greg L)</a></p>
<p>You mistake to mention about <code>@shirosaki</code>, not <code>@hsbt</code>.</p> Ruby master - Bug #15162: Encoding::Converter.search_convpath(Encoding::ASCII_8BIT, Encoding::Emacs_Mule) crashes on MinGWhttps://bugs.ruby-lang.org/issues/15162?journal_id=742272018-09-28T00:43:56ZMSP-Greg (Greg L)
<ul></ul><p><a class="user active user-mention" href="https://bugs.ruby-lang.org/users/572">@hsbt (Hiroshi SHIBATA)</a> & <a class="user active user-mention" href="https://bugs.ruby-lang.org/users/2931">@h.shirosaki (Hiroshi Shirosaki)</a></p>
<p>I apologize for that mistake. I hope to not make it again.</p>
<p>We have a saying something like 'foot in mouth' referring to speech. I'm not sure what the equivalent is for written... Thanks, Greg</p> Ruby master - Bug #15162: Encoding::Converter.search_convpath(Encoding::ASCII_8BIT, Encoding::Emacs_Mule) crashes on MinGWhttps://bugs.ruby-lang.org/issues/15162?journal_id=742312018-09-28T09:16:08ZEregon (Benoit Daloze)
<ul></ul><p>MSP-Greg (Greg L) wrote:</p>
<blockquote>
<p>Benoit - I can't seem to ping you using either <a class="user active user-mention" href="https://bugs.ruby-lang.org/users/772">@Eregon (Benoit Daloze)</a> or <a class="user active user-mention" href="https://bugs.ruby-lang.org/users/772">@Eregon (Benoit Daloze)</a></p>
</blockquote>
<p>Odd, not sure why it doesn't work.</p> Ruby master - Bug #15162: Encoding::Converter.search_convpath(Encoding::ASCII_8BIT, Encoding::Emacs_Mule) crashes on MinGWhttps://bugs.ruby-lang.org/issues/15162?journal_id=742392018-09-29T06:25:54Zh.shirosaki (Hiroshi Shirosaki)h.shirosaki@gmail.com
<ul><li><strong>Related to</strong> <i><a class="issue tracker-1 status-5 priority-4 priority-default closed" href="/issues/12411">Bug #12411</a>: Warnings when compiling transcode.c on cygwin</i> added</li></ul> Ruby master - Bug #15162: Encoding::Converter.search_convpath(Encoding::ASCII_8BIT, Encoding::Emacs_Mule) crashes on MinGWhttps://bugs.ruby-lang.org/issues/15162?journal_id=742402018-09-29T06:46:49Zh.shirosaki (Hiroshi Shirosaki)h.shirosaki@gmail.com
<ul></ul><p>Thank you for test.<br>
This issue seems to be related to <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Warnings when compiling transcode.c on cygwin (Closed)" href="https://bugs.ruby-lang.org/issues/12411">#12411</a> fix.</p> Ruby master - Bug #15162: Encoding::Converter.search_convpath(Encoding::ASCII_8BIT, Encoding::Emacs_Mule) crashes on MinGWhttps://bugs.ruby-lang.org/issues/15162?journal_id=742412018-09-29T06:47:36ZAnonymous
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Closed</i></li></ul><p>Applied in changeset trunk|r64879.</p>
<hr>
<p>transcode.c: add GC guard on raise</p>
<ul>
<li>transcode.c (econv_s_search_convpath): add GC guard to fix SEGV<br>
on raise.<br>
[Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Encoding::Converter.search_convpath(Encoding::ASCII_8BIT, Encoding::Emacs_Mule) crashes on MinGW (Closed)" href="https://bugs.ruby-lang.org/issues/15162">#15162</a>] <a href="/issues/15162">[ruby-core:89172]</a></li>
</ul> Ruby master - Bug #15162: Encoding::Converter.search_convpath(Encoding::ASCII_8BIT, Encoding::Emacs_Mule) crashes on MinGWhttps://bugs.ruby-lang.org/issues/15162?journal_id=743962018-10-10T10:51:34Znagachika (Tomoyuki Chikanaga)nagachika00@gmail.com
<ul><li><strong>Backport</strong> changed from <i>2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN</i> to <i>2.3: REQUIRED, 2.4: REQUIRED, 2.5: REQUIRED</i></li></ul> Ruby master - Bug #15162: Encoding::Converter.search_convpath(Encoding::ASCII_8BIT, Encoding::Emacs_Mule) crashes on MinGWhttps://bugs.ruby-lang.org/issues/15162?journal_id=764232019-01-20T10:48:30Znagachika (Tomoyuki Chikanaga)nagachika00@gmail.com
<ul><li><strong>Backport</strong> changed from <i>2.3: REQUIRED, 2.4: REQUIRED, 2.5: REQUIRED</i> to <i>2.3: REQUIRED, 2.4: REQUIRED, 2.5: DONE</i></li></ul><p>ruby_2_5 r66881 merged revision(s) 64879.</p> Ruby master - Bug #15162: Encoding::Converter.search_convpath(Encoding::ASCII_8BIT, Encoding::Emacs_Mule) crashes on MinGWhttps://bugs.ruby-lang.org/issues/15162?journal_id=766062019-01-31T10:36:33Zusa (Usaku NAKAMURA)usa@garbagecollect.jp
<ul><li><strong>Backport</strong> changed from <i>2.3: REQUIRED, 2.4: REQUIRED, 2.5: DONE</i> to <i>2.3: REQUIRED, 2.4: DONE, 2.5: DONE</i></li></ul><p>ruby_2_4 r66961 merged revision(s) 64879.</p>