[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