Home All Groups Group Topic Archive Search About

System.OutOfMemoryException with .NET 2.0 but NOT .NET 1.1

Author
4 Jan 2007 7:09 PM
AY
Hello,

We use a third party reporting system (Actuate) which provides soap services
via WSDL.

My web application was initially built in Visual Studio 2003 using .NET 1.1.
I was able to download huge files, i.e., over 100MB with no problems.
Actuate also has a utility (c# win app) that has no issues with a .net 1.1
version.

Our dev house has upgraded to VS2005 and we have recompiled everything which
is now under .NET 2.0.  Now my web app may be able to download a file over
100MB once and then report a System.OutOfMemoryException.  This also occurs
in my DLLs and the Actuate utility that were all compiled with VS2005.

Is there a bug in the .NET Framework 2.0 somewhere in the memory allocation
or stream allocation process?  The exception thread below shows at what
point the process is dying.  Is there anyone that has any ideas around this?
Thanks in advance.

Again, none of the code has been changed, we just recompiled in vs2005 and
now are under .net 2.0 rather than 1.1.  That's the only change.

*****************************************************
   at System.String.GetStringForStringBuilder(String value, Int32
startIndex, Int32 length, Int32 capacity)
   at System.Text.StringBuilder.set_Capacity(Int32 value)
   at System.Xml.BufferBuilder.ToString()
   at System.Xml.XmlTextReaderImpl.ParseText()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlTextReader.Read()
   at System.Xml.XmlTextReaderImpl.InitReadElementContentAsBinary()
   at System.Xml.XmlTextReaderImpl.ReadElementContentAsBase64(Byte[] buffer,
Int32 index, Int32 count)
   at System.Xml.XmlTextReader.ReadElementContentAsBase64(Byte[] buffer,
Int32 index, Int32 count)
   at System.Xml.Serialization.XmlSerializationReader.ReadByteArray(Boolean
isBase64)
   at
System.Xml.Serialization.XmlSerializationReader.ToByteArrayBase64(Boolean
isNull)
   at
Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderActuateAPI.Read14_Attachment(Boolean
isNullable, Boolean checkType)
   at
Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderActuateAPI.Read167_DownloadFileResponse(Boolean
isNullable, Boolean checkType)
   at
Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderActuateAPI.Read517_downloadFileResponse()
   at
Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer165.Deserialize(XmlSerializationReader
reader)
   at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader
xmlReader, String encodingStyle, XmlDeserializationEvents events)
   at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader
xmlReader, String encodingStyle)
   at
System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage
message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String
methodName, Object[] parameters)
   at ActuateAPI.downloadFile(DownloadFile DownloadFile1)
   at CAcApi.DownloadFile(String sFileName)

Author
8 Jan 2007 9:43 PM
AY
Anyone at Microsoft have any input on this one?

Show quote
"AY" <ay***@hotmail.com> wrote in message
news:OHiWOPDMHHA.3944@TK2MSFTNGP06.phx.gbl...
> Hello,
>
> We use a third party reporting system (Actuate) which provides soap
> services via WSDL.
>
> My web application was initially built in Visual Studio 2003 using .NET
> 1.1. I was able to download huge files, i.e., over 100MB with no problems.
> Actuate also has a utility (c# win app) that has no issues with a .net 1.1
> version.
>
> Our dev house has upgraded to VS2005 and we have recompiled everything
> which is now under .NET 2.0.  Now my web app may be able to download a
> file over 100MB once and then report a System.OutOfMemoryException.  This
> also occurs in my DLLs and the Actuate utility that were all compiled with
> VS2005.
>
> Is there a bug in the .NET Framework 2.0 somewhere in the memory
> allocation or stream allocation process?  The exception thread below shows
> at what point the process is dying.  Is there anyone that has any ideas
> around this? Thanks in advance.
>
> Again, none of the code has been changed, we just recompiled in vs2005 and
> now are under .net 2.0 rather than 1.1.  That's the only change.
>
> *****************************************************
>   at System.String.GetStringForStringBuilder(String value, Int32
> startIndex, Int32 length, Int32 capacity)
>   at System.Text.StringBuilder.set_Capacity(Int32 value)
>   at System.Xml.BufferBuilder.ToString()
>   at System.Xml.XmlTextReaderImpl.ParseText()
>   at System.Xml.XmlTextReaderImpl.ParseElementContent()
>   at System.Xml.XmlTextReaderImpl.Read()
>   at System.Xml.XmlTextReader.Read()
>   at System.Xml.XmlTextReaderImpl.InitReadElementContentAsBinary()
>   at System.Xml.XmlTextReaderImpl.ReadElementContentAsBase64(Byte[]
> buffer, Int32 index, Int32 count)
>   at System.Xml.XmlTextReader.ReadElementContentAsBase64(Byte[] buffer,
> Int32 index, Int32 count)
>   at System.Xml.Serialization.XmlSerializationReader.ReadByteArray(Boolean
> isBase64)
>   at
> System.Xml.Serialization.XmlSerializationReader.ToByteArrayBase64(Boolean
> isNull)
>   at
> Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderActuateAPI.Read14_Attachment(Boolean
> isNullable, Boolean checkType)
>   at
> Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderActuateAPI.Read167_DownloadFileResponse(Boolean
> isNullable, Boolean checkType)
>   at
> Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderActuateAPI.Read517_downloadFileResponse()
>   at
> Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer165.Deserialize(XmlSerializationReader
> reader)
>   at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader
> xmlReader, String encodingStyle, XmlDeserializationEvents events)
>   at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader
> xmlReader, String encodingStyle)
>   at
> System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage
> message, WebResponse response, Stream responseStream, Boolean asyncCall)
>   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String
> methodName, Object[] parameters)
>   at ActuateAPI.downloadFile(DownloadFile DownloadFile1)
>   at CAcApi.DownloadFile(String sFileName)
>
>

AddThis Social Bookmark Button