[#41278] [BUG:1.9] BINARY should not be ASCII-compatible — Yugui <yugui@...>

WXVndWkbJEIkRyQ5ISMbKEIKCgo+IBskQiRHISIkKiQqJGAkTSQzJDMkXiRHJE41RE9AJEclKyVQ

15 messages 2010/05/11

[#41407] [Bug #3339] win32ole test failure — Usaku NAKAMURA <redmine@...>

Bug #3339: win32ole test failure

20 messages 2010/05/25
[#41411] Re: [Bug #3339] win32ole test failure — Masaki Suketa <masaki.suketa@...> 2010/05/25

助田です。

[#41412] Re: [Bug #3339] win32ole test failure — "U.Nakamura" <usa@...> 2010/05/25

こんにちは、なかむら(う)です。

[ruby-dev:41374] Re: [Bug #3318] net/imap/test_imap.rb reports an error on Windows

From: "U.Nakamura" <usa@...>
Date: 2010-05-20 09:22:57 UTC
List: ruby-dev #41374
こんにちは、なかむら(う)です。

In message "[ruby-dev:41371] Re: [Bug #3318] net/imap/test_imap.rb reports an  error on Windows"
    on May.20,2010 16:50:31, <shugo@ruby-lang.org> wrote:
> >> 311行目の
> >>
> >>   @receiver_thread.raise(e)
> >>
> >> あたりを通っている気がするのですが、どんな例外が発生しているか教えて
> >> いただけると何かわかるかもしれません。
> >
> > まだあんまり真面目に追ってないんですが、306行目の
> >          @sock.shutdown
> > で #<RuntimeError: error> が発生しています。
> > (で311行目を通っています)
> > なぜにRuntimeErrorなんでしょう...
> 
> test_exception_during_shutdownで
> 
>           def @sock.shutdown(*args)
>             super
>             raise "error"
>           end
> 
> とかしてるんですけど、WindowsだとTCPSocketのインスタンスが使い回され
> ていたりとか…ってことはないですよね。
> うーん、何でだろう。

うわ、すみません、間違った出力を見てました orz
まさにそのtest_exception_during_shutdownで期待通りの例外が起
きてるところを間違えて追ってました...

で、改めて、test_idle_done_not_during_idleの方ですが、正常に
期待されるパスを通って、問題の @sock.close にまで辿りついてい
ました。
ではどこでcloseされてるかというと、net/imap.rbの1039行目、
receive_responses内のrescueのところです。
で、そのrescueに入る原因となった例外は1110行目、get_response
で起きてます。

#<Errno::ESHUTDOWN: ソケットが以前のシャットダウンの呼び出しでシャットダウンされているため、データの送受信を要求することは禁じられています。>

# いやあwinsockの出すメッセージはわかりやすい

というわけで、disconnect内でshutdownを実行した時点では別スレ
ッドのget_responseがまだ実行中であるということになりますが、
このテスト的にそれが正しいかどうかが怪しいということになるん
でしょうかね?


それでは。
-- 
U.Nakamura <usa@garbagecollect.jp>


In This Thread

Prev Next