[Mono-dev] WebConnectionStream.Read() timeout downloading large files with Mono 2.10.1

Tom Philpot tom.philpot at logos.com
Thu May 19 11:50:27 EDT 2011

So, after running an automated git bisect, it turns out that commit 50a295ac1be (https://github.com/mono/mono/commit/50a295ac1becc5c0927917644a1b246b4c8e945b#mcs/class/System/System.Net.Sockets/Socket_2_1.cs) caused the breakage on the dual-core Macs we're using.

Unfortunately, fixing it is not as simple as "git revert 50a295ac1be" as there are some conflicts and once those are resolved, Socket.EndReceive  ends up getting called twice.

Any thoughts?

From: Tom Philpot <tom.philpot at logos.com<mailto:tom.philpot at logos.com>>
Date: Tue, 17 May 2011 12:16:10 -0700
To: "mono-devel-list at lists.ximian.com<mailto:mono-devel-list at lists.ximian.com>" <mono-devel-list at lists.ximian.com<mailto:mono-devel-list at lists.ximian.com>>
Subject: WebConnectionStream.Read() timeout downloading large files with Mono 2.10.1

Since switching to 2.10.1 for our app, we're seeing a lot more Read() timeouts when downloading large files (greater than 50 MB or so).

I've created a small test program that reproduces the behavior.  We've noticed that this bug is that it is more likely to happen on users systems who only have 2 cores. On machines with 4 or more cores, bug does not manifest itself as much.

Running the test program under 2.6.x works fine, but under 2.10.1 it fails more often than not for me when I run on my MacBook. It runs fine on my MacPro whether I use 2.6.x or 2.10.1

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20110519/e1b3f0d0/attachment-0001.html 

More information about the Mono-devel-list mailing list