[Mono-bugs] [Bug 77432][Maj] New - System.Net.HttpListener hangs reading past end of a non-chunked response

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Wed Feb 1 05:31:53 EST 2006

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by pawel.sakowski at mind-breeze.com.


--- shadow/77432	2006-02-01 05:31:53.000000000 -0500
+++ shadow/77432.tmp.4167	2006-02-01 05:31:53.000000000 -0500
@@ -0,0 +1,71 @@
+Bug#: 77432
+Product: Mono: Class Libraries
+Version: 1.1
+OS: GNU/Linux [Other]
+OS Details: 
+Status: NEW   
+Priority: Major
+Component: System
+AssignedTo: mono-bugs at ximian.com                            
+ReportedBy: pawel.sakowski at mind-breeze.com               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+Summary: System.Net.HttpListener hangs reading past end of a non-chunked response
+Description of Problem:
+Upon receiving an HTTP request with a specified Content-Length
+(non-chunked), HttpListener's input stream (System.Net.RequestStream) tries
+to read from the socket (Read accesses the socket instead of returning 0)
+even after having fetched the amount of data specified by the header. Since
+at that point the HTTP client provides no new data, the Read hangs until a
+timeout occurs.
+Steps to reproduce the problem:
+1. Test code:
+using System;
+using System.Net;
+class TestClient {
+static void Main() {
+WebRequest req = WebRequest.CreateDefault(new Uri(""));
+req.Method = "POST";
+using System;
+using System.Net;
+class TestServer {
+static void Main() {
+HttpListener lis = new HttpListener();
+byte[] buf = new byte[100];
+Console.WriteLine("read: "+
+  lis.GetContext().Request.InputStream.Read(buf,0,100));
+2. Run TestServer.
+3. Run TestClient.
+Actual Results:
+TestServer does not return (until the connection times out).
+Expected Results:
+"read: 0" on TestServer's console
+How often does this happen? 
+Additional Information:
+Relevant headers from the HTTP request generated by TestClient:
+Content-Length: 0
+Expect: 100-continue
+Microsoft implementation of the System.Net classes provides the expected

More information about the mono-bugs mailing list