[Mono-dev] WebConnectionStream.Read() timeout downloading large files with Mono 2.10.1
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.
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...
More information about the Mono-devel-list