[Mono-bugs] [Bug 665956] New: HttpWebRequest exhaust threads
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Thu Jan 20 14:10:47 EST 2011
https://bugzilla.novell.com/show_bug.cgi?id=665956
https://bugzilla.novell.com/show_bug.cgi?id=665956#c0
Summary: HttpWebRequest exhaust threads
Classification: Mono
Product: Mono: Runtime
Version: 2.8.x
Platform: x86-64
OS/Version: Windows 7
Status: NEW
Severity: Critical
Priority: P5 - None
Component: io-layer
AssignedTo: lupus at novell.com
ReportedBy: mauhumor at gmail.com
QAContact: mono-bugs at lists.ximian.com
Found By: ---
Blocker: ---
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b9) Gecko/20100101
Firefox/4.0b9
Consecutive calls HttpWebRequest GetResponse results in mono crashing with a
messagebox with the title "Fatal error in gc" and the text "too many threads".
The error could be isolated using a minimal program that does only loops like
10 times a second, instantiate an HttpWebRequest and call either GetResponse or
BeginGetResponse result in the error after 50-250 http calls.
Was detected on several machines, with different hardware, all using windows 7.
Tested on Windows 2008 Server and everything run fine on that OS (although all
hardware where virtualized).
Tested also using Mono 1.2.5 without errors on any plataform.
Reproducible: Always
Steps to Reproduce:
1. On windows 7 make a loop that
2. instantiate an object of HttpWebRequest
3. call GetResponse or BeginGetResponse
Actual Results:
Mono crash after 50-250 calls
Expected Results:
Keep running forever
// sample program, crashes every time on Windows 7
using System;
using System.IO;
using System.Net;
using System.Threading;
public class Test
{
public void Main(string[] args)
{
int count = 0;
while (true)
{
string url = "http://www.google.com.br/";
var request = (HttpWebRequest)WebRequest.Create(url);
request.Timeout = 10000;
HttpWebResponse response = null;
try
{
response = (HttpWebResponse)request.GetResponse();
}
catch (WebException e)
{
Console.WriteLine("exception: " + e.ToString());
continue;
}
var reader = new StreamReader(response.GetResponseStream());
string data = reader.ReadToEnd();
reader.Dispose(); // also tried "close"
Console.WriteLine("call count so far: " + count++);
Thread.Sleep(50);
}
}
}
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the mono-bugs
mailing list