[#34556] /(.)(.)/.match("ab").select {|v| true } is empty — Tanaka Akira <akr@...>
以下のように、MatchData#select でブロックが常に真なのに結果
[#34567] write to broken pipe on Linux — Nobuyoshi Nakada <nobu@...>
なかだです。
まつもと ゆきひろです
なかだです。
[#34571] Re: [ruby-cvs:23495] Ruby:r16255 (ruby_1_8, trunk): * range.c (range_step): allow float step bigger than zero but less — Tanaka Akira <akr@...>
In article <200805011435.m41EZFBL003014@ci.ruby-lang.org>,
[#34605] Array#mapがEnumeratorを返さない — rubikitch@...
るびきちです。
[#34623] Marshal.load( Marshal.dump( Float ) )の不一致@1.8 — "H.Holon" <holon@...>
H.Holonです。
[#34646] break in lambda — Tanaka Akira <akr@...>
lambda 直下に break があったとき、なにごともなかったかのよう
[#34647] fork 不可能な環境での test_argv0_noarg — wanabe <s.wanabe@...>
ワナベと申します。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
須藤です。
[#34648] Bignum のメソッドからの bigzero_p — wanabe <s.wanabe@...>
ワナベと申します。
[#34676] removing Array#nitems {} — "Akinori MUSHA" <knu@...>
Array#nitems はnilでない要素を数えるメソッドですが、ブロックを
[#34691] ext/openssl and newer OpenSSL — Takahiro Kambe <taca@...>
こんにちは。
[#34692] [ruby1.9] fork と thread — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
[#34726] memory leak by Array#sort! — Tanaka Akira <akr@...>
以下のように、Array#sort! の中で配列を変更するとメモりリークします。
[#34739] net/imap uses Thread#raise — Tanaka Akira <akr@...>
net/imap が原因だと思うのですが、
前田です。
In article <704d5db90805210204o7aa80c00lfeb13a34230c2c03@mail.gmail.com>,
なかだです。
[#34741] Date.parse("##-##-##") — "Akinori MUSHA" <knu@...>
Date.parse("##.##.##") の ruby_1_8 における挙動が trunk とも
> Date.parse("##.##.##") の ruby_1_8 における挙動が trunk とも
[#34742] Ruby 1.8.7-preview3 has been released — "Akinori MUSHA" <knu@...>
Ruby 1.8.7-preview3 をリリースしました。
お疲れ様です。
At Mon, 19 May 2008 11:28:10 +0900,
In message <86k5hrow30.knu@iDaemons.org>
もう一つ追加です。
At Mon, 19 May 2008 18:55:42 +0900,
[#34751] benchmark result of reverse_complement — SASADA Koichi <ko1@...>
ささだです.
[#34758] Re: [ruby-cvs:23717] Ruby:r16477 (trunk): * regparse.c (PINC): use optimized enclen() instead of — SASADA Koichi <ko1@...>
ささだです.
遠藤と申します。
[#34768] Improvement of lazy sweep patch — authorNari <authornari@...>
authorNariです。
まつもと ゆきひろです
[#34775] (1..5).step(SimpleDelegator.new(1.5)) {|x| p x} differ from (1..5).step(1.5) {|x| p x} — Tanaka Akira <akr@...>
以下のように (1..5).step(1.5) {|x| p x} と
[#34800] Windows2000上でtrunkがビルドできない — KIMURA Koichi <kimura.koichi@...>
木村です。
こんにちは、なかむら(う)です。
木村です。
木村です。
こんにちは、なかむら(う)です。
木村です。
こんにちは、なかむら(う)です。
[#34810] -Wall — SASADA Koichi <ko1@...>
ささだです.
[#34830] return value of pp — "Yusuke ENDOH" <mame@...>
遠藤です。
[#34877] [Ruby 1.9 - Bug #11] prelude.c compilation problem on mswin32 — redmine@...
Issue #11 has been updated by Usaku NAKAMURA.
[#34883] [#19002] RUBY_* constants — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#34889] Ruby 1.8.7-preview4 test-all failed in OpenSSL::TestSSL — Nobuhiro IMAI <nov@...>
いまいです。
Nobuhiro IMAI さんは書きました:
At Sat, 31 May 2008 21:06:47 +0900,
この話題についていろいろ試していて気付いたのですが
[ruby-dev:34739] net/imap uses Thread#raise
net/imap が原因だと思うのですが、
make test-all で test_eucjp(TestKconv) が net/imap 関連のバッ
クトレースがついて
OpenSSL::SSL::SSLError: SSL_read:: certificate verify failed
という例外でエラーになったり、
http://www.rubyist.net/~akr/chkbuild/debian-sarge/ruby-trunk/log/20080513T002703.txt.gz :
5) Error:
test_eucjp(TestKconv):
OpenSSL::SSL::SSLError: SSL_read:: certificate verify failed
/home/akr/chkbuild/tmp/build/ruby-trunk/20080513T002703/ruby/.ext/common/openssl/buffering.rb:35:in `sysread'
/home/akr/chkbuild/tmp/build/ruby-trunk/20080513T002703/ruby/.ext/common/openssl/buffering.rb:35:in `fill_rbuff'
/home/akr/chkbuild/tmp/build/ruby-trunk/20080513T002703/ruby/.ext/common/openssl/buffering.rb:106:in `gets'
/home/akr/chkbuild/tmp/build/ruby-trunk/20080513T002703/ruby/lib/net/imap.rb:1012:in `get_response'
/home/akr/chkbuild/tmp/build/ruby-trunk/20080513T002703/ruby/lib/net/imap.rb:955:in `receive_responses'
/home/akr/chkbuild/tmp/build/ruby-trunk/20080513T002703/ruby/lib/net/imap.rb:948:in `block in initialize'
make test-all が唐突に終わってしまったりします。
http://www.rubyist.net/~akr/chkbuild/debian-sarge/ruby-trunk/log/20080518T034301.txt.gz :
...
test_encode_utf7(IMAPTest): .
test_imaps_post_connection_check(IMAPTest): .
test_imaps_unknown_ca(IMAPTest): .
test_imaps_verify_none(IMAPTest): .
test_imaps_with_ca_file(IMAPTest): .
test_starttls(IMAPTest): E
test_eucjp(TestKconv): .
test_jis(TestKconv): .
test_shiftjis(TestKconv): .
test_utf8(TestKconv): .
/home/akr/chkbuild/tmp/build/ruby-trunk/20080518T034301/ruby/.ext/common/openssl/buffering.rb:35:in `sysread': SSL_read:: certificate verify failed (OpenSSL::SSL::SSLError)
from /home/akr/chkbuild/tmp/build/ruby-trunk/20080518T034301/ruby/.ext/common/openssl/buffering.rb:35:in `fill_rbuff'
from /home/akr/chkbuild/tmp/build/ruby-trunk/20080518T034301/ruby/.ext/common/openssl/buffering.rb:106:in `gets'
from /home/akr/chkbuild/tmp/build/ruby-trunk/20080518T034301/ruby/lib/net/imap.rb:1012:in `get_response'
from /home/akr/chkbuild/tmp/build/ruby-trunk/20080518T034301/ruby/lib/net/imap.rb:955:in `receive_responses'
from /home/akr/chkbuild/tmp/build/ruby-trunk/20080518T034301/ruby/lib/net/imap.rb:948:in `block in initialize'
test/net/imap/test_imap.rb をいじって確実に disconnect させ
るようにしたりもしたのですが、どうも症状が消えません。
調べてみると、どうも net/imap は内部で @receiver_thread とい
うスレッドを作っていて、それが例外になった時に、クライアント
側のスレッドに Thread#raise で例外を発生させ直すということを
やっているようです。その結果、タイミングによっては、たとえば
test_eucjp の最中に起これば最初の例のようなエラーとなり、ま
た、テストとテストの合間に起これば test-all のプロセス自身が
終了してしまう、ということのようです。
で、思うのですが、まずそもそも Thread#raise を使うのはよろし
くありません。しばらく前に、[ruby-talk:292398] で始まるスレッ
ドがあり、私も何通か書きましたが、どのタイミングで起こるかわ
からない例外は対処が困難だと思います。もしうまく対処できると
いうのであれば、ぜひ方法を教えてください。
私としては、Thread#raise を使うのは止めて、例外はそのままス
レッドを終了させるようにし、disconnect あたりで join するこ
とによりクライアント側に例外を移すのが良いのではないかと思い
ます。
--
[田中 哲][たなか あきら][Tanaka Akira]