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 - Feature #14832 (Closed): Net::ReadTimeout and Net::WriteTimeout should tell the cau...
https://bugs.ruby-lang.org/issues/14832
2018-06-07T09:57:22Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>When <code>Net::ReadTimeout</code> occurs, we can't get any information from the exception.<br>
It makes the trouble shooting too difficult.</p>
<p>I propose that <code>io</code> member to <code>Net::ReadTimeout</code> instance.<br>
Then, when <code>Net::ReadTimeout</code> is rescued, we can know the cause IO instance.</p>
<pre><code class="diff syntaxhl" data-language="diff"><span class="gh">Index: lib/net/protocol.rb
===================================================================
</span><span class="gd">--- lib/net/protocol.rb (revision 63597)
</span><span class="gi">+++ lib/net/protocol.rb (working copy)
</span><span class="p">@@ -75,15 +75,41 @@</span>
# ReadTimeout, a subclass of Timeout::Error, is raised if a chunk of the
# response cannot be read within the read_timeout.
<span class="gd">- class ReadTimeout < Timeout::Error; end
</span><span class="gi">+ class ReadTimeout < Timeout::Error
+ def initialize(io = nil)
+ @io = io
+ end
+ attr_reader :io
</span>
<span class="gi">+ def message
+ msg = super
+ if @io
+ msg = "#{msg} with #{@io.inspect}"
+ end
+ msg
+ end
+ end
+
</span> ##
# WriteTimeout, a subclass of Timeout::Error, is raised if a chunk of the
# response cannot be read within the read_timeout.
<span class="gd">- class WriteTimeout < Timeout::Error; end
</span><span class="gi">+ class WriteTimeout < Timeout::Error
+ def initialize(io = nil)
+ @io = io
+ end
+ attr_reader :io
</span>
<span class="gi">+ def message
+ msg = super
+ if @io
+ msg = "#{msg} with #{@io.inspect}"
+ end
+ msg
+ end
+ end
</span>
<span class="gi">+
</span> class BufferedIO #:nodoc: internal use only
def initialize(io, read_timeout: 60, write_timeout: 60, continue_timeout: nil, debug_output: nil)
@io = io
<span class="p">@@ -188,12 +214,12 @@</span>
rv.clear
return
when :wait_readable
<span class="gd">- @io.to_io.wait_readable(@read_timeout) or raise Net::ReadTimeout
</span><span class="gi">+ (io = @io.to_io).wait_readable(@read_timeout) or raise Net::ReadTimeout.new(io)
</span> # continue looping
when :wait_writable
# OpenSSL::Buffering#read_nonblock may fail with IO::WaitWritable.
# http://www.openssl.org/support/faq.html#PROG10
<span class="gd">- @io.to_io.wait_writable(@read_timeout) or raise Net::ReadTimeout
</span><span class="gi">+ (io = @io.to_io).wait_writable(@read_timeout) or raise Net::ReadTimeout.new(io)
</span> # continue looping
when nil
raise EOFError, 'end of file reached'
<span class="p">@@ -267,7 +293,7 @@</span>
end
# continue looping
when :wait_writable
<span class="gd">- @io.to_io.wait_writable(@write_timeout) or raise Net::WriteTimeout
</span><span class="gi">+ (io = @io.to_io).wait_writable(@write_timeout) or raise Net::WriteTimeout.new(io)
</span> # continue looping
end while need_retry
end
</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 - Feature #14645 (Closed): Remove problematic separator '\0' of Dir.glob and Dir.[]
https://bugs.ruby-lang.org/issues/14645
2018-03-29T03:52:28Z
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 - Feature #14644 (Closed): Remove problematic separator '\0' of Dir.glob and Dir.[]
https://bugs.ruby-lang.org/issues/14644
2018-03-29T03:52:24Z
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 - Feature #14643 (Closed): Remove problematic separator '\0' of Dir.glob and Dir.[]
https://bugs.ruby-lang.org/issues/14643
2018-03-29T03:52:17Z
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 - Feature #12754 (Closed): Want to use prepared buffer with `Array#pack`
https://bugs.ruby-lang.org/issues/12754
2016-09-12T06:59:05Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p><code>Array#pack</code> always returns new allocated <code>String</code>, but sometimes users want to use prepared buffer, especially the packed size is too large.<br>
I often uses <code>Fiddle</code> to call OS APIs, and encounter this problem as every time.<br>
I recommend to add keyword arguments for the purpose.</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="n">buf</span> <span class="o">=</span> <span class="s1">'\0'</span><span class="o">*</span><span class="p">(</span><span class="mi">32</span> <span class="o">*</span> <span class="mi">1024</span> <span class="o">*</span> <span class="mi">1024</span><span class="p">)</span>
<span class="c1"># ...</span>
<span class="n">ary</span><span class="p">.</span><span class="nf">pack</span><span class="p">(</span><span class="no">LONG_FORMAT</span><span class="p">,</span> <span class="ss">buffer: </span><span class="n">buf</span><span class="p">,</span> <span class="ss">offset: </span><span class="mi">4</span> <span class="o">*</span> <span class="mi">1024</span><span class="p">)</span> <span class="c1"># returns `buf`</span>
</code></pre>
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 - Feature #11785 (Closed): add `encoding:` optional argument to `String.new`
https://bugs.ruby-lang.org/issues/11785
2015-12-08T02:33:39Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>I propose to add <code>encoding:</code> optional argument to <code>String.new</code>.</p>
<p>Ruby doesn't have the syntax to specify the encoding of a string literal.<br>
So we're using <code>String#force_encoding</code> for the purpose when writing m17n script, just like:</p>
<pre><code class="Ruby syntaxhl" data-language="Ruby"><span class="n">str</span> <span class="o">=</span> <span class="s2">"</span><span class="se">\xA4\xA2</span><span class="s2">"</span><span class="p">.</span><span class="nf">force_encoding</span><span class="p">(</span><span class="s1">'euc-jp'</span><span class="p">)</span>
</code></pre>
<p>But when using <code>frozen-string-literal: true</code>, <code>force_encoding</code> to literals raise RuntimeError.<br>
So, we must write like:</p>
<pre><code class="Ruby syntaxhl" data-language="Ruby"><span class="n">str</span> <span class="o">=</span> <span class="s2">"</span><span class="se">\xA4\xA2</span><span class="s2">"</span><span class="p">.</span><span class="nf">dup</span><span class="p">.</span><span class="nf">force_encoding</span><span class="p">(</span><span class="s1">'euc-jp'</span><span class="p">)</span>
</code></pre>
<p>or, if don't prefer <code>dup</code>,</p>
<pre><code class="Ruby syntaxhl" data-language="Ruby"><span class="n">str</span> <span class="o">=</span> <span class="no">String</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="s2">"</span><span class="se">\xA4\xA2</span><span class="s2">"</span><span class="p">).</span><span class="nf">force_encoding</span><span class="p">(</span><span class="s1">'euc-jp'</span><span class="p">)</span>
</code></pre>
<p>but these are very unshapely.<br>
To begin with, using <code>force_encoding</code> would be the cause of the unshapliness.</p>
<p>Therefore, I propose <code>encoding:</code> optional argument of <code>String.new</code>.<br>
If it's available, we can write:</p>
<pre><code class="Ruby syntaxhl" data-language="Ruby"><span class="n">str</span> <span class="o">=</span> <span class="no">String</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="s2">"</span><span class="se">\xA4\xA2</span><span class="s2">"</span><span class="p">,</span> <span class="ss">encoding: </span><span class="s1">'euc-jp'</span><span class="p">)</span>
</code></pre>
<p>This was proposed at the developer meeting on the last August and was generally favorably accepted (in my impression), but was forgotten after it.</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 - Feature #11215 (Closed): pack/unpack for (u)intptr_t
https://bugs.ruby-lang.org/issues/11215
2015-06-03T07:33:19Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>以前にも似たようなものを提案したような気がしないでもないですが、<br>
WindowsのAPIを叩いてるとどうしても必要になるので改めて提案します。</p>
<p>pack/unpackのテンプレート文字として、新たに、</p>
<p>j: intptr_t, native endian<br>
J: uintptr_t, native endian</p>
<p>を追加することを提案します。</p>
<p>他のプラットフォームではlongがこれと一致することが多いためにあまり問題に<br>
ならないようですが、WindowsではそうではないのでAPIを叩くたびに毎度苦労しています。<br>
(そもそもAPIを叩く頻度もWindowsは他のプラットフォームより高そうな気がします)</p>
<p>パッチも用意したので添付しておきます。</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>
Backport193 - Backport #9463 (Closed): SEGV when calling GC.start in a finalizer
https://bugs.ruby-lang.org/issues/9463
2014-01-30T10:05:43Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>minimum reproduce code:</p>
<pre><code>raise_proc = proc do |id|
GC.start
end
3.times do
ObjectSpace.define_finalizer(Object.new, raise_proc)
end
</code></pre>
<p>to fix this, need to backport r33361 and r33460.</p>
Backport21 - Backport #9306 (Closed): please backport r44440 and r44444 (build problem of mswin)
https://bugs.ruby-lang.org/issues/9306
2013-12-27T13:37:39Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>current ruby (2.0.0 or later) uses fake.rb for install, but it's broken on mswin.<br>
this problem does not appear with 2.0.0 and 2.1.0, but will do with 2.1.1 (or 2.0.1, when it will be released.)</p>
Backport21 - Backport #9296 (Closed): please backport r44380 (visibility of methods defined by de...
https://bugs.ruby-lang.org/issues/9296
2013-12-25T16:38:21Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>this seems a severe incompatibility with ruby 2.0 or earlier.</p>
Backport200 - Backport #9272 (Closed): please backport r44307
https://bugs.ruby-lang.org/issues/9272
2013-12-21T05:14:38Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>see <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: win32.h is not installed by '(n)make install) (Closed)" href="https://bugs.ruby-lang.org/issues/9199">#9199</a>.</p>
Backport21 - Backport #9271 (Closed): please backport r44307
https://bugs.ruby-lang.org/issues/9271
2013-12-21T05:07:57Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>see <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: win32.h is not installed by '(n)make install) (Closed)" href="https://bugs.ruby-lang.org/issues/9199">#9199</a>.</p>
Backport200 - Backport #8752 (Closed): please backport r42439
https://bugs.ruby-lang.org/issues/8752
2013-08-08T16:12:34Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>WindowsのCIで異様に時間がかかるtestがあるのですが、<br>
実は無駄な時間消費なのでそれを改善するための変更です。</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>
Backport193 - Backport #8603 (Closed): Back porting r41623
https://bugs.ruby-lang.org/issues/8603
2013-07-05T13:00:07Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>r41623 fixes a bug of BigMath.exp in the case of negative non-BigDecimal arguments.</p>
<p>cf. <a href="https://github.com/ruby/ruby/pull/332" class="external">https://github.com/ruby/ruby/pull/332</a></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>
Backport193 - Backport #7285 (Closed): some failures on RubyInstaller CI
https://bugs.ruby-lang.org/issues/7285
2012-11-06T15:20:04Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>I know there are some failures on RubyInstall CI of 1.9.3. I guess these failures are related to system code page, because on my PC there is no failure. And, there is no failure on RubyInstall CI of trunk, so some backports may be needed. Luis, can you recall what changes on trunk fixed them? # Yes, this is my obligation, but I need help...</p>
Ruby master - Feature #7280 (Closed): How to set filesystem encoding
https://bugs.ruby-lang.org/issues/7280
2012-11-05T22:10:45Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>[Bug <a class="issue tracker-1 status-6 priority-4 priority-default closed" title="Bug: filesystem encoding of UNIX (Rejected)" href="https://bugs.ruby-lang.org/issues/2154">#2154</a>] から分離します。あっちは2.0.0(と1.9.3)をどう落ち着けるか、<br>
こっちはnext minorあたりでファイルシステムエンコーディングをどうするか、<br>
ということで。</p>
<p>今のところ、</p>
<ul>
<li>
<p>UNIX系でfilesystem encodingを設定したいユースケースはあるので、<br>
何らかの手段は提供したい。</p>
<ul>
<li>コマンドライン引数 --filesystem-encoding= およびメソッドEncoding.filesystem=<br>
が提案されている。(<a href="https://blade.ruby-lang.org/ruby-dev/46368">[ruby-dev:46368]</a>)</li>
</ul>
</li>
<li>
<p>OS Xのfilesystem encodingについてはまだまだ考慮の必要あり。</p>
</li>
</ul>
<p>といったところが課題かと思います。</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 - Feature #7252 (Closed): version number of 2.0 release
https://bugs.ruby-lang.org/issues/7252
2012-11-01T09:56:51Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>2月にリリースされるモノのバージョン番号はどうなる予定でしょうか?</p>
<p>例えばredmineでは「対象バージョン」に「2.0.0」とか書いてあるので、<br>
2.0.0になるのかと思われがちですが、バージョン番号付けルールは<br>
<a href="https://blade.ruby-lang.org/ruby-dev/15923">[ruby-dev:15923]</a> にあるように、</p>
<p>1.9.0からは末尾0が開発版、1以降が安定版</p>
<p>とされており、以降変更されていない、と理解しています。</p>
<p>よって、ポイントは、</p>
<p>(1) 2月に出すのは安定版ですか? それとも1.9.0-Xの時のようなお試し版ですか?<br>
(2) 安定版を出す場合、バージョン番号付けルールを変える? 変えない?</p>
<p>かと思います。</p>
<p>どういう予定でしょうか?</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 - Feature #6545 (Closed): inconvinient require order of DL
https://bugs.ruby-lang.org/issues/6545
2012-06-04T13:29:51Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>I found that test/dl/test_c_{struct,union}_entity.rb was broken when running<br>
test-all with -j option.<br>
The problem was wrong require, so I resolved them in r35901.</p>
<p>In the middle of this work, I noticed that dl/struct.rb didn't require<br>
dl/value.rb although depending on it.<br>
Moreover, I also noticed that dl/value.rb and dl/func.rb were depend on<br>
each other and not require other one.</p>
<p>For this reason, to use dl/struct.rb, as r35901 showed, it is necessary<br>
to require files with a puzzled order.<br>
This is a very foolish demand.<br>
I strongly recommend removing such a puzzle.</p>
Ruby master - Feature #6418 (Closed): Supporing a subset of ANSI escape code on Windows
https://bugs.ruby-lang.org/issues/6418
2012-05-09T11:04:22Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>Are there those who need this?</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>
Backport193 - Backport #5565 (Closed): STDOUT.puts writes LF (not CR+LF) in textmode
https://bugs.ruby-lang.org/issues/5565
2011-11-04T06:11:20Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>please backport r33627-33629.</p>
<p>ところで誰が1.9.3のメンテナなんでしょう?<br>
今回もyuguiさん?</p>
Backport187 - Backport #3883 (Closed): cannot build ruby_1_8_6 on windows
https://bugs.ruby-lang.org/issues/3883
2010-09-28T22:13:57Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
maybe merge mistake of r26577.<br>
see this patch.</p>
<a name="Index-evalc"></a>
<h1 >Index: eval.c<a href="#Index-evalc" class="wiki-anchor">¶</a></h1>
<p>--- eval.c (リビジョン 29354)<br>
+++ eval.c (作業コピー)<br>
@@ -12098,6 +12098,8 @@ rb_thread_stop_timer()<br>
thread_init = 0;<br>
}</p>
<p>+#else /* !(_THREAD_SAFE || HAVE_SETITIMER) */<br>
+int rb_thread_tick = THREAD_TICK;<br>
#endif</p>
<p>static VALUE<br>
=end</p>
Backport192 - Backport #3658 (Closed): Re: *array で異常終了
https://bugs.ruby-lang.org/issues/3658
2010-08-05T17:24:10Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
こんにちは、なかむら(う)です。</p>
<p>チケット化するために全文引用します。<br>
なお、trunk、ruby_1_9_2においても、プラットフォームによらず再<br>
現できます。</p>
<p>なお再現ケースは [0,*x=1];x まで短縮できました。<br>
あんまり意味ないですが。</p>
<p>In message "<a href="https://blade.ruby-lang.org/ruby-dev/41933">[ruby-dev:41933]</a> *array で異常終了"<br>
on Aug.05,2010 17:07:58, <a href="mailto:oda@alato.ne.jp" class="email">oda@alato.ne.jp</a> wrote:</p>
<blockquote>
<p>小田利通と申します。</p>
<p>ruby 1.9.1 でアボートします。</p>
<p>$ ruby -e 'x=[1];[2,*x];x'</p>
<p>たぶん、バグじゃないかと。</p>
<p>T.Oda</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>
Backport192 - Backport #3598 (Closed): ruby crushes with Dir[deep_path]
https://bugs.ruby-lang.org/issues/3598
2010-07-22T12:07:13Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
Dir['a/'*10000] とかでrubyが死にます。<br>
なお、1.8では起きないように見えます。</p>
<p>死ぬこと自体には環境依存はなさそうですが、再現するために<br>
必要なパスの深さは環境によって異なるだろうとは思います。</p>
<p>また、死に方は環境によるようですが、いずれにせよ[BUG]の表示は<br>
実行できていなさそうです。</p>
<p>以上、とりあえず報告まで。<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>
Backport191 - Backport #2416 (Closed): win32's flock
https://bugs.ruby-lang.org/issues/2416
2009-12-01T10:09:57Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<p>=begin<br>
[ruby-list:46578] の末尾あたりで示されたErrno::EINVALの件ですが、<br>
trunkでは既に修正済みのものです。<br>
というわけで、r25133のバックポートをお願いします。</p>
<p>あと、その調査の過程で見つけたんですが、本件とは関係ないのですが、<br>
ついでにr24253もバックポートしてもらえるとうれしいなーと思います。<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>