Hello, I'm currently working on releasing v1.1.1 of our cross platform library that runs on Xamarin iOS / Android, Windows, OS X, and Linux (Both .NET 3.5 and 4.5) and I'm running into a nasty issue. I could use some help trying to get to the bottom of this. The high level symptom is that a call to
HttpClient.SendAsync() appears to "get lost." It never goes out over the wire according to Wireshark and pausing the debugger reveals no threads are waiting for anything network related. I assume this mean that it is stuck in async I/O land. I've been running things again and again and again and I've finally narrowed down the problem to this:
Worker that helps socket operations, the
static void DispatcherCB (SocketAsyncResult sar) stops being called. It will resume again if the request gets cancelled. What can I do to diagnose and prevent this behavior? All platforms are OK except for Linux, but on Linux it has happened on two different machines with two different architectures as well as five different versions of mono, including the latest stable (4.0.3), 4.2, and master. If you are interested in one of the ways I can reproduce this bug, it's not simple but one of the unit tests that hangs is located here.