Ruby Issue Tracking System: Issues
https://bugs.ruby-lang.org/
https://bugs.ruby-lang.org/favicon.ico?1711330511
2024-02-15T08:45:41Z
Ruby Issue Tracking System
Redmine
Ruby master - Feature #20266 (Open): New syntax to escape embed strings in Regexp literal
https://bugs.ruby-lang.org/issues/20266
2024-02-15T08:45:41Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<a name="Premise"></a>
<h1 >Premise<a href="#Premise" class="wiki-anchor">¶</a></h1>
<p>When using embed strings in Regexp literal, it is interpreted as a part of the Regexp.</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="n">foo</span> <span class="o">=</span> <span class="s2">"[a-z]"</span>
<span class="nb">p</span> <span class="sr">/</span><span class="si">#{</span><span class="n">foo</span><span class="si">}</span><span class="sr">/</span> <span class="c1">#=> /[a-z]/</span>
</code></pre>
<p>So, currently we often have to escape the embed strings.</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="n">foo</span> <span class="o">=</span> <span class="s2">"[a-z]"</span>
<span class="nb">p</span> <span class="sr">/</span><span class="si">#{</span><span class="no">Regexp</span><span class="p">.</span><span class="nf">quote</span><span class="p">(</span><span class="n">foo</span><span class="p">)</span><span class="si">}</span><span class="sr">/</span> <span class="c1">#=> /\[a\-z\]/</span>
</code></pre>
<p>This is very long and painful to write every time.<br>
So, I propose new syntax to escape embed strings automatically.</p>
<a name="Proposal"></a>
<h1 >Proposal<a href="#Proposal" class="wiki-anchor">¶</a></h1>
<p>Adding new token <code>#{=</code> in Regexp literal:</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="n">foo</span> <span class="o">=</span> <span class="s2">"[a-z]"</span>
<span class="nb">p</span> <span class="sr">/</span><span class="si">#{</span><span class="o">=</span><span class="n">foo</span><span class="si">}</span><span class="sr">/</span> <span class="c1">#=> /\[a\-z\]/</span>
</code></pre>
<p>When <code>#{=</code> is used instead of <code>#{</code>, ruby calls <code>Regexp.quote</code> internally.</p>
<a name="Compatibility"></a>
<h1 >Compatibility<a href="#Compatibility" class="wiki-anchor">¶</a></h1>
<p>Current ruby causes syntax error when using <code>#{=</code>, then there is no incompatibilty.</p>
<a name="Out-of-scope-of-this-proposal"></a>
<h1 >Out of scope of this proposal<a href="#Out-of-scope-of-this-proposal" class="wiki-anchor">¶</a></h1>
<p>I do not propose about <code>#{=</code> in another literals. They are out of scope of this proposal.</p>
Ruby master - Feature #18439 (Assigned): YJIT: Support Microsoft x86 calling convention
https://bugs.ruby-lang.org/issues/18439
2021-12-27T08:47:04Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>I heard that supporting YJIT for VC++ needs mmap from k0kubun-san, so I implemented tiny mmap emulation on Windows and committed it to master.<br>
And, I found we need more changes to actually enabled YJIT for VC++, at least:</p>
<ul>
<li>YJIT requires <code>OPT_DIRECT_THREADED_CODE</code> or <code>OPT_CALL_THREADED_CODE</code> in <code>rb_yjit_compile_iseq()</code>. Really?</li>
<li>Maybe ABI deffers between VC++ and YJIT's expectation.</li>
</ul>
<p>Can I get support to fix above?</p>
Ruby master - Bug #18372 (Closed): Need to backport 43a3c88187dcd54ba008834a865e50eb28a78de9
https://bugs.ruby-lang.org/issues/18372
2021-12-01T05:59:39Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>To get rid of compile warning of (newer) VC++</p>
Ruby master - Bug #15845 (Closed): Backport dcb6a6ae3e
https://bugs.ruby-lang.org/issues/15845
2019-05-13T07:50:12Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>WindowsのCIでの3Eを消すものです</p>
Ruby master - Bug #15067 (Closed): library/socket/socket/getnameinfo_spec.rb always errors with m...
https://bugs.ruby-lang.org/issues/15067
2018-09-04T06:47:15Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>If the hostname is bind with multiple IP addresses, <code>Socket.getnameinfo</code> raises <code>SocketError</code>.<br>
It's the spec of this method.</p>
<pre><code>irb(main):001:0> require "socket"
=> true
irb(main):002:0> Socket.getnameinfo(['AF_INET', 21, 'multi'])
Traceback (most recent call last):
3: from C:/opt/ruby/bin/irb.cmd:21:in `<main>'
2: from (irb):2
1: from (irb):2:in `getnameinfo'
SocketError (sockaddr resolved to multiple nodename)
irb(main):003:0> exit
</code></pre>
<p>So, this code always reports error on such host.</p>
<p>library/socket/socket/getnameinfo_spec.rb:110</p>
<pre><code class="ruby syntaxhl" data-language="ruby"> <span class="n">describe</span> <span class="s1">'without custom flags'</span> <span class="k">do</span>
<span class="n">it</span> <span class="s1">'returns an Array containing the hostname and service name'</span> <span class="k">do</span>
<span class="n">array</span> <span class="o">=</span> <span class="no">Socket</span><span class="p">.</span><span class="nf">getnameinfo</span><span class="p">(</span><span class="vi">@addr</span><span class="p">)</span> <span class="c1">#<=== problem code</span>
<span class="n">array</span><span class="p">.</span><span class="nf">should</span> <span class="n">be_an_instance_of</span><span class="p">(</span><span class="no">Array</span><span class="p">)</span>
<span class="n">array</span><span class="p">[</span><span class="mi">0</span><span class="p">].</span><span class="nf">should</span> <span class="kp">include</span><span class="p">(</span><span class="vi">@hostname</span><span class="p">)</span>
</code></pre>
Ruby master - Bug #14727 (Assigned): TestQueue#test_queue_with_trap always timeout on Windows10
https://bugs.ruby-lang.org/issues/14727
2018-05-01T02:27:47Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>表題の通りです。ささださんも把握しているそうなので、備忘録として。</p>
<pre><code>[19/35] TestQueue#test_queue_with_trap = 10.13 s
1) Error:
TestQueue#test_queue_with_trap:
Timeout::Error: execution of assert_in_out_err expired timeout (10 sec)
pid 11608 exit 0
|
C:/Users/usa/develop/ruby/core/mytree/test/thread/test_queue.rb:553:in `test_queue_with_trap'
</code></pre>
Ruby master - Bug #14726 (Closed): wrong message when superclass is not a Class
https://bugs.ruby-lang.org/issues/14726
2018-05-01T01:49:16Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>クラス定義の際に親クラスとして<code>Class</code>でないものを与えると<code>TypeError</code>になりますが、その際にエラーメッセージに与えられたもののクラス名が表示されるため、メッセージだけ見ると何が間違ってるのかわけがわからなくなっています。</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="k">class</span> <span class="nc">C1</span><span class="p">;</span> <span class="k">end</span>
<span class="k">class</span> <span class="nc">C2</span> <span class="o"><</span> <span class="no">C1</span><span class="p">.</span><span class="nf">new</span><span class="p">;</span> <span class="k">end</span> <span class="c1">#=> TypeError (superclass must be a Class (C1 given))</span>
</code></pre>
<p>ここはクラス名ではなく与えられたオブジェクトそのものを表示すべきではないでしょうか?</p>
<pre><code class="diff syntaxhl" data-language="diff"><span class="gh">Index: class.c
===================================================================
</span><span class="gd">--- class.c (revision 63310)
</span><span class="gi">+++ class.c (working copy)
</span><span class="p">@@ -221,7 +221,7 @@</span>
{
if (!RB_TYPE_P(super, T_CLASS)) {
rb_raise(rb_eTypeError, "superclass must be a Class (%"PRIsVALUE" given)",
<span class="gd">- rb_obj_class(super));
</span><span class="gi">+ super);
</span> }
if (RBASIC(super)->flags & FL_SINGLETON) {
rb_raise(rb_eTypeError, "can't make subclass of singleton class");
<span class="gh">Index: vm_insnhelper.c
===================================================================
</span><span class="gd">--- vm_insnhelper.c (revision 63310)
</span><span class="gi">+++ vm_insnhelper.c (working copy)
</span><span class="p">@@ -3150,7 +3150,7 @@</span>
if (VM_DEFINECLASS_HAS_SUPERCLASS_P(flags) && !RB_TYPE_P(super, T_CLASS)) {
rb_raise(rb_eTypeError,
"superclass must be a Class (%"PRIsVALUE" given)",
<span class="gd">- rb_obj_class(super));
</span><span class="gi">+ super);
</span> }
vm_check_if_namespace(cbase);
</code></pre>
Ruby master - Bug #14650 (Closed): Remove problematic separator '\0' of Dir.glob and Dir.[]
https://bugs.ruby-lang.org/issues/14650
2018-03-29T04:13:30Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p><code>Dir.glob</code> and <code>Dir.[]</code> accepts <code>'\0'</code> separated string as the parameter,<br>
but this feature is very problematic.<br>
Shouldn't we remove this feature for Ruby3 ?</p>
Ruby master - Bug #14649 (Closed): Remove problematic separator '\0' of Dir.glob and Dir.[]
https://bugs.ruby-lang.org/issues/14649
2018-03-29T03:58:02Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p><code>Dir.glob</code> and <code>Dir.[]</code> accepts <code>'\0'</code> separated string as the parameter,<br>
but this feature is very problematic.<br>
Shouldn't we remove this feature for Ruby3 ?</p>
Ruby master - Bug #14648 (Closed): Remove problematic separator '\0' of Dir.glob and Dir.[]
https://bugs.ruby-lang.org/issues/14648
2018-03-29T03:54:39Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p><code>Dir.glob</code> and <code>Dir.[]</code> accepts <code>'\0'</code> separated string as the parameter,<br>
but this feature is very problematic.<br>
Shouldn't we remove this feature for Ruby3 ?</p>
Ruby master - Bug #14647 (Closed): Remove problematic separator '\0' of Dir.glob and Dir.[]
https://bugs.ruby-lang.org/issues/14647
2018-03-29T03:53:02Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p><code>Dir.glob</code> and <code>Dir.[]</code> accepts <code>'\0'</code> separated string as the parameter,<br>
but this feature is very problematic.<br>
Shouldn't we remove this feature for Ruby3 ?</p>
Ruby master - Bug #14646 (Closed): Remove problematic separator '\0' of Dir.glob and Dir.[]
https://bugs.ruby-lang.org/issues/14646
2018-03-29T03:52:58Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p><code>Dir.glob</code> and <code>Dir.[]</code> accepts <code>'\0'</code> separated string as the parameter,<br>
but this feature is very problematic.<br>
Shouldn't we remove this feature for Ruby3 ?</p>
Ruby master - Bug #14642 (Closed): Fiber make crash on Windows - webrick/httpproxy.rb ?
https://bugs.ruby-lang.org/issues/14642
2018-03-29T03:17:35Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>We found that r62966 causes crash on Windows.<br>
Of course, the patch seems to be no problem, so I guess that this code just happened to reveal a potential bug.</p>
<p>FYI, AppVayor and mswinci both reported the crash, but they didn't show any details.</p>
<p>Stable versions don't contain the patch, but will be backported later, maybe.</p>
Ruby master - Bug #14623 (Closed): backport r54737, r54740 and r55792
https://bugs.ruby-lang.org/issues/14623
2018-03-22T01:29:03Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>バックポート管理用チケットです。</p>
Ruby master - Bug #14439 (Closed): build failed on NetBSD 7.1 with MJIT
https://bugs.ruby-lang.org/issues/14439
2018-02-04T12:28:52Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>MJITマージおめでとうございます。<br>
というわけで手元のNetBSD/i386 7.1で試そうとしたら、残念ながらビルドエラーになりました。</p>
<pre><code>error in final header file:
/tmp/20180204-20715-187ick.c:4961:1: error: static declaration of ‘sigaddset’ follows non-static declaration
sigaddset(sigset_t *set, int signo)
^
compilation terminated due to -Wfatal-errors.
*** Error code 1
Stop.
</code></pre>
<p>よくわかりませんが、そのちょっと上で</p>
<pre><code>transform_mjit_header: making external definition of 'sigfillset' static inline
transform_mjit_header: making external definition of 'sigemptyset' static inline
transform_mjit_header: making external definition of 'sigismember' static inline
transform_mjit_header: making external definition of 'sigdelset' static inline
transform_mjit_header: making external definition of 'sigaddset' static inline
</code></pre>
<p>とか言ってるのですが、libc提供関数をどうにかしようとしてるのはまずそうな雰囲気を感じます。<br>
ちなみに、こいつらは /usr/include/signal.h の中でinline関数として定義されているっぽいです。</p>
<p>取り急ぎ報告まで。</p>
Ruby master - Bug #14428 (Closed): backport r53727
https://bugs.ruby-lang.org/issues/14428
2018-01-31T18:59:31Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>バックポート管理用チケットです。</p>
Ruby master - Feature #14397 (Assigned): public, protected and private should return their argume...
https://bugs.ruby-lang.org/issues/14397
2018-01-24T21:27:26Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>Matsuda-san suggested me that <code>public</code>, <code>protected</code> and <code>private</code> should return their arguments instead of <code>self</code>,<br>
to write such code:`</p>
<pre><code class="Ruby syntaxhl" data-language="Ruby"><span class="nb">require</span> <span class="s2">"finalist"</span>
<span class="c1"># see https://github.com/joker1007/finalist</span>
<span class="k">class</span> <span class="nc">Foo</span>
<span class="kp">extend</span> <span class="no">Finalist</span>
<span class="n">final</span> <span class="kp">private</span> <span class="k">def</span> <span class="nf">foo</span>
<span class="k">end</span>
<span class="k">end</span>
</code></pre>
<p>I believe that it's reasonable request, and also believe that there is no product code which uses the return values of <code>public</code>, <code>protected</code> and <code>private</code>.<br>
Matz, how do you think about this change?<br>
The patch is attached.</p>
Ruby master - Bug #14203 (Closed): miniruby crashes just after r61309 on mswin CI
https://bugs.ruby-lang.org/issues/14203
2017-12-19T07:20:16Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>r61309 のマージ後、mswin CIで、minirubyがクラッシュするようになっています。<br>
<a href="http://mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-trunk/recent.html" class="external">http://mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-trunk/recent.html</a></p>
<p>手元で再現できてないので残念ながらまだ詳細はわかりませんが、とにかくヤバそうということで。</p>
Ruby master - Bug #14085 (Closed): many redefinition warnings on test/win32ole/test_word.rb
https://bugs.ruby-lang.org/issues/14085
2017-11-06T03:21:11Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>win32oleのテストで、以下のような警告が出ます。<br>
警告が出るのは <code>WIN32OLE.const_load(w, Word)</code> というコードですが、<br>
該当コードが複数回呼ばれているわけではなくて、これを1回呼ぶだけで、<br>
定数の再定義が何度も行われてしまうようです。<br>
実害はないような気もしますが、できれば出ないようにできないでしょうか?</p>
<pre><code>D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: already initialized constant Word::Emptyenum
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: previous definition of Emptyenum was here
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: already initialized constant Word::Emptyenum
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: previous definition of Emptyenum was here
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: already initialized constant Word::Emptyenum
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: previous definition of Emptyenum was here
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: already initialized constant Word::Emptyenum
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: previous definition of Emptyenum was here
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: already initialized constant Word::Emptyenum
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: previous definition of Emptyenum was here
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: already initialized constant Word::Emptyenum
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: previous definition of Emptyenum was here
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: already initialized constant Word::Emptyenum
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: previous definition of Emptyenum was here
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: already initialized constant Word::Emptyenum
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: previous definition of Emptyenum was here
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: already initialized constant Word::Emptyenum
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: previous definition of Emptyenum was here
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: already initialized constant Word::Emptyenum
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: previous definition of Emptyenum was here
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: already initialized constant Word::Emptyenum
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: previous definition of Emptyenum was here
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: already initialized constant Word::Emptyenum
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: previous definition of Emptyenum was here
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: already initialized constant Word::Emptyenum
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: previous definition of Emptyenum was here
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: already initialized constant Word::Emptyenum
D:/Users/usa/ruby/test/win32ole/test_word.rb:22: warning: previous definition of Emptyenum was here
</code></pre>
Ruby master - Bug #13899 (Closed): Ruby 2.4.2 and 2.3.5 cannot link with libgmp nor jemalloc
https://bugs.ruby-lang.org/issues/13899
2017-09-14T22:34:07Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>The released package of Ruby 2.4.2 and 2.3.5 cannot link with libgmp nor jemalloc.<br>
Then, I provide the fixes.</p>
<p>for Ruby 2.4.2:<br>
a. Override <code>configure</code> file in your package by <code>configure-2.4.2</code>, and run <code>configure</code>.<br>
b. Or, apply the patch <code>configure-2.4.2.diff</code>, and run <code>configure</code>.</p>
<p>for Ruby 2.3.5:<br>
a. Override <code>configure</code> file in your package by <code>configure-2.3.5</code>, and run <code>configure</code>.<br>
b. Or, apply the patch <code>configure-2.3.5.diff</code>, and run <code>configure</code>.</p>
Ruby master - Bug #13897 (Closed): libffi is now not bundled in snapshots
https://bugs.ruby-lang.org/issues/13897
2017-09-14T15:32:04Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>いつ頃からかは明確ではないのですが、trunkのmake-snapshotでlibffiがバンドルされなくなっています。<br>
これは先ほどの安定版リリース作業中に発覚したのですが、libffiをダウンロードはしてくるものの、extractが行われていないようです。<br>
リリースされたtarballの方は近永さんがどうにかしてくださいましたが、snapshot.tar.gzおよびstable-snapshot.tar.gzにもやはり同様にlibffiがバンドルされていないことを確認しています。<br>
たまに中田さんがmake-snapshotをいじっているので、どっかのタイミングでその辺を壊してしまったのではないかと……。</p>
Ruby master - Bug #13850 (Closed): backport r59584
https://bugs.ruby-lang.org/issues/13850
2017-08-30T07:44:11Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>バックポート管理用のチケットです。</p>
Ruby master - Bug #13737 (Closed): "can't modify frozen String" when installing bundled gems
https://bugs.ruby-lang.org/issues/13737
2017-07-11T06:55:04Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>After committed r59304, mswin CI often (but not always) reports errors when installing bundled gems.<br>
For example, <a href="http://mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-trunk/log/20170710T020413Z.fail.html.gz" class="external">http://mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-trunk/log/20170710T020413Z.fail.html.gz</a></p>
<p>I've not investigated it yet, but something wrong at the commit, I believe.</p>
Ruby master - Bug #13651 (Closed): backport r55324
https://bugs.ruby-lang.org/issues/13651
2017-06-12T06:06:22Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>バックポート管理用チケットです。</p>
Ruby master - Bug #13582 (Closed): IMAPTest#test_append_fail always errors on Windows
https://bugs.ruby-lang.org/issues/13582
2017-05-19T15:16:15Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>r58792で追加されたテストですが、Windowsでは毎回Errorになります。<br>
assertion自体は通過してるっぽいですが、テストメソッドから抜ける際に<br>
@receiver_thread の中でErrno::ECONNRESETになる[1]か、もしくは、<br>
最後のimap.logoutでErrno::ECONNRESETになるか[2]、どちらかが常に<br>
発生しています。</p>
<p>rubyciを見ると、Debian 7.5 i686やUbuntu armv7l eabihfでも類似のErrorが<br>
起きているようですが、testかNet::IMAP自体かどちらかに問題があるのでは<br>
ないでしょうか?</p>
<p>[1]</p>
<pre><code> 1) Error:
IMAPTest#test_append_fail:
Errno::ECONNRESET: An existing connection was forcibly closed by the remote host. @ io_fillbuf - fd:4
D:/Users/usa/ruby/lib/net/imap.rb:1226:in `gets'
D:/Users/usa/ruby/lib/net/imap.rb:1226:in `get_response'
D:/Users/usa/ruby/lib/net/imap.rb:1144:in `receive_responses'
D:/Users/usa/ruby/lib/net/imap.rb:1119:in `block in initialize'
</code></pre>
<p>[2]</p>
<pre><code> 1) Error:
IMAPTest#test_append_fail:
Errno::ECONNRESET: An existing connection was forcibly closed by the remote host.
D:/Users/usa/ruby/lib/net/imap.rb:1284:in `write'
D:/Users/usa/ruby/lib/net/imap.rb:1284:in `print'
D:/Users/usa/ruby/lib/net/imap.rb:1284:in `put_string'
D:/Users/usa/ruby/lib/net/imap.rb:1261:in `block in send_command'
D:/Users/usa/ruby/lib/monitor.rb:214:in `mon_synchronize'
D:/Users/usa/ruby/lib/net/imap.rb:1251:in `send_command'
D:/Users/usa/ruby/lib/net/imap.rb:374:in `logout'
D:/Users/usa/ruby/test/net/imap/test_imap.rb:641:in `test_append_fail'
</code></pre>
Ruby master - Bug #13530 (Closed): backport r58370 and r58382
https://bugs.ruby-lang.org/issues/13530
2017-05-01T11:55:25Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>バックポート管理用のチケットです。</p>
Ruby master - Bug #13499 (Closed): need to backport r58453
https://bugs.ruby-lang.org/issues/13499
2017-04-23T16:56:14Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>バックポート管理用チケットです。<br>
(ついでに r58454 も、かな)</p>
Ruby master - Bug #13411 (Closed): Need to add OPTDIR to rpath earlier in configure
https://bugs.ruby-lang.org/issues/13411
2017-04-09T07:01:27Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>configure時に <code>--with-opt-dir</code> を指定すると、 <code>-I</code> や <code>-L</code> などには割に早い段階で反映してくれるのですが、rpathへの反映はかなり後の方になるので、それ以前にoptdirとして指定したライブラリパス上の共有ライブラリをconfigureが発見してしまうと、以降のconftest実行が全て失敗するようになってしまいます。<br>
具体的には、libgmp.soがoptdir上に存在する場合に問題が発生します。<br>
たぶん、configure.in中の <code>OPT_DIR</code> のrpathへの反映処理を <code>--with-opt-dir</code> の判定直後あたりに持ってくればよいのだと思うのですが、configureよくわからないので詳しいモンスターにお願いします。</p>
Ruby master - Bug #13364 (Closed): Please backport r56310
https://bugs.ruby-lang.org/issues/13364
2017-03-25T17:30:41Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>バックポート管理用のチケットです。</p>
Ruby master - Bug #13058 (Closed): Please backport r57135 and r57136
https://bugs.ruby-lang.org/issues/13058
2016-12-21T14:44:33Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>backport管理用のチケットです。</p>
Ruby master - Bug #12713 (Closed): backport r56036
https://bugs.ruby-lang.org/issues/12713
2016-08-30T06:03:06Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>バックポート用のチケットです。重要度はきわめて低いですが。</p>
Ruby master - Bug #12683 (Closed): never be able to install trunk
https://bugs.ruby-lang.org/issues/12683
2016-08-17T16:12:06Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>r55950 以降だと思いますが、bundleされているgemの拡張ライブラリがビルドできない場合、make installが失敗するのでruby自体がinstallできません。</p>
Ruby master - Bug #12391 (Closed): backport r55063
https://bugs.ruby-lang.org/issues/12391
2016-05-18T12:34:27Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>バックポート用チケットです。<br>
オブジェクト循環参照系でたまたまobject idがBignumになっちゃった時だけ踏むバグの修正です。</p>
Ruby master - Feature #12247 (Open): accept multiple arguments at Array#delete
https://bugs.ruby-lang.org/issues/12247
2016-04-03T08:51:28Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>I found that it's very useful if <code>Array#delete</code> accepts multiple arguments.</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="n">ary</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">]</span>
<span class="n">ary</span><span class="p">.</span><span class="nf">delete</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span> <span class="c1">#=> [1, 3]</span>
<span class="n">ary</span> <span class="c1">#=> [2, 4, 5]</span>
</code></pre>
Ruby master - Bug #12229 (Closed): Backport r53673 to ruby_2_3
https://bugs.ruby-lang.org/issues/12229
2016-03-29T15:59:23Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>普通に実行すると失敗して大変にうざいのでbackportお願いします。</p>
Ruby master - Bug #12178 (Closed): Enumerable#inject(:+) doesn't respect redefined Fixnum#+
https://bugs.ruby-lang.org/issues/12178
2016-03-15T11:58:21Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>r54120以降、Fixnum#+ を再定義している場合(する奴はいないとは思うものの)、inject(:+) の中で再定義後のメソッドが呼ばれなくなります。</p>
<pre><code>C:\> ruby -ve "class Fixnum; def +(o); self*o; end; end; p [1,3,5].inject(:+)"
ruby 2.4.0dev (2016-03-15 trunk 54118) [x64-mswin64_100]
-e:1: warning: method redefined; discarding old +
15
C:\> ruby -ve "class Fixnum; def +(o); self*o; end; end; p [1,3,5].inject(:+)"
ruby 2.4.0dev (2016-03-15 trunk 54120) [x64-mswin64_100]
-e:1: warning: method redefined; discarding old +
9
C:\> ruby -ve "class Fixnum; def +(o); self*o; end; end; p [1,3,5].inject(&:+)"
ruby 2.4.0dev (2016-03-15 trunk 54120) [x64-mswin64_100]
-e:1: warning: method redefined; discarding old +
15
</code></pre>
Ruby master - Bug #11900 (Closed): broken encoding of commandline on Windows
https://bugs.ruby-lang.org/issues/11900
2015-12-27T12:48:46Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>今頃気付いてしまったのですが、2.2以降のWindowsで、コマンドラインのエンコーディングが壊れています。<br>
思い返すと、ちょうど1年前くらいになかださんがこの辺をいじっていたので、その時からではないかと。<br>
trunkはもうめんどくさいからEncodingをUTF-8にしちゃっていい気がしますが、2.2と2.3はどうしたものすかね。</p>
<pre><code>C:\>c:\ruby\2.1.8\bin\ruby -ve "s = 'てすと'; p [s, s.encoding, s.b]"
ruby 2.1.8p440 (2015-12-16 revision 53160) [x64-mswin64_100]
["てすと", #<Encoding:Windows-31J>, "\x82\xC4\x82\xB7\x82\xC6"]
C:\>c:\ruby\2.2.4\bin\ruby -ve "s = 'てすと'; p [s, s.encoding, s.b]"
ruby 2.2.4p230 (2015-12-16 revision 53155) [x64-mswin64_100]
["縺ヲ縺吶→", #<Encoding:Windows-31J>, "\xE3\x81\xA6\xE3\x81\x99\xE3\x81\xA8"]
C:\>c:\ruby\2.3.0\bin\ruby -ve "s = 'てすと'; p [s, s.encoding, s.b]"
ruby 2.3.0p0 (2015-12-25 revision 53290) [x64-mswin64_100]
["縺ヲ縺吶→", #<Encoding:Windows-31J>, "\xE3\x81\xA6\xE3\x81\x99\xE3\x81\xA8"]
C:\>ruby -ve "s = 'てすと'; p [s, s.encoding, s.b]"
ruby 2.4.0dev (2015-12-27 trunk 53345) [x64-mswin64_100]
["縺ヲ縺吶→", #<Encoding:Windows-31J>, "\xE3\x81\xA6\xE3\x81\x99\xE3\x81\xA8"]
</code></pre>
Ruby master - Bug #11898 (Closed): backport r53346-r53349
https://bugs.ruby-lang.org/issues/11898
2015-12-27T12:28:17Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>バックポート用チケットです。</p>
<p>spawn等のオプショナル引数でファイルパスを指定するものに関して、エンコーディングの扱いが抜けていた点についての修正です。<br>
(たぶん現行サポート対象ではWindows以外では問題は起きていませんでした。)</p>
Ruby master - Bug #11794 (Closed): backport r51808
https://bugs.ruby-lang.org/issues/11794
2015-12-09T06:17:57Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>毎回mswinのCIでエラーなので。</p>
Ruby master - Bug #11724 (Closed): SNIでsessionが無効だったときにhostnameがサーバに送られない
https://bugs.ruby-lang.org/issues/11724
2015-11-20T21:32:22Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>これも <a href="https://github.com/ruby/ruby/pull/964" class="external">https://github.com/ruby/ruby/pull/964</a> を見る限り相当手痛いバグなので要backportと思います。</p>
<p>が、確かにこの修正でnet/httpのSNIできねー問題は直るんでしょうけど、そもそもこれはおかしいのはext/opensslの方だと思いますので、むしろそっちを直すべきだと強く感じます。<br>
あとテストがない。<br>
なので、Closedにはしておきますが、backportする前にどないかしたい(またはしてほしい)ですね。</p>
Ruby master - Bug #11702 (Closed): errors in tests of logger on Windows
https://bugs.ruby-lang.org/issues/11702
2015-11-17T14:18:27Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>Hi, sonots, welcome to ruby committers!</p>
<p>Your memorial first commit r52620 introduces two test errors on Windows.<br>
Line 134 and 157 of test/logger/test_logdevice.rb is:</p>
<pre><code> File.unlink(@filename) if File.exist?(@filename) # remove once, then reopen
</code></pre>
<p>but Windows cannot remove opened file.<br>
Fix them, please.<br>
If I will discover that they won't have been fixed on tomorrow morning, I will revert the commit.</p>
Ruby master - Bug #11386 (Closed): taint flag about rb_fstring()
https://bugs.ruby-lang.org/issues/11386
2015-07-22T05:31:16Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>r51261以降、mswinのtest-allでfailureが出るようになった件を調査していて発見したのですが、<br>
rb_fstring()にはtaintフラグを保存しないという問題があります。</p>
<p>原因は2つあって、</p>
<ol>
<li>sharedなStringオブジェクトを登録する際にtaintフラグをコピーしないバグがある</li>
<li>既に同じバイト列・エンコーディングで表現可能なStringオブジェクトが登録されている場合それを返すが、<br>
引数のtaintフラグと返すオブジェクトのtaintフラグの違いを評価していない</li>
</ol>
<p>というものです。</p>
<p>前者は以下のパッチで直るのでどうでもいいんですが、後者はrb_fstring()の仕様がどうなのか、<br>
という問題であると思います。<br>
r51261より前のように、SymbolやRubyレベルでは見えないStringオブジェクトのみを扱っているのならば特に問題ではないのでr51261のような使い方を禁止するべきなのか、<br>
rb_fstring()を変更してtaintフラグを適切に扱うようにすべきなのか、どちらでしょうか?</p>
<pre><code class="diff syntaxhl" data-language="diff"><span class="gh">Index: string.c
===================================================================
</span><span class="gd">--- string.c (リビジョン 51334)
</span><span class="gi">+++ string.c (作業コピー)
</span><span class="p">@@ -245,8 +245,10 @@</span> fstr_update_callback(st_data_t *key, st_data_t *va
}
else {
if (STR_SHARED_P(str)) { /* str should not be shared */
<span class="gd">- str = rb_enc_str_new(RSTRING_PTR(str), RSTRING_LEN(str), STR_ENC_GET(str));
- OBJ_FREEZE(str);
</span><span class="gi">+ VALUE newstr = rb_enc_str_new(RSTRING_PTR(str), RSTRING_LEN(str), STR_ENC_GET(str));
+ OBJ_INFECT(newstr, str);
+ OBJ_FREEZE(newstr);
+ str = newstr;
</span> }
else {
str = rb_str_new_frozen(str);
<span class="err">
</span></code></pre>
Ruby master - Bug #11244 (Closed): [BUG] rb_gc_mark(): 0x00000001f34020 is T_NONE
https://bugs.ruby-lang.org/issues/11244
2015-06-10T11:23:20Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>mswinのCIでたまに出てます。発生頻度は一割くらいでしょうか。<br>
(参考: <a href="http://ruby-mswin.cloudapp.net/vc10-x64/ruby-trunk/log/20150605T234126Z.log.html.gz" class="external">http://ruby-mswin.cloudapp.net/vc10-x64/ruby-trunk/log/20150605T234126Z.log.html.gz</a> )<br>
これが <a href="/issues/11226">[ruby-dev:49040]</a> の「なんかやばい気がするエラー」ですかね。</p>
<p>初検出はr50787のようですが、もちろん原因はもっと前にあると思われます。</p>
Ruby master - Bug #10852 (Closed): TestObjSpace#test_dump_flags sometimes fails on mswin-CI
https://bugs.ruby-lang.org/issues/10852
2015-02-13T11:42:49Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>mswinのCIで、以下のfailureが時々(2割くらい?)出るのですが、何がまずいのでしょうか?<br>
2.2だと頻度はぐっと下がりますが、出ないわけではないようです。</p>
<p>'''</p>
<ol>
<li>Failure:<br>
TestObjSpace#test_dump_flags [D:/tmp/mswin-build20150213-6324-8fqgzk/ruby/test/objspace/test_objspace.rb:199]:<br>
Expected /"wb_protected":true, "old":true, "long_lived":true, "marked":true/ to match "{"address":"0x00000001f5cfe8", "type":"STRING", "class":"0x00000000db8ee0", "frozen":true, "embedded":true, "fstring":true, "bytesize":3, "value":"foo", "encoding":"UTF-8", "memsize":40, "flags":{"wb_protected":true, "old":true}}\n".<br>
'''</li>
</ol>
Ruby master - Bug #10794 (Closed): false positive on mswin CI
https://bugs.ruby-lang.org/issues/10794
2015-01-28T15:44:49Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>かなりどうでもいいですが、暇なときにでもbackportお願いします。</p>
Ruby master - Bug #10615 (Closed): SIGKILL is not supported by signal() of some versions of MSVCRT
https://bugs.ruby-lang.org/issues/10615
2014-12-18T05:24:14Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>MSVCRTはSIGKILLをサポートしておらず(C標準外なので割と当たり前)、Rubyで自前サポートしているわけなのですが、にもかかわらずsignal()にはそのまんま渡しているため、一部のMSVCRT実装で問題が起きているようです。</p>
Ruby master - Bug #10555 (Closed): '?' is not match to multibyte character at commandline globbin...
https://bugs.ruby-lang.org/issues/10555
2014-11-28T20:51:22Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>以下のような現象です。</p>
<pre><code>D:\test> dir ?.txt
(snip)
2014/11/29 05:46 0 あ.txt
1 個のファイル 0 バイト
0 個のディレクトリ 114,140,901,376 バイトの空き領域
D:\test> ruby -e "p ARGV" ?.txt
["?.txt"]
</code></pre>
<p>原因は、glob処理として<code>ruby_brace_glob()</code>を呼んでいるためにencoding情報が渡されないためで、<code>ruby_blace_glob_with_enc()</code>を呼ばないといけません。<br>
1.9以降の全ての版が該当します。</p>
<p>直し方はなかださんのパッチ袋に入ってるので省略。</p>
Ruby master - Bug #10491 (Closed): TestGc#test_latest_gc_info often fails on mswin CI
https://bugs.ruby-lang.org/issues/10491
2014-11-09T10:29:25Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>表題の通りです。<br>
テストが不適切なのだと理解しています。<br>
口頭で伝えるだけだと放置されちゃうのでチケット化しておきます。</p>
Ruby master - Bug #10447 (Closed): path name needs to be transcoded to OS path encoding.
https://bugs.ruby-lang.org/issues/10447
2014-10-29T10:58:22Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>バックポート用の備忘録です。<br>
[ruby-list:49994] および r48186 を参照。</p>
Ruby master - Bug #10418 (Closed): REXML's encoding is broken if reading UTF-16 XML and Encondig....
https://bugs.ruby-lang.org/issues/10418
2014-10-22T16:08:34Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p><code>Encoding.default_internal</code>がセットされている状態でREXMLにUTF-16なIOを食わせると、<code>REXML::Document#encoding</code>がUTF-16ではなく<code>Encoding.default_internal</code>になります。<br>
以下パッチ。</p>
<pre><code class="diff syntaxhl" data-language="diff"><span class="gh">Index: lib/rexml/source.rb
===================================================================
</span><span class="gd">--- lib/rexml/source.rb (revision 48095)
</span><span class="gi">+++ lib/rexml/source.rb (working copy)
</span><span class="p">@@ -285,7 +285,7 @@</span>
case @encoding
when "UTF-16BE", "UTF-16LE"
@source.binmode
<span class="gd">- @source.set_encoding(@encoding)
</span><span class="gi">+ @source.set_encoding(@encoding, @encoding)
</span> end
@line_break = encode(">")
@pending_buffer, @buffer = @buffer, ""
<span class="gh">Index: test/rexml/test_encoding.rb
===================================================================
</span><span class="gd">--- test/rexml/test_encoding.rb (revision 48095)
</span><span class="gi">+++ test/rexml/test_encoding.rb (working copy)
</span><span class="p">@@ -91,8 +91,18 @@</span>
utf16 = File.open(fixture_path("ticket_110_utf16.xml")) do |f|
REXML::Document.new(f)
end
<span class="gd">- assert_equal(utf16.encoding, "UTF-16")
</span><span class="gi">+ assert_equal("UTF-16", utf16.encoding)
</span> assert( utf16[0].kind_of?(REXML::XMLDecl))
end
<span class="gi">+
+ def test_default_internal_with_utf16
+ orig_internal = ::Encoding.default_internal
+ ::Encoding.default_internal = 'utf-8'
+ begin
+ test_ticket_110
+ ensure
+ ::Encoding.default_internal = orig_internal
+ end
+ end
</span> end
end
<span class="err">
</span></code></pre>
Ruby master - Bug #10417 (Closed): IO#set_encoding without int_enc doesn't keep current internal ...
https://bugs.ruby-lang.org/issues/10417
2014-10-22T15:50:11Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>bugかfeatureか迷ったんですが、とりあえずbugで。</p>
<p><code>IO#set_encoding</code>を1引数で呼び出したとき、つまりexternal encodingのみを指定した場合、internal encodingは<code>nil</code>が指定されたとみなされ、<code>Encoding.default_inernal</code>が設定されます。<br>
従って、もともとこのIOにinternal encodingが設定されていた場合、それが上書きされてしまいます。<br>
internal encodingを指定せずに呼び出した場合は、現在の値を保持すべきではないでしょうか?</p>
Ruby master - Bug #10410 (Closed): TestGc#test_latest_gc_info often fails
https://bugs.ruby-lang.org/issues/10410
2014-10-21T07:46:46Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>例:</p>
<pre><code> 1) Failure:
TestGc#test_latest_gc_info [D:/tmp/mswin-build20141021-4796-12lae3v/ruby/test/ruby/test_gc.rb:134]:
<:force> expected but was
<:oldmalloc>.
</code></pre>
Ruby master - Bug #10330 (Closed): 例外クラス階層のドキュメントの誤り
https://bugs.ruby-lang.org/issues/10330
2014-10-06T12:49:43Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>バックポート用の備忘録です。<br>
r47820で修正しました。</p>
Ruby master - Bug #10262 (Closed): nmake love fails from tarball
https://bugs.ruby-lang.org/issues/10262
2014-09-19T07:08:44Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>バックポート用の備忘録チケットです。<br>
現象は表題の通り、対応する修正コミットは r47641 です。</p>
Ruby master - Bug #9881 (Closed): stuck in test/openssl/test_ssl.rb on Windows
https://bugs.ruby-lang.org/issues/9881
2014-05-29T15:40:00Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>r46223以降、WindowsにおいてOpenSSL::TestSSL#test_verify_resultで刺さってしまうようになりました。<br>
(CI等で確認できます)</p>
<p>調べてみたところ、この変更時に追加された、</p>
<pre><code> ssl.sync_close = true
</code></pre>
<p>の1行が問題のようです。<br>
よくわからないのですが、他のテストメソッドはこれがあっても問題ありません。</p>
<p>意味がわかってないので私にはなんとも言えないのですが、何かわかりますでしょうか?</p>
Ruby master - Bug #9554 (Closed): need read access for conout$ (io/console)
https://bugs.ruby-lang.org/issues/9554
2014-02-22T10:11:00Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>今まで気づかなかったとは不覚。</p>
Ruby master - Bug #9550 (Closed): backport r45066
https://bugs.ruby-lang.org/issues/9550
2014-02-22T01:06:40Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>個別にbackportチケットを切るのがめんどいので手抜いてこっちに作ります。</p>
Ruby master - Bug #8746 (Closed): TestWEBrickCGI#test_cgi fails with mswin64 on English version o...
https://bugs.ruby-lang.org/issues/8746
2013-08-07T16:39:07Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>題名の通り。</p>
Ruby master - Bug #8733 (Closed): miniruby always reports warnings when writing to console on Win...
https://bugs.ruby-lang.org/issues/8733
2013-08-05T15:26:13Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
しばらく前になかださんが組み込みエンコーディング周りをいじってからというもの、<br>
以下のような警告が出るようになりました。</p>
<p>C:\ruby> miniruby -e "p ''"<br>
-e:1: warning: failed to load encoding (UTF-16LE); use ASCII-8BIT instead<br>
-e:1: warning: failed to load encoding (UTF-16LE); use ASCII-8BIT instead<br>
""<br>
ということはつまりrubyのビルド中に山ほどこの警告が出るわけで、いいかげん<br>
つらいのでなんとかなりませんでしょうか。</p>
<p>なお、win32/win32.cのrb_w32_write_console()が出所です。<br>
=end</p>
Ruby master - Bug #8251 (Closed): Windowsにおいて、drbのテストでteardown時のkillに失敗することがある
https://bugs.ruby-lang.org/issues/8251
2013-04-11T13:19:07Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
どうもタイミング依存のようです。<br>
こんな感じで、出たり出なかったり。</p>
<ol>
<li>Error:<br>
test_03_redo(TestDRbAry):<br>
Errno::EPERM: Operation not permitted<br>
C:/Users/usa/ruby/test/drb/drbtest.rb:300:in <code>kill' C:/Users/usa/ruby/test/drb/drbtest.rb:300:in </code>block in teardown'<br>
C:/Users/usa/ruby/test/drb/drbtest.rb:297:in <code>each' C:/Users/usa/ruby/test/drb/drbtest.rb:297:in </code>teardown'</li>
</ol>
<p>workaroundを私の方で別途commitします。<br>
本当はwin32/win32.cのkillで対応したいところですが、rubyに制御を戻さないと意味がないようなのでちょっと保留。<br>
=end</p>
Ruby master - Bug #7556 (Closed): test error on refinement
https://bugs.ruby-lang.org/issues/7556
2012-12-13T20:13:42Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<ol>
<li>Error:<br>
test_refine_recursion(TestRefinement):<br>
NoMethodError: undefined method <code>recursive_length' for "oo":String C:/Users/usa/ruby/test/ruby/test_refinement.rb:567:in </code>recursive_length'<br>
:in <code><main>' C:/Users/usa/ruby/test/ruby/test_refinement.rb:806:in </code>eval'<br>
C:/Users/usa/ruby/test/ruby/test_refinement.rb:806:in <code>eval_using' C:/Users/usa/ruby/test/ruby/test_refinement.rb:574:in </code>test_refine_recursion'</li>
</ol>
<p>On my box this error is 100% reproducible, but I also know that RubyCI and<br>
RubyInstaller CI don't report this error.<br>
I've heard that nobu reproduced this bug on x86_64-dawrin, but I don't know<br>
the detail of his environment.</p>
<a name="Once-I-wrote-the-detail-of-my-debuggin-but-it-is-lost-by-accidenal-reboot"></a>
<h1 >Once I wrote the detail of my debuggin, but it is lost by accidenal reboot<a href="#Once-I-wrote-the-detail-of-my-debuggin-but-it-is-lost-by-accidenal-reboot" class="wiki-anchor">¶</a></h1>
<a name="of-my-PC"></a>
<h1 >of my PC.<a href="#of-my-PC" class="wiki-anchor">¶</a></h1>
<a name="I-have-no-energy-to-rewrite-it-because-writing-long-English-sentences"></a>
<h1 >I have no energy to rewrite it, because writing long English sentences<a href="#I-have-no-energy-to-rewrite-it-because-writing-long-English-sentences" class="wiki-anchor">¶</a></h1>
<a name="irritates-me-especially-after-seeing-mails-which-reproach-our-native"></a>
<h1 >irritates me, especially after seeing mails which reproach our native<a href="#irritates-me-especially-after-seeing-mails-which-reproach-our-native" class="wiki-anchor">¶</a></h1>
<a name="language"></a>
<h1 >language.<a href="#language" class="wiki-anchor">¶</a></h1>
Ruby master - Bug #7416 (Closed): test-all crashes with mysterious message
https://bugs.ruby-lang.org/issues/7416
2012-11-21T16:00:57Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>nmake test-all TESTS=-vj5 を実行していると、以下のようなメッセージが出て<br>
テスト自体が中断されてしまいました。</p>
<p>(前略)<br>
TestSetTraceFunc#test_return = 0.02 s = .<br>
C:/Users/usa/ruby/lib/test/unit/parallel.rb:147:in <code>ensure in run': undefined local variable or method </code>local_var' for #<a href="Test::Unit::Worker:0x000000022e2dc0" class="external">Test::Unit::Worker:0x000000022e2dc0</a> (NameError)<br>
from xyzzy:2:in <code>eval' from xyzzy:2:in </code>block in trace_by_tracepoint'<br>
from C:/Users/usa/ruby/lib/test/unit/parallel.rb:147:in <code>ensure in run' from C:/Users/usa/ruby/lib/test/unit/parallel.rb:148:in </code>run'<br>
from C:/Users/usa/ruby/lib/test/unit/parallel.rb:181:in `'<br>
TestRequire#test_require_too_long_filename = 0.25 s = .</p>
<p>Some worker was crashed. It seems ruby interpreter's bug<br>
or, a bug of test/unit/parallel.rb. try again without -j<br>
option.</p>
<p>NMAKE : fatal error U1077: '.\ruby.exe' : リターン コード '0x1'<br>
Stop.</p>
<p>ebanさんによると、他のプラットフォームでも出たそうなので、プラットフォーム<br>
固有の問題ではなさそうです。<br>
-j抜きではおきませんし、-jありでも必ず起きるわけでもないようです。<br>
よくわかりませんが、parallel testかsettracefuncかどっちかの問題だろうと<br>
思いますので、勉学に励んでいるはずの方は避けてフルタイムコミッタに振って<br>
おきます。</p>
Ruby master - Bug #7367 (Closed): toooo many test failures after rake 0.9.4 is imported
https://bugs.ruby-lang.org/issues/7367
2012-11-16T10:10:34Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
Yesterday, all my troubles seemed so far away.<br>
Now it looks as though they're here to stay...</p>
<a name="cf-Yesterday-The-Beatles"></a>
<h1 >cf. Yesterday The Beatles<a href="#cf-Yesterday-The-Beatles" class="wiki-anchor">¶</a></h1>
<p>eban-san told me that these are not platform dependent.</p>
<p>[ 388/1240] TestRakeBacktrace#test_suppress_option = 0.34 s</p>
<ol>
<li>Failure:<br>
test_suppress_option(TestRakeBacktrace) [C:/Users/usa/ruby/test/rake/test_rake_backtrace.rb:58]:<br>
--- expected<br>
+++ actual<br>
@@ -1 +1 @@<br>
-"rake aborted!"<br>
+"C:/Users/usa/develop/win/ruby/build/ruby.exe: No such file or directory -- C:/Users/usa/develop/win/ruby/build/bin/rake (LoadError)"</li>
</ol>
<p>[ 389/1240] TestRakeBacktrace#test_single_collapse = 0.17 s<br>
2) Failure:<br>
test_single_collapse(TestRakeBacktrace) [C:/Users/usa/ruby/test/rake/test_rake_backtrace.rb:25]:<br>
--- expected<br>
+++ actual<br>
@@ -1 +1 @@<br>
-"rake aborted!"<br>
+"C:/Users/usa/develop/win/ruby/build/ruby.exe: No such file or directory -- C:/Users/usa/develop/win/ruby/build/bin/rake (LoadError)"</p>
<p>[ 390/1240] TestRakeBacktrace#test_multi_collapse = 0.17 s<br>
3) Failure:<br>
test_multi_collapse(TestRakeBacktrace) [C:/Users/usa/ruby/test/rake/test_rake_backtrace.rb:43]:<br>
--- expected<br>
+++ actual<br>
@@ -1 +1 @@<br>
-"rake aborted!"<br>
+"C:/Users/usa/develop/win/ruby/build/ruby.exe: No such file or directory -- C:/Users/usa/develop/win/ruby/build/bin/rake (LoadError)"</p>
<p>[ 395/1240] TestRakeFileTask#test_file_times_new_depend_on_regular_task<br>
4) Error:<br>
test_file_times_new_depend_on_regular_task_timestamps(TestRakeFileTask):<br>
LoadError: cannot load such file -- C:/Users/usa/develop/win/ruby/build/lib/rake/phony.rb<br>
C:/Users/usa/ruby/test/rake/test_rake_file_task.rb:119:in <code>load' C:/Users/usa/ruby/test/rake/test_rake_file_task.rb:119:in </code>load_phony'<br>
C:/Users/usa/ruby/test/rake/test_rake_file_task.rb:45:in<br>
`test_file_times_new_depend_on_regular_task_timestamps'</p>
<p>[ 397/1240] TestRakeRakeTestLoader#test_pattern = 0.02 s<br>
5) Error:<br>
test_pattern(TestRakeRakeTestLoader):<br>
LoadError: cannot load such file -- C:/Users/usa/develop/win/ruby/build/lib/rake/rake_test_loader.rb<br>
C:/Users/usa/ruby/test/rake/test_rake_rake_test_loader.rb:13:in <code>load' C:/Users/usa/ruby/test/rake/test_rake_rake_test_loader.rb:13:in </code>test_pattern'</p>
<p>[ 398/1240] TestRakeReduceCompat#test_no_deprecated_dsl = 0.06 s<br>
6) Failure:<br>
test_no_deprecated_dsl(TestRakeReduceCompat) [C:/Users/usa/ruby/test/rake/test_rake_reduce_compat.rb:31]:<br>
Expected: ""method""<br>
Actual: ""</p>
<p>[ 399/1240] TestRakeReduceCompat#test_no_classic_namespace = 0.06 s<br>
7) Failure:<br>
test_no_classic_namespace(TestRakeReduceCompat) [C:/Users/usa/ruby/test/rake/test_rake_reduce_compat.rb:59]:<br>
Expected: "present"<br>
Actual: ""</p>
<p>[ 420/1240] TestRakeFunctional#test_correct_number_of_tasks_reported =<br>
8) Failure:<br>
test_correct_number_of_tasks_reported(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:412]:<br>
Expected: 2<br>
Actual: 0</p>
<p>[ 421/1240] TestRakeFunctional#test_dry_run = 0.06 s<br>
9) Failure:<br>
test_dry_run(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:233]:<br>
Expected /Execute (dry run) default/ to match "C:/Users/usa/develop/win/ruby/build/ruby.exe: No such file or directory -- C:/Users/usa/develop/win/ruby/build/bin/rake (LoadError)\n".</p>
<p>[ 422/1240] TestRakeFunctional#test_file_task_are_not_scoped_by_namespa<br>
10) Failure:<br>
test_file_task_are_not_scoped_by_namespaces(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:364]:<br>
Expected /^XYZ1\nXYZ2$/m to match "".</p>
<p>[ 424/1240] TestRakeFunctional#test_dot_rake_files_can_be_loaded_with_d<br>
11) Failure:<br>
test_dot_rake_files_can_be_loaded_with_dash_r(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:307]:<br>
Expected "C:/Users/usa/develop/win/ruby/build/ruby.exe: No such file or directory -- C:/Users/usa/develop/win/ruby/build/bin/rake (LoadError)\n" to be empty.</p>
<p>[ 425/1240] TestRakeFunctional#test_can_invoke_task_in_nested_namespace<br>
12) Failure:<br>
test_can_invoke_task_in_nested_namespace(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:324]:<br>
Expected /^NEST COPY$/ to match "".</p>
<p>[ 426/1240] TestRakeFunctional#test_implicit_system = 0.12 s<br>
13) Failure:<br>
test_implicit_system(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:126]:<br>
Expected /^SYS1/ to match "".</p>
<p>[ 428/1240] TestRakeFunctional#test_dash_f_with_no_arg_foils_rakefile_l<br>
14) Failure:<br>
test_dash_f_with_no_arg_foils_rakefile_lookup(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:299]:<br>
Expected /^TEST1$/ to match "".</p>
<p>[ 430/1240] TestRakeFunctional#test_rake_namespace_refers_to_toplevel =<br>
15) Failure:<br>
test_rake_namespace_refers_to_toplevel(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:356]:<br>
Expected /^COPY$/m to match "".</p>
<p>[ 432/1240] TestRakeFunctional#test_no_system = 0.05 s<br>
16) Failure:<br>
test_no_system(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:135]:<br>
Expected /^Don't know how to build task/ to match "C:/Users/usa/develop/win/ruby/build/ruby.exe: No such file or directory -- C:/Users/usa/develop/win/ruby/build/bin/rake (LoadError)\n".</p>
<p>[ 435/1240] TestRakeFunctional#test_rake_default = 0.05 s<br>
17) Failure:<br>
test_rake_default(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:29]:<br>
Expected /^DEFAULT$/ to match "".</p>
<p>[ 436/1240] TestRakeFunctional#test_tasks_can_reference_task_in_same_na<br>
18) Failure:<br>
test_tasks_can_reference_task_in_same_namespace(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:332]:<br>
Expected /^NEST COPY$/m to match "".</p>
<p>[ 437/1240] TestRakeFunctional#test_nosearch_without_rakefile_finds_sys<br>
19) Failure:<br>
test_nosearch_without_rakefile_finds_system(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:152]:<br>
Expected /^SYS1/ to match "".</p>
<p>[ 438/1240] TestRakeFunctional#test_multi_desc = 0.06 s<br>
20) Failure:<br>
test_multi_desc(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:62]:<br>
Expected /^rake a *# A / A2 *$/ to match "".</p>
<p>[ 439/1240] TestRakeFunctional#test_nosearch_without_rakefile_and_no_sy<br>
21) Failure:<br>
test_nosearch_without_rakefile_and_no_system_fails(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:161]:<br>
Expected /^No Rakefile found/ to match "C:/Users/usa/develop/win/ruby/build/ruby.exe: No such file or directory -- C:/Users/usa/develop/win/ruby/build/bin/rake (LoadError)\n".</p>
<p>[ 440/1240] TestRakeFunctional#test_rbext = 0.06 s<br>
22) Failure:<br>
test_rbext(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:92]:<br>
Expected /^OK$/ to match "".</p>
<p>[ 442/1240] TestRakeFunctional#test_inline_verbose_true_should_show_com<br>
23) Failure:<br>
test_inline_verbose_true_should_show_command(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:185]:<br>
Expected /C:/Users/usa/develop/win/ruby/build/ruby.exe -e/ to match "C:/Users/usa/develop/win/ruby/build/ruby.exe: No such file or directory -- C:/Users/usa/develop/win/ruby/build/bin/rake (LoadError)\n".</p>
<p>[ 443/1240] TestRakeFunctional#test_standalone_verbose_true_should_show<br>
24) Failure:<br>
test_standalone_verbose_true_should_show_command(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:217]:<br>
Expected /C:/Users/usa/develop/win/ruby/build/ruby.exe -e/ to match "C:/Users/usa/develop/win/ruby/build/ruby.exe: No such file or directory -- C:/Users/usa/develop/win/ruby/build/bin/rake (LoadError)\n".</p>
<p>[ 446/1240] TestRakeFunctional#test_nosearch_with_rakefile_uses_local_r<br>
25) Failure:<br>
test_nosearch_with_rakefile_uses_local_rakefile(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:143]:<br>
Expected /^DEFAULT/ to match "".</p>
<p>[ 447/1240] TestRakeFunctional#test_by_default_rakelib_files_are_includ<br>
26) Failure:<br>
test_by_default_rakelib_files_are_included(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:117]:<br>
Expected /extra:extra/ to match "".</p>
<p>[ 448/1240] TestRakeFunctional#test_inline_verbose_default_should_show_<br>
27) Failure:<br>
test_inline_verbose_default_should_show_command(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:177]:<br>
Expected /C:/Users/usa/develop/win/ruby/build/ruby.exe -e/ to match "C:/Users/usa/develop/win/ruby/build/ruby.exe: No such file or directory -- C:/Users/usa/develop/win/ruby/build/bin/rake (LoadError)\n".</p>
<p>[ 449/1240] TestRakeFunctional#test_comment_after_desc_is_ignored = 0.0<br>
28) Failure:<br>
test_comment_after_desc_is_ignored(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:396]:<br>
Expected /override\ comment\ for\ t3/ to match "".</p>
<p>[ 451/1240] TestRakeFunctional#test_file_task_dependencies_scoped_by_na<br>
29) Failure:<br>
test_file_task_dependencies_scoped_by_namespaces(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:372]:<br>
Expected /^PREPARE\nSCOPEDEP$/m to match "".</p>
<p>[ 452/1240] TestRakeFunctional#test_env_available_at_task_scope = 0.08<br>
30) Failure:<br>
test_env_available_at_task_scope(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:53]:<br>
Expected /^TASKSCOPE$/ to match "".</p>
<p>[ 453/1240] TestRakeFunctional#test_anonymous_tasks_can_be_invoked_indi<br>
31) Failure:<br>
test_anonymous_tasks_can_be_invoked_indirectly(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:348]:<br>
Expected /^ANON COPY$/m to match "".</p>
<p>[ 454/1240] TestRakeFunctional#test_rules_chaining_to_file_task = 0.06<br>
32) Failure:<br>
test_rules_chaining_to_file_task(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:280]:<br>
'play.app' file should exist</p>
<p>[ 455/1240] TestRakeFunctional#test_block_verbose_true_should_show_comm<br>
33) Failure:<br>
test_block_verbose_true_should_show_command(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:209]:<br>
Expected /C:/Users/usa/develop/win/ruby/build/ruby.exe -e/ to match "C:/Users/usa/develop/win/ruby/build/ruby.exe: No such file or directory -- C:/Users/usa/develop/win/ruby/build/bin/rake (LoadError)\n".</p>
<p>[ 456/1240] TestRakeFunctional#test_long_description = 0.06 s<br>
34) Failure:<br>
test_long_description(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:73]:<br>
Expected /^rake a\n *A / A2 *$/m to match "".</p>
<p>[ 457/1240] TestRakeFunctional#test_system = 0.06 s<br>
35) Failure:<br>
test_system(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:100]:<br>
Expected /^SYS1/ to match "".</p>
<p>[ 458/1240] TestRakeFunctional#test_invalid_command_line_options = 0.06<br>
36) Failure:<br>
test_invalid_command_line_options(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:169]:<br>
Expected /invalid +option/i to match "C:/Users/usa/develop/win/ruby/build/ruby.exe: No such file or directory -- C:/Users/usa/develop/win/ruby/build/bin/rake (LoadError)\n".</p>
<p>[ 459/1240] TestRakeFunctional#test_imports = 0.06 s<br>
37) Failure:<br>
test_imports(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:270]:<br>
'dynamic_deps' file should exist</p>
<p>[ 460/1240] TestRakeFunctional#test_tasks_can_reference_task_in_other_n<br>
38) Failure:<br>
test_tasks_can_reference_task_in_other_namespaces(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:340]:<br>
Expected /^IN A\nIN B$/m to match "".</p>
<p>[ 464/1240] TestRakeFunctional#test_rake_error_on_bad_task = 0.05 s<br>
39) Failure:<br>
test_rake_error_on_bad_task(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:37]:<br>
Expected /rake aborted/ to match "C:/Users/usa/develop/win/ruby/build/ruby.exe: No such file or directory -- C:/Users/usa/develop/win/ruby/build/bin/rake (LoadError)\n".</p>
<p>[ 465/1240] TestRakeFunctional#test_comment_before_desc_is_ignored = 0.<br>
40) Failure:<br>
test_comment_before_desc_is_ignored(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:404]:<br>
Expected /override\ comment\ for\ t4/ to match "".</p>
<p>[ 466/1240] TestRakeFunctional#test_env_available_at_top_scope = 0.05 s<br>
41) Failure:<br>
test_env_available_at_top_scope(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:45]:<br>
Expected /^TOPSCOPE$/ to match "".</p>
<p>[ 467/1240] TestRakeFunctional#test_can_invoke_task_in_toplevel_namespa<br>
42) Failure:<br>
test_can_invoke_task_in_toplevel_namespace(TestRakeFunctional) [C:/Users/usa/ruby/test/rake/test_rake_functional.rb:316]:<br>
Expected /^COPY$/ to match "".<br>
=end</p>
Ruby master - Bug #7366 (Closed): cannot 'make install' when --enable-doc
https://bugs.ruby-lang.org/issues/7366
2012-11-16T09:09:03Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>After r37664 (rake 0.9.3), cannot make install when --enable-doc.</p>
<p>installing default gems: C:/ruby-trunk/lib/ruby/gems/2.0.0 (cche, doc, gems, specifications)<br>
bigdecimal 1.1.0<br>
io-console 0.3<br>
json 1.7.1<br>
minitest 3.4.0<br>
psych 1.3.4<br>
../ruby/tool/rbinstall.rb:591:in <code>spec_source': undefined method </code>dump' for n<br>
l:NilClass (NoMethodError)<br>
from ../ruby/tool/rbinstall.rb:584:in <code>gemspec' from ../ruby/tool/rbinstall.rb:641:in </code>block (2 levels) in '<br>
from ../ruby/tool/rbinstall.rb:640:in <code>each' from ../ruby/tool/rbinstall.rb:640:in </code>block in '<br>
from ../ruby/tool/rbinstall.rb:674:in <code>call' from ../ruby/tool/rbinstall.rb:674:in </code>block (2 levels) in '<br>
from ../ruby/tool/rbinstall.rb:671:in <code>each' from ../ruby/tool/rbinstall.rb:671:in </code>block in '<br>
from ../ruby/tool/rbinstall.rb:667:in <code>each' from ../ruby/tool/rbinstall.rb:667:in </code>'</p>
<p>The reason is that rbinstall.rb expects there is a line like VERSION='X.X.X.X'.<br>
(see tool/rbinstall.rb:603)<br>
But now lib/rake/version.rb is changed, so rbinstall cannot find its version.</p>
<p>I think this is not rake's problem but rbinstall's.</p>
Ruby master - Bug #7265 (Closed): r37414 breaks building with BSD make and nmake.
https://bugs.ruby-lang.org/issues/7265
2012-11-02T16:08:20Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<a name="IRCでなかださんにも伝えましたけど直さないで寝たっぽいので"></a>
<h1 >IRCでなかださんにも伝えましたけど、直さないで寝たっぽいので<a href="#IRCでなかださんにも伝えましたけど直さないで寝たっぽいので" class="wiki-anchor">¶</a></h1>
<a name="チケット化しておきます"></a>
<h1 >チケット化しておきます。<a href="#チケット化しておきます" class="wiki-anchor">¶</a></h1>
<p>表題の通りですが、例えばBSD makeで普通にビルドしようとすると<br>
...<br>
compiling bigdecimal.c<br>
linking shared-object bigdecimal.so<br>
make: don't know how to make ./.@RUBYLIBDIR@!bigdecimal.time. Stop</p>
<p>make: stopped in /home/usa/tmp/trunk/ext/bigdecimal<br>
*** Error code 2<br>
...<br>
といった感じでエラーが出てビルドできません。<br>
nmakeでも同じところでエラーが出ます。</p>
<p>要するに ! が悪いので - あたりに変えれば通りますが、そもそも、<br>
この生成されている文字列を見て何がしたいのか理解できる人が<br>
なかださん以外に存在するとも思えないので、r36815 のあたりから<br>
ちょっと考え直していただきたく思います。</p>
Ruby master - Bug #7171 (Closed): test-all failure on OS X (RubyCI)
https://bugs.ruby-lang.org/issues/7171
2012-10-16T20:40:49Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>rubyci(<a href="http://rubyci.org/)%E3%81%A7%E3%80%81Lion%E3%81%8A%E3%82%88%E3%81%B3Mountain" class="external">http://rubyci.org/)で、LionおよびMountain</a> Lionの一部の構成で以下のようなエラーがずっと出ています。<br>
このエラーが出るものと出ないものがあるのが不気味なのですが、原因はなんでしょう?</p>
<p>test_udp_server(TestSocket):<br>
RuntimeError: no response from #<Addrinfo: fd2e:1e2f:2d52:da8d:e6ce:8fff:fe1f:1c3c><br>
/Users/chkbuild/build/20121016T012129Z/ruby/test/socket/test_socket.rb:321:in <code>block (3 levels) in test_udp_server' /Users/chkbuild/build/20121016T012129Z/ruby/.ext/common/socket.rb:45:in </code>connect_internal'<br>
/Users/chkbuild/build/20121016T012129Z/ruby/.ext/common/socket.rb:92:in <code>connect' /Users/chkbuild/build/20121016T012129Z/ruby/test/socket/test_socket.rb:317:in </code>block (2 levels) in test_udp_server'<br>
/Users/chkbuild/build/20121016T012129Z/ruby/test/socket/test_socket.rb:316:in <code>each' /Users/chkbuild/build/20121016T012129Z/ruby/test/socket/test_socket.rb:316:in </code>block in test_udp_server'<br>
/Users/chkbuild/build/20121016T012129Z/ruby/.ext/common/socket.rb:553:in <code>udp_server_sockets' /Users/chkbuild/build/20121016T012129Z/ruby/test/socket/test_socket.rb:276:in </code>test_udp_server'</p>
Ruby master - Bug #6956 (Closed): cannot build with nmake
https://bugs.ruby-lang.org/issues/6956
2012-08-31T15:22:29Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>r36864以降、以下のエラーが出てビルドできません。</p>
<p>NMAKE : fatal error U1073: 'id.h' のビルド方法が指定されていません。</p>
Ruby master - Bug #6882 (Closed): parallel test crashes when unknown exception is occured in a test
https://bugs.ruby-lang.org/issues/6882
2012-08-16T16:54:32Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>test-allを-j付きで実行していると、例えばrdocあたりがバグっていて<br>
RDoc::Errorあたりでテストに失敗した場合、masterはRDoc::Errorという<br>
例外を知らないわけですが、にもかかわらずMarshal.loadしようとするので<br>
master自体がクラッシュしてしまいます。</p>
<p>worker側からは、masterが知ってる例外が何かを知る方法はおそらくないので、<br>
全てのエラー時の例外を適当にラップして渡すか、そもそも例外をMashal.dump<br>
するのをやめるか、のいずれかの方法しかないような気がします。</p>
<p>後者は大変めんどくさいのですが、前者はやってみたらできたのでパッチを<br>
添付します。<br>
実際のレポート表示に使われるメッセージは例外オブジェクトから組み立ててる<br>
わけじゃなくてworker側のメッセージを利用してるようなので、この程度で問題<br>
なさそうに見えます。</p>
Ruby master - Bug #6881 (Closed): 2 Failures in test/-ext-/test_printf.rb
https://bugs.ruby-lang.org/issues/6881
2012-08-16T11:16:36Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>r36707 で導入された2つのテストが、全プラットフォームでずっとFailureのままです。</p>
<p>後で直すつもりで忘れて放置してるのか、そもそもテストしないで入れたのか、どっちでしょうか?</p>
Ruby master - Bug #6595 (Closed): no skipped information on test-all when -j is specified
https://bugs.ruby-lang.org/issues/6595
2012-06-15T14:29:58Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>test-all時に-jオプションを指定した場合、skipするテストがあってもレポートされません。<br>
そんな前からではなかったと思うのですが……。</p>
Ruby master - Bug #6389 (Closed): Should be able to `return' and `break' from callback method of ...
https://bugs.ruby-lang.org/issues/6389
2012-05-02T12:55:27Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>IRCで笹田さんと話をしていて発見したのですが、fiddleありだと<br>
DLのコールバックメソッドからreturnやbreakが可能ですが、なしだと<br>
LocalJumpErrorが発生します。</p>
<p>私の見解としては、returnできた方がうれしい気がしています。<br>
が、いずれにせよ、挙動を揃えた方がいいのではないかと思います。<br>
どう思いますか?>Aaronさん</p>
<p>以下、素のDLでもreturnできるようにするパッチです。</p>
<a name="Index-extdllibdlfuncrb"></a>
<h1 >Index: ext/dl/lib/dl/func.rb<a href="#Index-extdllibdlfuncrb" class="wiki-anchor">¶</a></h1>
<p>--- ext/dl/lib/dl/func.rb (リビジョン 35505)<br>
+++ ext/dl/lib/dl/func.rb (作業コピー)<br>
@@ -90,6 +90,9 @@ module DL<br>
if( !block )<br>
raise(RuntimeError, "block must be given.")<br>
end</p>
<ul>
<li>
<pre><code> unless block.lambda?
</code></pre>
</li>
<li>
<pre><code> block = Class.new{define_method(:call, block)}.new.method(:call)
</code></pre>
</li>
<li>
<pre><code> end
if( @cfunc.ptr == 0 )
cb = Proc.new{|*args|
ary = @stack.unpack(args)
</code></pre>
</li>
</ul>
Ruby master - Bug #6351 (Assigned): transcode table generator does not support multi characters o...
https://bugs.ruby-lang.org/issues/6351
2012-04-24T20:41:39Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>改めてチケット起こします。<a href="/issues/6349">[ruby-dev:45576]</a> より。</p>
<p>On 2012/04/24 17:11, "Martin J. Dürst" wrote:</p>
<blockquote>
<p>On 2012/04/24 17:02, U.Nakamura wrote:</p>
<blockquote>
<p>データは例によってNetBSDのものが利用できそうです。<br>
なのですが、transcodeってUnicodeの第0面(BMP)以外はサポートし<br>
てましたっけ?</p>
</blockquote>
<p>もちろんです :-)</p>
</blockquote>
<p>もうちょっと調べました。BMP 以外は transcode の最初から全く問題ないです<br>
が、現時点で引っかかるのは次のものです<br>
(<a href="http://x0213.org/codetable/euc-jis-2004-std.txt" class="external">http://x0213.org/codetable/euc-jis-2004-std.txt</a> から抜粋):</p>
<p>0xA4F7 U+304B+309A # [2000]<br>
0xA4F8 U+304D+309A # [2000]<br>
0xA4F9 U+304F+309A # [2000]<br>
0xA4FA U+3051+309A # [2000]<br>
0xA4FB U+3053+309A # [2000]</p>
<p>0xA5F7 U+30AB+309A # [2000]<br>
0xA5F8 U+30AD+309A # [2000]<br>
0xA5F9 U+30AF+309A # [2000]<br>
0xA5FA U+30B1+309A # [2000]<br>
0xA5FB U+30B3+309A # [2000]<br>
0xA5FC U+30BB+309A # [2000]<br>
0xA5FD U+30C4+309A # [2000]<br>
0xA5FE U+30C8+309A # [2000]</p>
<p>0xA6F8 U+31F7+309A # [2000]</p>
<p>0xABC4 U+00E6+0300 # [2000]</p>
<p>0xABC8 U+0254+0300 # [2000]<br>
0xABC9 U+0254+0301 # [2000]<br>
0xABCA U+028C+0300 # [2000]<br>
0xABCB U+028C+0301 # [2000]<br>
0xABCC U+0259+0300 # [2000]<br>
0xABCD U+0259+0301 # [2000]<br>
0xABCE U+025A+0300 # [2000]<br>
0xABCF U+025A+0301 # [2000]</p>
<p>0xABE5 U+02E9+02E5 # [2000]<br>
0xABE6 U+02E5+02E9 # [2000]</p>
<p>ようするに、JIS X 0213 で一文字になっているが、Unicode で二文字になって<br>
いるものです。EUC-JISX0213 から UTF-8 は問題ないですが、逆は現在引っかか<br>
ります。windows-1258 も (逆ですが) 同じ問題がありますので、いずれはなく<br>
さないといけないと思いましたが、今回はいいきっかけのではないかと思います。</p>
<p>よろしくお願いします。 Martin.</p>
Ruby master - Bug #6099 (Closed): [BUG] probable buffer overflow
https://bugs.ruby-lang.org/issues/6099
2012-02-28T13:53:26Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>ふと思い立って以下のようなコードを実行してみたところ、表題の[BUG]となりました。<br>
あんまり重大ではないと考えますが、一応報告しておきます。<br>
他のメソッドでも似たようなことができるものはあると思います。<br>
なお、プラットフォーム依存はないはずです。</p>
<p>% ruby -e '<br>
r, w = IO.pipe<br>
buf = " " * 100<br>
Thread.new{p r.sysread(100, buf)}<br>
Thread.pass<br>
buf.replace("")<br>
p buf.bytesize; w.write("a" * 100)<br>
Thread.pass<br>
'</p>
Ruby master - Bug #6098 (Closed): Re: GVL改善案
https://bugs.ruby-lang.org/issues/6098
2012-02-28T10:30:41Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>こんにちは、なかむら(う)です。</p>
<p>In message "<a href="https://blade.ruby-lang.org/ruby-dev/43483">[ruby-dev:43483]</a> Re: GVL改善案"<br>
on May.09,2011 07:19:30, <a href="mailto:matz@ruby-lang.org" class="email">matz@ruby-lang.org</a> wrote:</p>
<blockquote>
<p>|0 until hogehoge<br>
|<br>
|みたいなビジーループ書くとハマるので、これを「直すべき」とするか、<br>
|「言語仕様だ、ユーザは気をつけてスクリプト書きやがれ」とするか決めないと<br>
|いけない。とかとか</p>
<p>「直すべき」でしょう。</p>
</blockquote>
<p>いきなり10ヶ月くらい前のネタを蒸し返しますけど、その後r32064<br>
で該当コードが入れられて、以降は250ms(実際は100ms単位でしか判<br>
定されないので300ms)に一度しかスレッドが切り替わらなくなって<br>
います。</p>
<p>簡単な例だとこんな感じ。<br>
ruby -e 'Thread.new{loop{}}; loop{p Time.now.usec; Thread.pass}</p>
<p>ruby-coreでは賞金までかけられてますが(<a href="https://blade.ruby-lang.org/ruby-core/42972">[ruby-core:42972]</a>)、ず<br>
ばりこれが原因です。</p>
<a name="それでは"></a>
<h2 >それでは。<a href="#それでは" class="wiki-anchor">¶</a></h2>
<p>U.Nakamura <a href="mailto:usa@garbagecollect.jp" class="email">usa@garbagecollect.jp</a></p>
Ruby master - Bug #6092 (Closed): tests of psych reports many errors and failures when external e...
https://bugs.ruby-lang.org/issues/6092
2012-02-27T12:08:15Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>after r34722, tests of psych reports many errors and failures, such as;</p>
<h2>test_parse_file_exception(Psych::TestException) [C:/Users/usa/ruby/test/psych/test_exception.rb:63]:<br>
[Psych::SyntaxError] exception expected, not<br>
Class: <br>
Message: <"YAML file must be UTF-8, UTF-16LE, or UTF-16BE, not Windows-31J"><br>
---Backtrace---<br>
C:/Users/usa/ruby/.ext/common/psych.rb:192:in <code>parse' C:/Users/usa/ruby/.ext/common/psych.rb:192:in </code>parse_stream'<br>
C:/Users/usa/ruby/.ext/common/psych.rb:150:in <code>parse' C:/Users/usa/ruby/.ext/common/psych.rb:160:in </code>block in parse_file'<br>
C:/Users/usa/ruby/.ext/common/psych.rb:159:in <code>open' C:/Users/usa/ruby/.ext/common/psych.rb:159:in </code>parse_file'<br>
C:/Users/usa/ruby/test/psych/test_exception.rb:64:in `block in test_parse_file_exception'</h2>
<p>and</p>
<p>test_scalar_tag(Psych::TestIOTainted):<br>
ArgumentError: YAML file must be UTF-8, UTF-16LE, or UTF-16BE, not Windows-31J<br>
C:/Users/usa/ruby/test/psych/test_tainted.rb:125:in <code>parse' C:/Users/usa/ruby/test/psych/test_tainted.rb:125:in </code>block in assert_taintedness'<br>
C:/Users/usa/ruby/test/psych/test_tainted.rb:124:in <code>open' C:/Users/usa/ruby/test/psych/test_tainted.rb:124:in </code>assert_taintedness'<br>
C:/Users/usa/ruby/test/psych/test_tainted.rb:72:in `test_scalar_tag'</p>
<p>, etc.</p>
Ruby master - Bug #5812 (Closed): test-all is stuck on Windows
https://bugs.ruby-lang.org/issues/5812
2011-12-27T09:13:26Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>以下の2つのテストがWindowsで刺さります。<br>
test/ruby/test_thread.rb TestThreadGroup#test_thread_timer_and_interrupt<br>
test/thread/test_queue.rb TestQueue#test_thr_kill</p>
<p>要するにIO#read中にThread#killしても終わらないことがあるというわけですが、<br>
しばらく頑張ってみたものの(thread_pthread.cからsignal_thread_listの仕組みを<br>
持ってきてみるとか)修正できていないので、忘れないようにチケット化しておきます。<br>
このままだと越年コース。</p>
<p>ちなみにtrunkのみならず1.9系全般で起きています。<br>
今までテストがなかったのがいけないんですな。</p>
Ruby master - Bug #5711 (Closed): r32774 (and r32783) broke nmake support
https://bugs.ruby-lang.org/issues/5711
2011-12-05T13:35:39Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>普段あまり使わないので気付かなかったのですが、表題の通りでnmakeにおけるV=1指定サポートが破壊されています。<br>
(nmakeではマクロ置換展開中のマクロ展開はできません)</p>
<p>NULLCMDを経由するとかいう凝ったことしないで単にECHO1をconfigureで作るようにしてくれればnmakeでもSolaris makeでも通るMakefileが書けると思うのですが、どうですか。</p>
Ruby master - Bug #5467 (Closed): ENABLE_VM_OBJSPACE on Windows
https://bugs.ruby-lang.org/issues/5467
2011-10-20T23:08:19Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>r25000 で導入されたENABLE_VM_OBJSPACEとかいうマクロですが、r25008 での<br>
変更によると、Windowsではobject space initializationの前にst_tableを必<br>
要とするのでこのマクロを1にセットできないそうです。</p>
<p>なので、r33496 で問題のst_tableの確保をobject space initializationの後<br>
まで遅延するようにしました。(厳密には、socketを使わない限り確保しない<br>
ようにしています)</p>
<p>にも関わらず、WindowsでENABLE_VM_OBJSPACEを1にするとtest-allでrubyが落<br>
ちまくります。</p>
<p>(1) r25008 の変更時に書かれたコメントの説明は間違ってるわけなので、変更<br>
を望みます。<br>
(2) ENABLE_VM_OBJSPACEを1にしない限り必ず失敗するテストがtest/ruby/test_gc.rb<br>
の中にあるので(test_gc_parameter)、なんらかの対応を望みます。</p>
Ruby master - Bug #5111 (Closed): test/rubygems/test_gem_installer.rb reports a failure on windows
https://bugs.ruby-lang.org/issues/5111
2011-07-28T14:38:12Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
I guess the test is wrong on Windows.</p>
<ol>
<li>Failure:<br>
test_generate_bin_bindir_with_user_install_warning(TestGemInstaller) [C:/Users/usa/ruby/test/rubygems/test_gem_installer.rb:225]:<br>
--- expected<br>
+++ actual<br>
@@ -1 +1,3 @@<br>
-""<br>
+"WARNING: You don't have /usr/bin in your PATH,<br>
+\t gem executables will not run.<br>
+"<br>
=end</li>
</ol>
Ruby master - Bug #5020 (Closed): Rational cannot coerce into Complex with imag.
https://bugs.ruby-lang.org/issues/5020
2011-07-12T17:49:49Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>とある実験をしていて気付いたのですが、虚部ありのComplexを引数としてRational#coerceを呼ぶとTypeErrorが発生します。</p>
<p>Rational(1,2).coerce(Complex(1,1)) #=> TypeError</p>
<p>虚部がなければ問題ありません。ちなみに結果はRationalになります。</p>
<p>Rational(1,2).coerce(Complex(1,0)) #=> [(1/1), (1/2)]</p>
<p>一方で、レシーバと引数をひっくり返すと、Complex側に虚部があってもなくてもcoerceできます。ちなみに結果はComplexになります。</p>
<p>Complex(1,0).coerce(Rational(1,2)) #=> [((1/2)+0i), (1+0i)]<br>
Complex(1,1).coerce(Rational(1,2)) #=> [((1/2)+0i), (1+1i)]</p>
<p>Rational#coerce(aComplex)でaComplexに虚部がない時にRationalな結果を返すことについては意見はないのですが、虚部があるときにTypeErrorになるのはバグだと思います。<br>
いかがでしょうか?</p>
<a name="Index-rationalc"></a>
<h1 >Index: rational.c<a href="#Index-rationalc" class="wiki-anchor">¶</a></h1>
<p>--- rational.c (revision 32520)<br>
+++ rational.c (working copy)<br>
@@ -1108,6 +1108,8 @@ nurat_coerce(VALUE self, VALUE other)<br>
if (k_exact_zero_p(RCOMPLEX(other)->imag))<br>
return rb_assoc_new(f_rational_new_bang1<br>
(CLASS_OF(self), RCOMPLEX(other)->real), self);</p>
<ul>
<li>
<p>else</p>
</li>
<li>
<pre><code> return rb_assoc_new(other, rb_Complex(self, INT2FIX(0)));
</code></pre>
<p>}</p>
<p>rb_raise(rb_eTypeError, "%s can't be coerced into %s",</p>
</li>
</ul>
Ruby master - Bug #4943 (Closed): test/testunit/test_parallel.rb reports an Error on mswin/mingw
https://bugs.ruby-lang.org/issues/4943
2011-06-29T13:43:45Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>1.9.3のcode freezeまでになんとかなる気がしてないので備忘録として。</p>
<ol>
<li>Error:<br>
test_quit(TestParallel::TestParallelWorker):<br>
Errno::EPERM: Operation not permitted<br>
C:/Users/usa/ruby/test/testunit/test_parallel.rb:27:in <code>kill' C:/Users/usa/ruby/test/testunit/test_parallel.rb:27:in </code>rescue in teardown'<br>
C:/Users/usa/ruby/test/testunit/test_parallel.rb:20:in `teardown'</li>
</ol>
<p>で、別にparallel testが悪いわけではなくて、なぜかProcess.killができないのが<br>
問題なのですが、ミニマム再現ケースを作れない(つまり普段は成功する)ので<br>
悩み中です。<br>
なお、このテストに関しては95%くらいの再現率です(つまり稀には通る)。</p>
<p>細かく分解すると、win32/win32.cのkill()内で、OpenProcess()に成功した後で<br>
TerminateProcess()がERROR_ACCESS_DENIEDとなっています。<br>
普通は権限が足りなければOpenProcess()時に既にエラーになるはずなので、<br>
かなり奇妙な現象と言えます。<br>
また、対象プロセスの死亡タイミングかなんかの問題かと思って遅延とか<br>
リトライとかも試してみたのですが、回避に至ってはいません。</p>
Ruby master - Bug #4804 (Closed): IO.pipeとNEWLINE_DECORATOR
https://bugs.ruby-lang.org/issues/4804
2011-05-31T16:42:57Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>IO.pipeで生成されるIOはDEAFULT_TEXTMODE、すなわちWindowsにおいては<br>
FMODE_TEXTMODEに設定されますが、実際には改行コード変換が行われません。</p>
<p>どうもecflagsにNEWLINE_DECORATOR類を指定するパスが存在しないのでは<br>
ないかと思われるのですが、この辺のコードが複雑すぎて直し方までは<br>
わかりませんでした。</p>
<p>なおこれが原因で、test/test_open3.rbでFailureが起きています。<br>
また、rdocのtestでも2件Failureがあるのですが、おそらく同じ原因では<br>
ないかと思っています。</p>
<p>他のプラットフォームは試してないんですが、おそらく以下のコードで<br>
現象を再現できるのではないかと思います。</p>
<p>r, w = IO.pipe(textmode:true)<br>
w.write "foo\n"<br>
p r.gets # => expect "foo\n", but "foo\r\n"</p>
Ruby master - Bug #4619 (Closed): io.c is broken on Windows
https://bugs.ruby-lang.org/issues/4619
2011-04-27T12:13:24Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
r31355 以降、textmodeサポートがぶっ壊れてます。<br>
(n)make testでテストが失敗しますし、test-allの方もEになりまくりです。<br>
正直こんなもんrevertしろよって気分ですが、直せるあてはありますか?</p>
<p>make testの失敗:<br>
#339 test_literal.rb: <code>echo foo</code> #=> "foo\r\n" (expected "foo\n")<br>
<a class="issue tracker-1 status-8 priority-4 priority-default closed" title="Bug: 1.9/trunk does not work when compiled with llvm-gcc4 2.3 (gcc 4.2.1) (Third Party's Issue)" href="https://bugs.ruby-lang.org/issues/340">#340</a> test_literal.rb: s = "foo"; <code>echo #{s}</code> #=> "foo\r\n" (expected "foo\n")</p>
<p>make test-allのEの抜粋:<br>
Encoding::ConverterNotFoundError: code converter not found (universal_newline,crlf_newline)</p>
<p>=end</p>
Ruby master - Bug #4441 (Closed): test
https://bugs.ruby-lang.org/issues/4441
2011-02-24T23:23:18Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
this is test. sorry.<br>
=end</p>
Ruby master - Bug #4260 (Closed): some SEGVs in test/ruby/test_enum.rb
https://bugs.ruby-lang.org/issues/4260
2011-01-11T15:08:13Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
うまく説明できないんですが、r30494以後、test/ruby/test_enum.rbを実行するとSEGVが起きるようになりました。</p>
<p>(1) 単にtest-allで全テストを実行するとtest_sort_byでSEGV。再現性あり。<br>
(2) test_enum.rbのみを実行するとtest_sort_byに辿りつく前にtest_dropでSEGV。再現性あり。<br>
(3) test_enum.rbをtest_drop抜きで実行すると正常に終了。<br>
(4) GC.stress=trueでtest_enum.rbを実行するとテストは完走するがruby終了時にSEGV。</p>
<p>なんだかよくわからないのですが、問題点は全て一緒で、array.cのrb_ary_resize()内の1348行目~1351行目のif()ブロックを削除すると問題が消えます。<br>
また、もちろん、r30494をrevertすることによっても問題は消えます。<br>
ですが、対処法としてはあまりに乱暴だと思うので現時点では対策は入れてありません。</p>
<p>噂ではプラットフォーム依存で私しか再現に成功してないという話なのですが、問題点と対処療法から考える限りでは、たまたま私だけが踏んでるだけで、他のプラットフォームでも何らかの潜在的な問題があるものと想像しています。</p>
<p>以上、とりあえず報告まで。<br>
=end</p>
Ruby master - Bug #4209 (Closed): nmake reports warning in ext/ripper
https://bugs.ruby-lang.org/issues/4209
2010-12-26T21:08:39Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
こんなのが出ます。</p>
<p>compiling ripper<br>
NMAKE : warning U4006: 特殊マクロは定義されていません : '$<'<br>
extracting ripper.y from<br>
compiling compiler ripper.y</p>
<p>nmakeは明示的なルールにおいて$<を定義しませんので直して下さい。<br>
ちなみに r29748 から発生しています。<br>
=end</p>
Ruby master - Bug #4164 (Closed): tool/rbinstall.rb doesn't transform script names
https://bugs.ruby-lang.org/issues/4164
2010-12-16T20:04:15Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
<a href="https://blade.ruby-lang.org/ruby-dev/42775">[ruby-dev:42775]</a> で報告していただいたバグの修正をテストしていて気付いたのですが、<br>
trunkではconfigure時にプログラム名の変換を指定していても、binにインストールされるスクリプト名が全く変換されません。</p>
<p>原因はr30162の4つ目および5つ目のhunkにあります。<br>
従来は変数srcの指す文字列を変換したものを変数nameに格納し、そのnameにパスをくっつけたものを変数cmdに格納して、それを使ってファイルを作成していたのですが、r30162の変更によって、いきなり最初に変数cmdが用意されちゃって、その後でsrcからnameを作っているけど何にも使わないままになっています。</p>
<p>と、原因箇所までは特定したのですが、この変更の意図を生かした上での問題解決の方法が思いつかなかったので、直すのは他の人にまかせます。<br>
=end</p>
Ruby master - Bug #4120 (Closed): 2 failures on test/mkmf/test_convertible.rb
https://bugs.ruby-lang.org/issues/4120
2010-12-06T11:10:40Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
表題のテストで、以下の2件の失敗が出ています。<br>
なんかよくわからんので報告のみ。</p>
<ol>
<li>
<p>Failure:<br>
test_typeof_builtin(TestMkmf::TestConvertible) [C:/Users/usa/ruby/test/mkmf/test_convertible.rb:8]:<br>
<"long"> expected but was<br>
<"int">.</p>
</li>
<li>
<p>Failure:<br>
test_typeof_typedef(TestMkmf::TestConvertible) [C:/Users/usa/ruby/test/mkmf/test_convertible.rb:21]:<br>
<"long"> expected but was<br>
<"int">.<br>
=end</p>
</li>
</ol>
Ruby master - Bug #4045 (Closed): build error on mswin
https://bugs.ruby-lang.org/issues/4045
2010-11-12T09:57:21Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
おそらくr29756以降で、ext/socketのビルド中に失敗してruby全体のビルドが中断されるようになってしまいました。<br>
ext/socket/mkmf.logの末尾部分は以下の通りですが、テンポラリファイルがクローズされずに残っているのが原因なのではないかと思われます(しかしビルドエラー発生後には失踪している気がするので本当かどうかはわかりません)。</p>
<p>怪しいと思われるio.cのみをr29755に巻き戻すと問題が消えたように見えるので、この変更のせいで閉じるべきIOが閉じられなくなっているケースがあるのではないでしょうか?</p>
<p>C:/Users/usa/ruby/lib/mkmf.rb:282:in <code>initialize': Permission denied - mkmftmp1.log (Errno::EACCES) from C:/Users/usa/ruby/lib/mkmf.rb:282:in </code>open'<br>
from C:/Users/usa/ruby/lib/mkmf.rb:282:in <code>ensure in block in postpone' from C:/Users/usa/ruby/lib/mkmf.rb:285:in </code>block in postpone'<br>
from C:/Users/usa/ruby/lib/mkmf.rb:253:in <code>open' from C:/Users/usa/ruby/lib/mkmf.rb:275:in </code>postpone'<br>
from C:/Users/usa/ruby/lib/mkmf.rb:763:in <code>checking_for' from C:/Users/usa/ruby/lib/mkmf.rb:867:in </code>have_func'<br>
from C:/Users/usa/ruby/ext/socket/extconf.rb:348:in <code><top (required)>' from ../mytree/ext/extmk.rb:156:in </code>load'<br>
from ../mytree/ext/extmk.rb:156:in <code>extmake' from ../mytree/ext/extmk.rb:443:in </code>block in '<br>
from ../mytree/ext/extmk.rb:439:in <code>each' from ../mytree/ext/extmk.rb:439:in </code>'<br>
=end</p>
Ruby master - Bug #3990 (Closed): tests of rexml/rss reports many errors and failures without iconv
https://bugs.ruby-lang.org/issues/3990
2010-10-27T20:47:52Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
iconv.soがない環境でtest-allを実行すると、rexmlとrssのテストで<br>
結構な数のEとFが発生します。<br>
ひどいテストになると require "iconv" とかいきなり書いてあったり<br>
とかします。</p>
<p>そもそも現代だとiconvを使う必然性がほとんどないと思うのですが、<br>
どうでしょうか?(代わりにString#encodeを使う)<br>
それが叶わないなら、せめてテストでiconv必須なものはiconvがないなら<br>
skipするようにしてほしいです。<br>
=end</p>
Ruby master - Bug #3890 (Closed): ビジースレッドがあるとコンテキストスイッチが起きづらくなる
https://bugs.ruby-lang.org/issues/3890
2010-09-30T09:42:38Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
こんにちは、なかむら(う)です。<br>
とりあえずチケット化するために全文引用します。<br>
遅いのはfeatureかbugか... bugでいいか。</p>
<p>ちなみに<br>
ruby 1.9.3dev (2010-09-30 trunk 29375) [i386-mswin32]<br>
では再現していません。<br>
x64版固有とかCPUコア数とかと関係するとかですかね。</p>
<p>In message "<a href="https://blade.ruby-lang.org/ruby-dev/42310">[ruby-dev:42310]</a> ビジースレッドがあるとコンテキストスイッチが起きづらくなる"<br>
on Sep.29,2010 21:16:52, <a href="mailto:beuniv@gmail.com" class="email">beuniv@gmail.com</a> wrote:</p>
<blockquote>
<p>こんにちは。<br>
ビジー状態のスレッドがあると中々他のスレッドに処理が戻らず実行速度が遅くなることがあります。<br>
環境はruby 1.9.3dev (2010-09-29 trunk 29361) [x64-mswin64_90]です。</p>
<p>以下のスクリプトを実行すると終了するまでに時間がかかります。</p>
<p>t = Time.now<br>
n = 0<br>
Thread.new{loop {n+=1} }<br>
Thread.new{}.join<br>
p [n, Time.now - t]</p>
<p>.\ruby.exe a.rb<br>
[82741230, 10.6304]</p>
<p>追ってみたところnative_sleepのGVL_UNLOCK_ENDで、mainスレッドが<br>
GVLを取得できずに止まっている時間が長いようです。<br>
ためしにCriticalSectionではなく、USE_WIN32_MUTEXで、Mutexを使うように変更するとすぐ終わるようになりました。</p>
<p>MutexLock版<br>
.\ruby.exe a.rb<br>
[65482, 0.017]</p>
<a name="rubytest_threadsrbtest_listが結構な割合で失敗するので気がつきました"></a>
<h2 >ruby/test_threads.rb:test_listが結構な割合で失敗するので気がつきました。<a href="#rubytest_threadsrbtest_listが結構な割合で失敗するので気がつきました" class="wiki-anchor">¶</a></h2>
<p>kuwamoto</p>
</blockquote>
<a name="それでは"></a>
<h2 >それでは。<a href="#それでは" class="wiki-anchor">¶</a></h2>
<p>U.Nakamura <a href="mailto:usa@garbagecollect.jp" class="email">usa@garbagecollect.jp</a><br>
=end</p>
Ruby master - Bug #3886 (Closed): cannot list the pathname of my own modules in backtrace on mswin64
https://bugs.ruby-lang.org/issues/3886
2010-09-29T13:23:03Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
r29352 によって、WindowsでもSEGV時等にバックトレースが出力さ<br>
れるようになりましたが(ぱちぱちぱち)、64bit版だと、なぜかruby<br>
自身のモジュールのパス名が出力できていません。</p>
<p>モジュールのパス名は、そのモジュール用にアロケートされているベ<br>
ースアドレスをハンドルとみなしてGetModuleFileName()に渡せば取<br>
得できるという仮定に基づいて取得しているわけですが、<br>
(1) ベースアドレスを正しく取得できていない<br>
(2) その仮定はx64版Windowsでは成り立つとは限らない<br>
のいずれかの理由によってうまくいっていないようです。</p>
<p>以上、自分が後で思い出すためのメモでした。<br>
=end</p>
Ruby master - Bug #3571 (Closed): [BUG] if rb_notimplement() is called in an anonymous block call...
https://bugs.ruby-lang.org/issues/3571
2010-07-14T17:52:28Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
たぶん表題の通りですが、具体的には、mswinで以下のコードで再現します。</p>
<p>require "openssl"<br>
c = OpenSSL::Config.new("NUL")<br>
c["foo"] = [["bar", "baz"]]</p>
<p>で、先週くらいからなかださんとコソコソ相談してたのですが、原因は<br>
ext/openssl/ossl_config.cの中で、</p>
<p>(1) まずossl_config_set_section()が呼ばれる<br>
(2) rb_block_call()が呼ばれる<br>
(3) set_conf_section_i() → ossl_config_add_value() → rb_notimplement()が呼ばれる。<br>
(4) rb_frame_this_func() → frame_func_id() が呼ばれる。<br>
(5) cfp->me がNULLなのに華麗に参照している。</p>
<p>ということが起きているのが原因だと判明しました。</p>
<p>要するに空のcfp->meの部分をスキップするとかなんらかの工夫が必要なわけですが、<br>
しばらくなかださんと眺めた限りではちょびっとだけ面倒そうなのと、長期的には<br>
1.9.2へのbackportもすべきだろうという気もするので、記録のためにチケットを<br>
残します。<br>
たぶん修正自体は遠からず行われるとは思います。<br>
=end</p>
Ruby master - Bug #3473 (Closed): make clear-installed-list
https://bugs.ruby-lang.org/issues/3473
2010-06-24T19:41:07Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
.installed.listファイルを空にするために、common.mkのclear-installed-listターゲットで<br>
@set MAKE="$(MAKE)" > $(INSTALLED_LIST)<br>
なるものを実行していますが、遺憾ながらnmakeでは肝心のリダイレクト部が実行されません。<br>
このこと自体はnmakeのバグだろうと思うのですが、結果としてinstallするたびにひたすら<br>
.installed.listへの追記が行われていってしまいます。<br>
(私の場合、.installed.listが40MBを越えるサイズになっていたのでこの問題に気付きました)</p>
<p>で、例えば<br>
@exit > $(INSTALLED_LIST)<br>
にでもすれば問題は解決するのですが、なかださんによると、</p>
<ul>
<li>set MAKE= の部分には意味はない</li>
<li>コマンドが$(MAKE)を含んでいると、make -n であってもそのコマンドが実行される</li>
<li>make -n install で実際のインストールなしで.installed.listを作りたいのでこうしている<br>
という話でした。</li>
</ul>
<p>ですが、私の実験した限り、NetBSDのmake(いわゆるportable makeとして知られている物)<br>
では$(MAKE)があってもmake -nで実行されることはありませんでした。<br>
思うに、これはGNU makeあたりに限定される挙動を利用しているのではないかと思います。</p>
<p>というわけで、<br>
(1) まず @set はやめて @exit にする<br>
(2) インストールなしで.installed.listを作る機能が欲しいならば別途それ用のターゲットを<br>
準備する<br>
の2点を提案します。<br>
分類としては(1)がプラットフォーム限定のBug、(2)がFeatureになるかと思いますが、<br>
まあ分けるのもなんなのでセットで出しときます。<br>
=end</p>
Ruby master - Bug #3387 (Closed): Re: [ruby-cvs:35358] Ruby:r28148 (trunk, ruby_1_9_2): * ext/dl/...
https://bugs.ruby-lang.org/issues/3387
2010-06-04T10:19:13Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
こんにちは、なかむら(う)です。</p>
<p>In message "[ruby-cvs:35358] Ruby:r28148 (trunk, ruby_1_9_2): * ext/dl/cfunc.c (rb_dlcfunc_inspect): suppress warnings by"<br>
on Jun.03,2010 19:34:02, <a href="mailto:nobu@ruby-lang.org" class="email">nobu@ruby-lang.org</a> wrote:</p>
<blockquote>
<p>nobu 2010-06-03 19:33:57 +0900 (Thu, 03 Jun 2010)</p>
<p>New Revision: 28148</p>
<p><a href="http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=28148" class="external">http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=28148</a></p>
<p>Log:<br>
* ext/dl/cfunc.c (rb_dlcfunc_inspect): suppress warnings by<br>
rb_sprintf.</p>
</blockquote>
<p>これのせいでテストが1件失敗するようになってます。</p>
<ol>
<li>Failure:<br>
test_to_s(DL::TestCFunc) [C:/trunk/test/dl/test_cfunc.rb:52]:<br>
to_s should be tainted</li>
</ol>
<a name="それでは"></a>
<h2 >それでは。<a href="#それでは" class="wiki-anchor">¶</a></h2>
<p>U.Nakamura <a href="mailto:usa@garbagecollect.jp" class="email">usa@garbagecollect.jp</a><br>
=end</p>
Ruby master - Bug #3381 (Closed): test/io/nonblock/test_flush.rb reports an error on Windows
https://bugs.ruby-lang.org/issues/3381
2010-06-03T10:10:40Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
口頭で伝えていても対応してもらえないままなのでチケット化しておきます。</p>
<ol>
<li>Error:<br>
test_flush(TestIONonblock):<br>
Errno::EBADF: Bad file descriptor<br>
C:/trunk/test/io/nonblock/test_flush.rb:11:in <code>nonblock=' C:/trunk/test/io/nonblock/test_flush.rb:11:in </code>test_flush'</li>
</ol>
<p>1 tests, 0 assertions, 0 failures, 1 errors, 0 skips</p>
<p>Test run options: --seed 48749 --verbose<br>
=end</p>
Ruby master - Bug #3370 (Closed): test failure of drb
https://bugs.ruby-lang.org/issues/3370
2010-05-31T15:10:30Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
Windowsで、drbのテストが以下のように1件だけ失敗します。<br>
ちなみにメッセージの中身は<br>
「既存の接続はリモート ホストに強制的に切断されました。」<br>
です。<br>
このテストがなんでArgumentErrorになることが期待されるのか<br>
すらよくわからないというレベルなので、報告のみです。<br>
すみません。<br>
何か調査すべきことがあったら教えてください。</p>
<ol>
<li>Failure:<br>
test_04_many_arg(TestDRbLarge) [C:/trunk/test/drb/test_drb.rb:286]:<br>
[ArgumentError] exception expected, not<br>
Class: <a href="DRb::DRbConnError" class="external">DRb::DRbConnError</a><br>
Message: <"\x8A\xF9\x91\xB6\x82\xCC\x90\xDA\x91\xB1\x82\xCD\x83\x8A\x83\x82\x81[\x83g \x83z\x83X\x83g\x82\xC9\x8B\xAD\x90\xA7\x93I\x82\xC9\x90\xD8\x92f\x82\xB3\x82\xEA\x82\xDC\x82\xB5\x82\xBD\x81B"><br>
---Backtrace---<br>
C:/trunk/test/drb/test_drb.rb:287:in <code>block in test_04_many_arg' C:/trunk/test/drb/test_drb.rb:286:in </code>test_04_many_arg'</li>
</ol>
<hr>
<p>50 tests, 279 assertions, 1 failures, 0 errors, 0 skips<br>
=end</p>
Ruby master - Bug #3369 (Closed): Re: [ruby-cvs:32360] Ruby:r25142 (trunk): * encoding.c (rb_enc_...
https://bugs.ruby-lang.org/issues/3369
2010-05-31T12:03:37Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
こんにちは、なかむら(う)です。</p>
<p>In message "[ruby-cvs:32360] Ruby:r25142 (trunk): * encoding.c (rb_enc_unicode_p): defined."<br>
on Sep.29,2009 09:34:02, <a href="mailto:naruse@ruby-lang.org" class="email">naruse@ruby-lang.org</a> wrote:</p>
<blockquote>
<p>naruse 2009-09-29 09:34:00 +0900 (Tue, 29 Sep 2009)</p>
<p>New Revision: 25142</p>
<p><a href="http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=25142" class="external">http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=25142</a></p>
<p>Log:<br>
* encoding.c (rb_enc_unicode_p): defined.<br>
Returns 1 when the encoding is Unicode series<br>
other than UTF-7 else 0.</p>
<p>Modified files:<br>
trunk/ChangeLog<br>
trunk/encoding.c<br>
trunk/include/ruby/encoding.h</p>
</blockquote>
<p>今頃気づくなって感じですが、Windows(最近のだけかも)では拡張ラ<br>
イブラリから見える関数ポインタアドレスと真の関数ポインタアド<br>
レスが異なるようです。<br>
というわけで、rb_enc_unicode_p()の方法では関数実体が一致する<br>
ことを判定できません。</p>
<p>私がやるとOnigEncodingType構造体にメンバを追加するくらいしか<br>
思いつかないですが、何か方法はないでしょうか。</p>
<a name="それでは"></a>
<h2 >それでは。<a href="#それでは" class="wiki-anchor">¶</a></h2>
<p>U.Nakamura <a href="mailto:usa@garbagecollect.jp" class="email">usa@garbagecollect.jp</a><br>
=end</p>
Backport187 - Bug #2481 (Closed): cannot install 1.8.7 on Win32
https://bugs.ruby-lang.org/issues/2481
2009-12-15T13:08:43Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
r25838でruby_1_8_7にマージされた変更のうち、instruby.rb分については<br>
ruby_1_8ブランチ固有の問題の対処なので、ruby_1_8_7には不要です。<br>
というか、このせいでnmake installができなくなっています。<br>
お手数ですがこの部分のrevertをお願いします。<br>
=end</p>
Backport187 - Bug #1362 (Closed): test/thread/lbtest.rb stops forever on mswin32
https://bugs.ruby-lang.org/issues/1362
2009-04-08T13:08:03Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
1.8.7 headで表題の通りの現象が発生しています。<br>
1.8.6のリリース済みの各バージョンおよびhead、1.8.7のリリース済みの各バージョン、1.8 headでは発生しません。</p>
<p>1.8.6や1.8 headのthread.soと1.8.7 headのrubyを組み合わせても問題は発生します。<br>
=end</p>