[Mono-bugs] [Bug 74840][Maj] Changed - Blocking Read() does not return if NetworkStream is closed underneath it

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Thu, 5 May 2005 21:29:33 -0400 (EDT)


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 gonzalo@ximian.com.

http://bugzilla.ximian.com/show_bug.cgi?id=74840

--- shadow/74840	2005-05-05 19:17:20.000000000 -0400
+++ shadow/74840.tmp.1069	2005-05-05 21:29:33.000000000 -0400
@@ -1,13 +1,13 @@
 Bug#: 74840
 Product: Mono: Class Libraries
 Version: 1.1
 OS: unknown
 OS Details: 
-Status: NEW   
-Resolution: 
+Status: RESOLVED   
+Resolution: NOTABUG
 Severity: Unknown
 Priority: Major
 Component: CORLIB
 AssignedTo: gonzalo@ximian.com                            
 ReportedBy: joeshaw@novell.com               
 QAContact: mono-bugs@ximian.com
@@ -53,6 +53,35 @@
    at System.Net.Sockets.TcpClient.GetStream()
    at Y.HandleConnection()
 
 
 telnet never died or indicated that the connection was closed after
 the server said it closed the client.
+
+------- Additional Comments From gonzalo@ximian.com  2005-05-05 21:29 -------
+<gonzalo> [/cygdrive/c/tmp]$ s.exe
+<gonzalo> Handling connection
+<gonzalo> Reading data
+<gonzalo> Closing all clients
+<gonzalo> Closed 4
+<gonzalo> All clients closed
+<gonzalo> and then I pressed 
+<gonzalo> enter in the telnet side and got:
+<gonzalo> Read 2 bytes
+<gonzalo> Reading data
+<gonzalo> Unhandled Exception: System.ObjectDisposedException: Cannot
+access a disposed object named "System.N
+<gonzalo> et.Sockets.TcpClient".
+<gonzalo> Object name: "System.Net.Sockets.TcpClient".
+<gonzalo>    at System.Net.Sockets.TcpClient.GetStream()
+<gonzalo>    at Y.HandleConnection()
+<gonzalo> gonzalo@lalo:/tmp $ mono s.exe
+<gonzalo> Handling connection
+<gonzalo> Reading data
+<gonzalo> Closing all clients
+<gonzalo> Closed -1028425472
+<gonzalo> All clients closed
+<gonzalo> Read 2
+<gonzalo> Read 2 bytes
+<gonzalo> Reading data
+<gonzalo> and then a nullref + objectdisposed
+<gonzalo> so our behavior matches MS except for that extra nullref