Actions
Bug #9881
closedstuck in test/openssl/test_ssl.rb on Windows
Bug #9881:
stuck in test/openssl/test_ssl.rb on Windows
Actions
Added by usa (Usaku NAKAMURA) over 12 years ago. Updated over 12 years ago.
まず ssl.sync_close = true の意味は、
ssl.close としたときに ssl に入っている
IO も同時に close するようにする、という意味です。
これがないと、test_verify_result で
sock = TCPSocket.new("127.0.0.1", port) として作ったソケットを close し忘れることになります。
close するようにしたら刺さるようになるというのは
ちょっと原因が想像しがたいのですが、
とりあえず刺さっているのはどこでしょうか。
刺さっている場所は ssl.sync_close = true そのものじゃなくて、それよりも後ではないかと思うのですが。
あと思いつくこととしては、test_verify_result は 3つのテストが入っている感じなので、
メソッドを 3つに分けてみるとかでしょうか。
それも含め、再現スクリプトを最小化してみるというのはどうでしょうか。
Akira Tanaka wrote:
close するようにしたら刺さるようになるというのは
ちょっと原因が想像しがたいのですが、
とりあえず刺さっているのはどこでしょうか。刺さっている場所は ssl.sync_close = true そのものじゃなくて、それよりも後ではないかと思うのですが。
はい、2回目の ssl.connect (266行目) です。
あと思いつくこととしては、test_verify_result は 3つのテストが入っている感じなので、
メソッドを 3つに分けてみるとかでしょうか。
それも含め、再現スクリプトを最小化してみるというのはどうでしょうか。
なるほど。
というわけで、今作業途中なのですが、247行目の ssl.sync_close = true があると266行目で刺さる
(249行目でなく)ということがわかったので、なんだか不穏な感じです。
ちょっと出かけないといけないのでまだ途中ですが、また新しいことがわかったら報告します。
Applied in changeset r46325.