[ruby-list:49613] Re: IO.popen の不審な挙動を再現するサンプルコード
From:
Nobuyoshi Nakada <nobu@...>
Date:
2013-09-28 14:42:23 UTC
List:
ruby-list #49613
(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はできる。
中田 伸悦