[Mono-dev] System.Runtime.Remoting unit test hangs

Zoltan Varga vargaz at gmail.com
Sat Feb 7 14:45:37 EST 2009


Hi People,

   So these tests are still hanging, especially on the net 1.1 profile.

What seems to happen is this:
- HtttpClientTransportSink.AsyncProcessMessage () is called, which
starts an async web request.
- either no response is received from HttpWebRequest, ie.
AsyncProcessResponseCallback is never called. This happens often,
  but not every time.
- or, AsyncProcessResponseCallback is called, which calls
request.EndGetResponse (ar); which throws an exception on the net
  1.1 profile, which is rethrown by this code:
  				if (httpResponse == null || httpResponse.StatusCode !=
HttpStatusCode.InternalServerError) {
					throw;
				}

  now this happens on a threadpool thread, so nobody handles the
exception, the thread is aborted, thus the client never receives
  a response, so it hangs.

To repro:
in System.Runtime.Remoting, run make check FIXTURE=Remoting.HttpAsyncCallTest

                Zoltan


More information about the Mono-devel-list mailing list