[Mono-bugs] [Bug 66988][Nor] Changed - [TESTCASE] Deserializing a lot of data from a web service throws a XmlException

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Thu, 11 Nov 2004 16:31:54 -0500 (EST)


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 grompf@sublimeintervention.com.

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

--- shadow/66988	2004-11-11 15:44:36.000000000 -0500
+++ shadow/66988.tmp.27894	2004-11-11 16:31:54.000000000 -0500
@@ -10,12 +10,13 @@
 Component: Sys.Web.Services
 AssignedTo: lluis@ximian.com                            
 ReportedBy: grompf@sublimeintervention.com               
 QAContact: mono-bugs@ximian.com
 TargetMilestone: ---
 URL: 
+Cc: 
 Summary: [TESTCASE] Deserializing a lot of data from a web service throws a XmlException
 
 The attached testcase will demonstrate this bug; where an unexpected depths xml exception is 
 thrown:
 
 Unhandled Exception: System.Xml.XmlException: unexpected end of file. Current depth is 6
@@ -122,6 +123,137 @@
 Unhandled Exception: System.Net.WebException: The request failed with
 HTTP status 401: Unauthorized
 
 
 ------- Additional Comments From bmaurer@users.sf.net  2004-11-11 15:44 -------
 I'll take a look at the leakage here.
+
+------- Additional Comments From grompf@sublimeintervention.com  2004-11-11 16:31 -------
+lluis, 
+
+  On svn head from last night (~1am) I'm getting:
+
+junglist:~/Desktop plasma$ mono test.exe
+Memory: 13672448
+Memory: 27889664
+Memory: 37265408
+Memory: 44916736
+Memory: 51060736
+Memory: 67366912
+
+Unhandled Exception: System.IndexOutOfRangeException: Array index is out of range.
+in <0x000b4> System.Net.ChunkStream:ReadTrailer (byte[],int&,int)
+in <0x00198> System.Net.ChunkStream:InternalWrite (byte[],int&,int)
+in <0x00204> System.Net.ChunkStream:InternalWrite (byte[],int&,int)
+in <0x00204> System.Net.ChunkStream:InternalWrite (byte[],int&,int)
+in <0x00044> System.Net.ChunkStream:Write (byte[],int,int)
+in <0x00058> System.Net.ChunkStream:WriteAndReadBack (byte[],int,int,int&)
+in <0x0018c> System.Net.WebConnection:EndRead (System.IAsyncResult)
+in <0x000cc> System.Net.WebConnectionStream:EndRead (System.IAsyncResult)
+in <0x000d8> System.Net.WebConnectionStream:Read (byte[],int,int)
+in <0x00078> System.IO.StreamReader:ReadBuffer ()
+in <0x00074> (wrapper remoting-invoke-with-check) System.IO.StreamReader:
+ReadBuffer ()
+in <0x001a4> System.IO.StreamReader:Read (char[],int,int)
+in <0x00044> System.Xml.XmlTextReader:ReadTextReader ()
+in <0x00034> System.Xml.XmlTextReader:PeekChar ()
+in <0x002fc> System.Xml.XmlTextReader:ReadName (string&,string&)
+in <0x000a8> System.Xml.XmlTextReader:ReadEndTag ()
+in <0x0021c> System.Xml.XmlTextReader:ReadContent ()
+in <0x00164> System.Xml.XmlTextReader:Read ()
+in <0x0098c> System.Xml.XmlDocument:ReadNode (System.Xml.XmlReader)
+in <0x003a0> System.Xml.XmlDocument:ReadNode (System.Xml.XmlReader)
+in <0x003a0> System.Xml.XmlDocument:ReadNode (System.Xml.XmlReader)
+in <0x003a0> System.Xml.XmlDocument:ReadNode (System.Xml.XmlReader)
+in <0x003a0> System.Xml.XmlDocument:ReadNode (System.Xml.XmlReader)
+in <0x003a0> System.Xml.XmlDocument:ReadNode (System.Xml.XmlReader)
+in <0x0010c> System.Xml.Serialization.XmlSerializationReader:ReadTypedPrimitive 
+(System.Xml.XmlQualifiedName)
+in <0x002b4> System.Xml.Serialization.XmlSerializationReader:ReadReferencingElement 
+(string,string,bool,string&)
+in <0x000c0> System.Xml.Serialization.XmlSerializationReader:ReadReferencingElement 
+(string&)
+in <0x02378> System.Xml.Serialization.XmlSerializationReaderInterpreter:ReadMembers 
+(System.Xml.Serialization.ClassMap,object,bool,bool)
+in <0x00320> System.Xml.Serialization.XmlSerializationReaderInterpreter:ReadMessage 
+(System.Xml.Serialization.XmlMembersMapping)
+in <0x00174> System.Xml.Serialization.XmlSerializationReaderInterpreter:ReadRoot ()
+in <0x000d4> System.Xml.Serialization.XmlSerializer:Deserialize 
+(System.Xml.Serialization.XmlSerializationReader)
+in <0x000ac> System.Xml.Serialization.XmlSerializer:Deserialize (System.Xml.XmlReader)
+in <0x00180> System.Web.Services.Protocols.WebServiceHelper:ReadSoapMessage 
+(System.Xml.XmlTextReader,System.Web.Services.Protocols.SoapTypeStubInfo,System.Web.
+Services.Description.SoapBindingUse,System.Xml.Serialization.XmlSerializer,object&,Syste
+m.Web.Services.Protocols.SoapHeaderCollection&)
+in <0x00410> System.Web.Services.Protocols.SoapHttpClientProtocol:ReceiveResponse 
+(System.Net.WebResponse,System.Web.Services.Protocols.SoapClientMessage,System.Web.
+Services.Protocols.SoapExtension[])
+in <0x000cc> (wrapper remoting-invoke-with-check) 
+System.Web.Services.Protocols.SoapHttpClientProtocol:ReceiveResponse 
+(System.Net.WebResponse,System.Web.Services.Protocols.SoapClientMessage,System.Web.
+Services.Protocols.SoapExtension[])
+in <0x003c4> System.Web.Services.Protocols.SoapHttpClientProtocol:Invoke 
+(string,object[])
+in <0x000b0> (wrapper remoting-invoke-with-check) 
+System.Web.Services.Protocols.SoapHttpClientProtocol:Invoke (string,object[])
+in <0x00090> xtvdWebService:download (string,string)
+in <0x000b0> (wrapper remoting-invoke-with-check) xtvdWebService:download 
+(string,string)
+in <0x00178> Test:Main (string[])
+
+junglist:~/Desktop plasma$ mono test.exe
+Memory: 13561856
+
+Unhandled Exception: System.Net.WebException: Error getting response stream 
+(ReadDone2): ReceiveFailure ---> System.Exception: 
+         at System.MulticastDelegate.invoke_void_IAsyncResult ()
+         at System.Net.Sockets.Socket+SocketAsyncResult.Complete ()
+         at System.Net.Sockets.Socket+SocketAsyncResult.Complete ()
+         at System.Net.Sockets.Socket+Worker.Receive ()
+         at System.MulticastDelegate.invoke_void ()
+in <0x00138> System.Net.WebConnection:HandleError 
+(System.Net.WebExceptionStatus,System.Exception,string)
+--- End of inner exception stack trace ---
+
+in <0x00368> System.Web.Services.Protocols.SoapHttpClientProtocol:Invoke 
+(string,object[])
+in <0x000b0> (wrapper remoting-invoke-with-check) 
+System.Web.Services.Protocols.SoapHttpClientProtocol:Invoke (string,object[])
+in <0x00090> xtvdWebService:download (string,string)
+in <0x000b0> (wrapper remoting-invoke-with-check) xtvdWebService:download 
+(string,string)
+in <0x00178> Test:Main (string[])
+
+junglist:~/Desktop plasma$ mono test.exe
+Memory: 13578240
+Memory: 27828224
+Memory: 30638080
+Memory: 39137280
+Memory: 42954752
+Memory: 43540480
+Memory: 43913216
+Memory: 46870528
+Memory: 52039680
+
+Unhandled Exception: System.Net.WebException: The request failed with HTTP status 401: 
+Unauthorized
+in <0x00224> System.Web.Services.Protocols.SoapHttpClientProtocol:ReceiveResponse 
+(System.Net.WebResponse,System.Web.Services.Protocols.SoapClientMessage,System.Web.
+Services.Protocols.SoapExtension[])
+in <0x000cc> (wrapper remoting-invoke-with-check) 
+System.Web.Services.Protocols.SoapHttpClientProtocol:ReceiveResponse 
+(System.Net.WebResponse,System.Web.Services.Protocols.SoapClientMessage,System.Web.
+Services.Protocols.SoapExtension[])
+in <0x003c4> System.Web.Services.Protocols.SoapHttpClientProtocol:Invoke 
+(string,object[])
+in <0x000b0> (wrapper remoting-invoke-with-check) 
+System.Web.Services.Protocols.SoapHttpClientProtocol:Invoke (string,object[])
+in <0x00090> xtvdWebService:download (string,string)
+in <0x000b0> (wrapper remoting-invoke-with-check) xtvdWebService:download 
+(string,string)
+in <0x00178> Test:Main (string[])
+
+So it will succeed sometimes, but will fail with different errors now.
+
+It also appears the leak is much more aggressive on ppc/darwin/osx
+
+-kangaroo