Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Christine 115 posts 288 karma points
    May 18, 2017 @ 18:18
    Christine
    0

    The Xml cache is corrupt. Use the Health Check data integrity dashboard to fix it.

    I'm not liking 7.6.1 so far!

    Latest error message and I'm not sure what to do. This is the web browser message & stack trace error from the umbraco back office. I was just editing a content page and blamo!

    The Xml cache is corrupt. Use the Health Check data integrity dashboard to fix it.
    
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 
    
    Exception Details: System.Exception: The Xml cache is corrupt. Use the Health Check data integrity dashboard to fix it.
    
    Source Error: 
    
    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
    
    Stack Trace: 
    
    
    [Exception: The Xml cache is corrupt. Use the Health Check data integrity dashboard to fix it.]
       Umbraco.Web.PublishedCache.XmlPublishedCache.PublishedContentCache.HasContent(UmbracoContext umbracoContext, Boolean preview) +243
       Umbraco.Web.PublishedCache.ContextualPublishedCache`1.HasContent(Boolean preview) +34
       Umbraco.Web.UmbracoModule.EnsureUmbracoRoutablePage(UmbracoContext context, HttpContextBase httpContext) +173
       Umbraco.Web.UmbracoModule.ProcessRequest(HttpContextBase httpContext) +284
       System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +80
       System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +165
    

    Back office error:

    Received an error from the server
    An error occurred
    
    Object reference not set to an instance of an object.
    
    Exception Details:
    
    System.NullReferenceException: Object reference not set to an instance of an object.
    
    Stack Trace:
        at umbraco.cms.businesslogic.web.Document.ToXml(XmlDocument xd, Boolean Deep)
           at umbraco.content.PublishNodeDo(Document d, XmlDocument xmlContentCopy, Boolean updateSitemapProvider)
           at umbraco.content.UpdateDocumentCache(Document d)
           at Umbraco.Web.Cache.PageCacheRefresher.Refresh(IContent instance)
           at Umbraco.Core.Sync.ServerMessengerBase.DeliverLocal[T](ICacheRefresher refresher, MessageType messageType, Func`2 getId, IEnumerable`1 instances)
           at Umbraco.Core.Sync.ServerMessengerBase.Deliver[T](IEnumerable`1 servers, ICacheRefresher refresher, MessageType messageType, Func`2 getId, IEnumerable`1 instances)
           at Umbraco.Web.Cache.DistributedCache.Refresh[T](Guid factoryGuid, Func`2 getNumericId, T[] instances)
           at Umbraco.Web.Cache.DistributedCacheExtensions.RefreshPageCache(DistributedCache dc, IContent[] content)
           at Umbraco.Core.Events.TypedEventHandler`2.Invoke(TSender sender, TEventArgs e)
           at Umbraco.Core.Events.ScopeEventDispatcher.ScopeExitCompleted()
           at Umbraco.Core.Events.ScopeEventDispatcherBase.ScopeExit(Boolean completed)
           at Umbraco.Core.Scoping.Scope.TryFinally(Int32 index, Action[] actions)
           at Umbraco.Core.Scoping.Scope.TryFinally(Int32 index, Action[] actions)
           at Umbraco.Core.Scoping.Scope.RobustExit(Boolean completed, Boolean onException)
           at Umbraco.Core.Scoping.Scope.DisposeLastScope()
           at Umbraco.Core.Scoping.Scope.Dispose()
           at Umbraco.Core.Persistence.UnitOfWork.ScopeUnitOfWork.DisposeResources()
           at Umbraco.Core.DisposableObject.Dispose(Boolean disposing)
           at Umbraco.Core.DisposableObject.Dispose()
           at Umbraco.Core.Services.ContentService.SaveAndPublishDo(IContent content, Int32 userId, Boolean raiseEvents)
           at Umbraco.Web.Editors.ContentController.PostSave(ContentItemSave contentItem)
           at lambda_method(Closure , Object , Object[] )
           at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.<GetExecutor>b__9(Object instance, Object[] methodParameters)
           at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)
        --- End of stack trace from previous location where exception was thrown ---
           at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
           at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__0.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
           at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
           at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
           at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
           at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
           at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
           at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__0.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
           at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
           at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
           at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
           at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
           at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
           at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__0.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
           at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
           at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
           at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
           at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
           at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
           at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__0.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
           at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
           at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
           at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
           at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
           at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
           at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__0.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
           at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
           at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
           at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
           at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
           at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
           at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__0.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
           at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
           at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
           at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
           at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
           at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
           at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__0.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
           at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
           at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
           at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
           at System.Web.Http.Filters.AuthorizationFilterAttribute.<ExecuteAuthorizationFilterAsyncCore>d__2.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
           at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
           at System.Web.Http.Filters.AuthorizationFilterAttribute.<ExecuteAuthorizationFilterAsyncCore>d__2.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
           at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
           at System.Web.Http.Filters.AuthorizationFilterAttribute.<ExecuteAuthorizationFilterAsyncCore>d__2.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
           at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
           at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
           at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__1.MoveNext()
    
  • Craig Mayers 164 posts 508 karma points
    May 19, 2017 @ 14:14
    Craig Mayers
    2

    Hi Christine,

    Have you tried deleting and regenerating your Umbraco cache file?

    You can find it in:

    ~/App_Data/umbraco.config

    Once you have deleted it, recycle your AppPool and hit your site again and it should automatically re-create it for you.

    Regards

    Craig

  • John Moss 14 posts 94 karma points
    Jun 29, 2018 @ 21:46
    John Moss
    0

    Hi Christine, did this resolve your issue?

    Hi Craig, we deleted and regenerated our Umbraco cache, and the issue came right back. The new cache was corrupted again.

  • Owen Blacker 19 posts 92 karma points
    Jun 01, 2020 @ 17:15
    Owen Blacker
    0

    Thank you. Recycling the app pool afterwards was the thing I hadn't done that fixed me having exactly this problem just now.

    Thank you! 😊

  • Santhosh 58 posts 99 karma points
    Jan 24, 2018 @ 07:13
    Santhosh
    0

    Hi Christine, We had the same problem, I could publish the page after removing umbraco.config and recyle app pool! But why this error happens in the first place? how can we avoid this on PRODUCTION SITE?

    Thanks!

  • Anthony 28 posts 147 karma points
    Feb 23, 2018 @ 11:39
    Anthony
    0

    Quick note just to highlight that I received this error whilst setting up a staging website - 7.6.5, Plesk, FTP copy, database copy, some file permission issues (resolved), App_Data/Cache not copied - and was stumped for a while on this.

    Copying over the other site's App_Data moved the error along to a PetaPoco Null Argument Exception but the connection string was fine.

    The problem? <add key="umbracoUseSSL" value="true"/> The staging website didn't have an SSL certificate or even a domain attached.

    Edit: Sorry should have made it clear - setting <add key="umbracoUseSSL" value="false"/> solved the issue. Deleting Umbraco.config (and\or the App_Data folder) and refreshing the application folder didn't resolve this version of the issue.

  • Dan Diplo 1554 posts 6205 karma points MVP 6x c-trib
    Feb 23, 2018 @ 12:45
    Dan Diplo
    0

    Have you tried doing as the error advises and use the Health Check data integrity dashboard to fix it?

  • Anthony 28 posts 147 karma points
    Feb 23, 2018 @ 13:04
    Anthony
    0

    @Dan - I've update my original post to make things a little more clear. Just wanted to post to help others in the same predicament. I couldn't run the Health Check as the website didn't progress that far (unless there is an offline way to check); besides which the file was A okay on the Live environment. Thanks.

  • Alex Skrypnyk 6163 posts 24143 karma points MVP 8x admin c-trib
    Sep 27, 2019 @ 14:08
    Alex Skrypnyk
    0

    any idea how to prevent this error in the future?

  • Simon steed 376 posts 688 karma points
    May 23, 2022 @ 14:02
    Simon steed
    0

    Wondering if there was ever a solution to this, i'm seeing it a lot on a v7.15.7 site.

    Error displayed is 'The Xml cache is corrupt. Use the Health Check data integrity dashboard to fix it.' There is no health check data integrity errors shown and certainly no way to fix it from there.

    The only way ive been able to get the sites running is to republish the site from the content section (right click, republish site) which works everytime.

    Problem here is that this is happening in a load balanced environment as well as local - load balanced is setup on Azure and we have no access to the front end site, only the admin site (locked down by rewrite rules) so impossible to fix

    I've searched through the Umbraco source for those error strings but cannot find them - Just want to try and understand how the error is triggered and work it back from there.

    Any suggestions?

    Full error is:

    Server Error in '/' Application. The Xml cache is corrupt. Use the Health Check data integrity dashboard to fix it. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Exception: The Xml cache is corrupt. Use the Health Check data integrity dashboard to fix it.

    Source Error:

    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

    Stack Trace:

    [Exception: The Xml cache is corrupt. Use the Health Check data integrity dashboard to fix it.] Umbraco.Web.PublishedCache.XmlPublishedCache.PublishedContentCache.GetXml(UmbracoContext umbracoContext, Boolean preview) +80 Umbraco.Web.PublishedCache.XmlPublishedCache.PublishedContentCache.HasContent(UmbracoContext umbracoContext, Boolean preview) +14 Umbraco.Web.PublishedCache.ContextualPublishedCache`1.HasContent(Boolean preview) +35 Umbraco.Web.UmbracoModule.EnsureHasContent(UmbracoContext context, HttpContextBase httpContext) +41 Umbraco.Web.UmbracoModule.EnsureUmbracoRoutablePage(UmbracoContext context, HttpContextBase httpContext) +112 Umbraco.Web.UmbracoModule.ProcessRequest(HttpContextBase httpContext) +211 Umbraco.Web.UmbracoModule.

  • Simon steed 376 posts 688 karma points
    May 23, 2022 @ 14:03
    Simon steed
    0

    Oh and the content node links show as Could not get the url :(

  • Matúš Kopáč 1 post 71 karma points
    Mar 29, 2023 @ 10:32
    Matúš  Kopáč
    0

    Hi all,

    today I had the same issue in UAT environment even it was working in DEV environment. Finally it occurred to me that it could be the folder permissions as I deployed the website using CI/CD pipeline by copying all files from build machine. I checked permissions of the root website foder that IIS application is mapped to, compared with DEV one and noticed that there is missing Application Pool identity in the list in UAT. I added it and forced to update on all subfolders and files and it worked right after that!

    Based on that I now believe this error message is absolutely unrelated to any XML corruption or cache problem. This is a general error message that can be caused by dozens of reasons!

    enter image description here

Please Sign in or register to post replies

Write your reply to:

Draft