I had to unpublish one terrible node today but I suddenly met the error like this:
Error
removing 'Page Refresher (umbraco.library wrapper)' with id '74340',
error: 'System.Web.Services.Protocols.SoapException:
System.Web.Services.Protocols.SoapException: Server was unable to
process request. ---> System.OutOfMemoryException: Exception of type
'System.OutOfMemoryException' was thrown. at
System.String.GetStringForStringBuilder(String value, Int32 startIndex,
Int32 length, Int32 capacity) at
System.Text.StringBuilder.GetNewString(String currentString, Int32
requiredLength) at System.Text.StringBuilder.Append(String value)
at System.IO.StringWriter.Write(String value) at
System.Xml.XmlTextEncoder.WriteRawWithSurrogateChecking(String text)
at System.Xml.XmlTextWriter.WriteCData(String text) at
System.Xml.XmlCDataSection.WriteTo(XmlWriter w) at
System.Xml.XmlElement.WriteContentTo(XmlWriter w) at
System.Xml.XmlElement.WriteTo(XmlWriter w) at
System.Xml.XmlElement.WriteContentTo(XmlWriter w) at
System.Xml.XmlElement.WriteTo(XmlWriter w) at
System.Xml.XmlElement.WriteContentTo(XmlWriter w) at
System.Xml.XmlElement.WriteTo(XmlWriter w) at
System.Xml.XmlElement.WriteContentTo(XmlWriter w) at
System.Xml.XmlElement.WriteTo(XmlWriter w) at
System.Xml.XmlElement.WriteContentTo(XmlWriter w) at
System.Xml.XmlElement.WriteTo(XmlWriter w) at
System.Xml.XmlElement.WriteContentTo(XmlWriter w) at
System.Xml.XmlElement.WriteTo(XmlWriter w) at
System.Xml.XmlDocument.WriteContentTo(XmlWriter xw) at
System.Xml.XmlDocument.WriteTo(XmlWriter w) at
System.Xml.XmlNode.get_OuterXml() at
umbraco.content.CloneXmlDoc(XmlDocument xmlDoc) at
umbraco.content.ClearDocumentCache(Int32 documentId) at
umbraco.presentation.cache.pageRefresher.Remove(Int32 Id) at
umbraco.presentation.webservices.CacheRefresher.RemoveById(Guid
uniqueIdentifier, Int32 Id, String Login, String Password) --- End of
inner exception stack trace --- 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
umbraco.presentation.cache.CacheRefresher.RemoveById(Guid
uniqueIdentifier, Int32 Id, String Login, String Password) at
umbraco.presentation.cache.dispatcher.Remove(Guid uniqueIdentifier,
Int32 Id)'
After a long time studying the code in the content.cs class, I found the place where the error occurs:
private XmlDocument CloneXmlDoc(XmlDocument xmlDoc) { Log.Add(LogTypes.Debug, -1, "Cloning..."); // Save copy of content XmlDocument xmlCopy = new XmlDocument(); xmlCopy.LoadXml(xmlDoc.OuterXml); Log.Add(LogTypes.Debug, -1, "Cloning ended..."); return xmlCopy; }
The first log I can find in data base but not the log 'Cloning ended...'. So the problem is with cloning XmlDocument.
Error removing 'Page Refresher...'
Hi everyone!
I had to unpublish one terrible node today but I suddenly met the error like this:
Error removing 'Page Refresher (umbraco.library wrapper)' with id '74340', error: 'System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown. at System.String.GetStringForStringBuilder(String value, Int32 startIndex, Int32 length, Int32 capacity) at System.Text.StringBuilder.GetNewString(String currentString, Int32 requiredLength) at System.Text.StringBuilder.Append(String value) at System.IO.StringWriter.Write(String value) at System.Xml.XmlTextEncoder.WriteRawWithSurrogateChecking(String text) at System.Xml.XmlTextWriter.WriteCData(String text) at System.Xml.XmlCDataSection.WriteTo(XmlWriter w) at System.Xml.XmlElement.WriteContentTo(XmlWriter w) at System.Xml.XmlElement.WriteTo(XmlWriter w) at System.Xml.XmlElement.WriteContentTo(XmlWriter w) at System.Xml.XmlElement.WriteTo(XmlWriter w) at System.Xml.XmlElement.WriteContentTo(XmlWriter w) at System.Xml.XmlElement.WriteTo(XmlWriter w) at System.Xml.XmlElement.WriteContentTo(XmlWriter w) at System.Xml.XmlElement.WriteTo(XmlWriter w) at System.Xml.XmlElement.WriteContentTo(XmlWriter w) at System.Xml.XmlElement.WriteTo(XmlWriter w) at System.Xml.XmlElement.WriteContentTo(XmlWriter w) at System.Xml.XmlElement.WriteTo(XmlWriter w) at System.Xml.XmlDocument.WriteContentTo(XmlWriter xw) at System.Xml.XmlDocument.WriteTo(XmlWriter w) at System.Xml.XmlNode.get_OuterXml() at umbraco.content.CloneXmlDoc(XmlDocument xmlDoc) at umbraco.content.ClearDocumentCache(Int32 documentId) at umbraco.presentation.cache.pageRefresher.Remove(Int32 Id) at umbraco.presentation.webservices.CacheRefresher.RemoveById(Guid uniqueIdentifier, Int32 Id, String Login, String Password) --- End of inner exception stack trace --- 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 umbraco.presentation.cache.CacheRefresher.RemoveById(Guid uniqueIdentifier, Int32 Id, String Login, String Password) at umbraco.presentation.cache.dispatcher.Remove(Guid uniqueIdentifier, Int32 Id)'
After a long time studying the code in the content.cs class, I found the place where the error occurs:
The first log I can find in data base but not the log 'Cloning ended...'. So the problem is with cloning XmlDocument.
More info we can find here http://wcg-itx.com/index.php/articles/10-xmlxslt/17-xml-document-copy
I fixed it by modyfiing this function:
I hope that is useful.
Best regards
is working on a reply...