locked
OutOfMemoryException at System.Xml.BufferBuilder.AddBuffer() during Sync RRS feed

  • Question

  • Hello,

     

    I am getting a OutOfMemoryException when syncing data record that have serialized files >1.5MB from the server. This problem seemed to be related - http://support.microsoft.com/kb/886385/en-us. But, since all of the deserialization is happening within the synchronize call I was wondering how to get around the exception.

    Here is the exception detail:

     

    System.Reflection.TargetInvocationException System.Reflection.TargetInvocationException: TargetInvocationException ---> System.OutOfMemoryException: OutOfMemoryException

       at System.Xml.BufferBuilder.AddBuffer()

       at System.Xml.BufferBuilder.AppendHelper(Char* pSource, Int32 count)

       at System.Xml.BufferBuilder.Append(Char[] value, Int32 start, Int32 count)

       at System.Xml.XmlTextReaderImpl.FinishPartialValue()

       at System.Xml.XmlTextReaderImpl.get_Value()

       at System.Xml.XmlDictionaryReader.XmlWrappedReader.get_Value()

       at System.Data.DataTextReader.get_Value()

       at System.Data.XmlDataLoader.LoadColumn(DataColumn column, Object[] foundColumns)

       at System.Data.XmlDataLoader.LoadTable(DataTable table, Boolean isNested)

       at System.Data.XmlDataLoader.LoadData(XmlReader reader)

       at System.Data.DataSet.ReadXmlDiffgram(XmlReader reader)

       at System.Data.DataSet.ReadXml(XmlReader reader, XmlReadMode mode, Boolean denyResolving)

       at System.Data.DataSet.ReadXmlSerializable(XmlReader reader)

       at System.Data.DataSet.System.Xml.Serialization.IXmlSerializable.ReadXml(XmlReader reader)

       at System.Xml.Serialization.XmlSerializationReader.DeserializeSerializableElement(LogicalType deserializeAs, Accessor accessor, Fixup fixup, Object fixupTarget, String identifier, Boolean emptyValue, Boolean nullValue)

       at System.Xml.Serialization.XmlSerializationReader.deserializeElement(Accessor accessor, Fixup fixup, Object fixupTarget)

       at System.Xml.Serialization.XmlSerializationReader.DeserializeElementMember(MemberValueCollection members, Object fixupTarget, Hashtable internalState, Boolean& firstElement)

       at System.Xml.Serialization.XmlSerializationReader.deserializeMembers(MemberValueCollection members, Object fixupTarget)

       at System.Xml.Serialization.XmlSerializationReader.DeserializeComplexElement(LogicalType deserializeAs, Accessor accessor, Fixup fixup, Object fixupTarget, String identifier, Boolean emptyValue, Boolean nullValue)

       at System.Xml.Serialization.XmlSerializationReader.deserializeElement(Accessor accessor, Fixup fixup, Object fixupTarget)

       at System.Xml.Serialization.XmlSerializationReader.DeserializeElementMember(MemberValueCollection members, Object fixupTarget, Hashtable internalState, Boolean& firstElement)

       at System.Xml.Serialization.XmlSerializationReader.deserializeMembers(MemberValueCollection members, Object fixupTarget)

       at System.Xml.Serialization.XmlSerializationReader.DeserializeComplexElement(LogicalType deserializeAs, Accessor accessor, Fixup fixup, Object fixupTarget, String identifier, Boolean emptyValue, Boolean nullValue)

       at System.Xml.Serialization.XmlSerializationReader.deserializeElement(Accessor accessor, Fixup fixup, Object fixupTarget)

       at System.Xml.Serialization.XmlSerializationReader.DeserializeElement(Accessor accessor, Fixup fixup)

       at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle)

       at Microsoft.Tools.ServiceModel.CFClientBase`1.CFContractSerializer.ReadObject(XmlDictionaryReader reader, Boolean verifyObjectName)

       at System.Runtime.Serialization.XmlObjectSerializer.ReadObject(XmlDictionaryReader reader)

       at System.ServiceModel.Channels.Message.GetBody[T](XmlObjectSerializer serializer)

       at Microsoft.Tools.ServiceModel.CFClientBase`1.getResult[TRESPONSE](Message reply, CFInvokeInfo info)

       at Microsoft.Tools.ServiceModel.CFClientBase`1.Invoke[TREQUEST,TRESPONSE](CFInvokeInfo info, GetChangesRequest request)

       at SyncServiceClient.GetChanges(GetChangesRequest request)

       at SyncServiceClient.GetChanges(SyncGroupMetadata groupMetadata, SyncSession syncSession)

       at System.Reflection.RuntimeMethodInfo.InternalInvoke(RuntimeMethodInfo rtmi, Object obj, BindingFlags invokeAttr, Binder binder, Object parameters, CultureInfo culture, Boolean isBinderDefault, Assembly caller, Boolean verifyAccess, StackCrawlMark& stackMark)

       at System.Reflection.RuntimeMethodInfo.InternalInvoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean verifyAccess, StackCrawlMark& stackMark)

       at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)

       at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)

       at Microsoft.Synchronization.Data.ServerSyncProviderProxy.GetChanges(SyncGroupMetadata groupMetadata, SyncSession syncSession)

       at Microsoft.Synchronization.SyncAgent.DownloadChanges(SyncGroupMetadata groupMetadata)

       at Microsoft.Synchronization.SyncAgent.Synchronize()

       at APM_Mobile_Framework.SyncManager.Synchronize()

    Friday, November 5, 2010 7:23 PM

All replies