From: Nobuyoshi Nakada Date: 2013-09-28T23:42:23+09:00 Subject: [ruby-list:49613] Re: IO.popen の不審な挙動を再現するサンプルコード (13/09/28 20:29), 尾川敏也 wrote: > なお、IO.popen で C プログラムを使う状態で、試しに 入力データを 3000 > 行から 4000 行に増やしたら、これまで見かけなかった以下のようなエラー > メッセージが表示されました。 > > ----------- 40 / 100 --------- > ----------- 41 / 100 --------- > ----------- 42 / 100 --------- > ----------- 43 / 100 --------- > ----------- 44 / 100 --------- > C:/ogw/ruby/use_iopopen.rb:6:in `close_write': closed stream (IOError) > from C:/ogw/ruby/use_iopopen.rb:6:in `block (2 levels) in |' スレッドtの終了を待たずにpopenのブロックを抜けているために、 close_writeの前にcloseされているのでしょう。 > [BUG] Segmentation fault > ruby 2.0.0p247 (2013-06-27 revision 41674) [i386-mswin32_100] > > -- C level backtrace information ------------------------------------------- > (ここでフリーズして動かなくなりました。) > > [BUG] とか C level backtrace information などというのが表示されてい > ますので、私の外部プログラムではなくて Ruby 側の問題のように見えま > す。(違っていたら、大変恥ずかしいですが。) これはrubyのバグです。できれば、trunkでも試してみてください。 -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦