Occasional NullReferenceException only resolvable by restarting application pool.
I've noticed that others are getting the same problem. I have not been able to determine the cause of the problem and I have not been able to actually solve the problem, only temporarily make it go away by various means mentioned in other posts. (Recycling app-pool, throwing out indices...) It always reoccur though.
One poster was asked about load balancing. The site where I have the problem is load balanced with synced folders. Could this be the cause of the problem?
I'm submitting a dump from the windows log, hoping it might help.
Exception message: Object reference not set to an instance of an object.
at Umbraco.Web.PublishedCache.XmlPublishedCache.PublishedContentCache.b__2(UmbracoContext context, Boolean preview)
at Umbraco.Web.PublishedCache.XmlPublishedCache.PublishedContentCache.GetById(UmbracoContext umbracoContext, Boolean preview, Int32 nodeId)
at Umbraco.Web.PublishedCache.ContextualPublishedCache`1.GetById(Boolean preview, Int32 contentId)
at Umbraco.Web.UmbracoHelper.TypedDocumentById(Int32 id, ContextualPublishedCache cache)
at uHelpsy.Helpers.IPublishedContentHelper.GetNode(Int32 nodeId) in D:\_PROJECTS\Personal\uHelpsy - Library\uHelpsy\Source\uHelpsy.Web\Helpers\IPublishedContentHelper.cs:line 24
at uHelpsy.Extensions.CollectionExtensions.b__6(SearchResult x) in D:\_PROJECTS\Personal\uHelpsy - Library\uHelpsy\Source\uHelpsy.Web\Extensions\CollectionExtensions.cs:line 54
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at ASP._Page_Views_Partials_uBlogsy_Landing_uBlogsyLandingListPosts_cshtml.<>c__DisplayClass2.b__1(TextWriter __razor_helper_writer) in d:\inetpub_synced\*******\Views\Partials\uBlogsy\Landing\uBlogsyLandingListPosts.cshtml:line 67
at ASP._Page_Views_Partials_uBlogsy_Landing_uBlogsyLandingListPosts_cshtml.Execute() in d:\inetpub_synced\*******\Views\Partials\uBlogsy\Landing\uBlogsyLandingListPosts.cshtml:line 52
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at StackExchange.Profiling.MVCHelpers.WrappedView.Render(ViewContext viewContext, TextWriter writer)
at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData)
at ASP._Page_Views_uBlogsyLanding_cshtml.b__2() in d:\inetpub_synced\*******\Views\uBlogsyLanding.cshtml:line 23
at System.Web.WebPages.WebPageBase.<>c__DisplayClassb.b__9(TextWriter tw)
at ASP._Page_Views__uBlogsyBaseBlog_cshtml.b__7() in d:\inetpub_synced\*******\Views\_uBlogsyBaseBlog.cshtml:line 35
at System.Web.WebPages.WebPageBase.<>c__DisplayClassb.b__9(TextWriter tw)
at ASP._Page_Views__uBlogsyBaseSite_cshtml.Execute() in d:\inetpub_synced\*******\Views\_uBlogsyBaseSite.cshtml:line 44
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName, Action`1 body)
at System.Web.WebPages.WebPageBase.PopContext()
at System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName, Action`1 body)
at System.Web.WebPages.WebPageBase.PopContext()
at StackExchange.Profiling.MVCHelpers.WrappedView.Render(ViewContext viewContext, TextWriter writer)
at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1a.b__17()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
at System.Web.Mvc.Controller.<>c__DisplayClass1d.b__19()
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass1.b__0()
at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.b__3(IAsyncResult ar)
at System.Web.Mvc.MvcHandler.<>c__DisplayClass8.b__3(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.b__3(IAsyncResult ar)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Request information:
Request URL: http://*******/blogg
Request path: /blogg
User host address: *******
User:
Is authenticated: False
Authentication Type:
Thread account name: IIS APPPOOL\*******
Thread information:
Thread ID: 10
Thread account name: IIS APPPOOL\***********
Is impersonating: False
Stack trace: at Umbraco.Web.PublishedCache.XmlPublishedCache.PublishedContentCache.b__2(UmbracoContext context, Boolean preview)
at Umbraco.Web.PublishedCache.XmlPublishedCache.PublishedContentCache.GetById(UmbracoContext umbracoContext, Boolean preview, Int32 nodeId)
at Umbraco.Web.PublishedCache.ContextualPublishedCache`1.GetById(Boolean preview, Int32 contentId)
at Umbraco.Web.UmbracoHelper.TypedDocumentById(Int32 id, ContextualPublishedCache cache)
at uHelpsy.Helpers.IPublishedContentHelper.GetNode(Int32 nodeId) in D:\_PROJECTS\Personal\uHelpsy - Library\uHelpsy\Source\uHelpsy.Web\Helpers\IPublishedContentHelper.cs:line 24
at uHelpsy.Extensions.CollectionExtensions.b__6(SearchResult x) in D:\_PROJECTS\Personal\uHelpsy - Library\uHelpsy\Source\uHelpsy.Web\Extensions\CollectionExtensions.cs:line 54
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at ASP._Page_Views_Partials_uBlogsy_Landing_uBlogsyLandingListPosts_cshtml.<>c__DisplayClass2.b__1(TextWriter __razor_helper_writer) in d:\inetpub_synced\*******\Views\Partials\uBlogsy\Landing\uBlogsyLandingListPosts.cshtml:line 67
at ASP._Page_Views_Partials_uBlogsy_Landing_uBlogsyLandingListPosts_cshtml.Execute() in d:\inetpub_synced\*******\Views\Partials\uBlogsy\Landing\uBlogsyLandingListPosts.cshtml:line 52
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at StackExchange.Profiling.MVCHelpers.WrappedView.Render(ViewContext viewContext, TextWriter writer)
at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData)
Do you have it setup to use datefolders? I am assuming you do. The other day i had to go through the udatefoldersy source because my date folders were not being created (see http://bit.ly/1qYTIOD for the source). One thing i noticed is that there is a flag added to HttpContext.Current.Items its something to do with preventing infinite loop i think now in load balanced scenario after publish another publish is triggered on the other servers in the cluster so maybe this is causing an issue? Just a thought.
I do use date folders. The load balancer works by one server being the master and the other simply copies the master's files. But I guess it's possible the request "spills over" to the other server. But then, why does it only happen once in a while?
Occasional NullReferenceException only resolvable by restarting application pool.
I've noticed that others are getting the same problem. I have not been able to determine the cause of the problem and I have not been able to actually solve the problem, only temporarily make it go away by various means mentioned in other posts. (Recycling app-pool, throwing out indices...) It always reoccur though.
One poster was asked about load balancing. The site where I have the problem is load balanced with synced folders. Could this be the cause of the problem?
I'm submitting a dump from the windows log, hoping it might help.
Application information:
Application domain: /LM/W3SVC/27/ROOT-1-130397762940904712
Trust level: Full
Application Virtual Path: /
Application Path: d:\inetpub_synced\*******\
Machine name: *******
Process information:
Process ID: 3484
Process name: w3wp.exe
Account name: IIS APPPOOL\*******
Exception information:
Exception type: NullReferenceException
Exception message: Object reference not set to an instance of an object.
at Umbraco.Web.PublishedCache.XmlPublishedCache.PublishedContentCache.b__2(UmbracoContext context, Boolean preview)
at Umbraco.Web.PublishedCache.XmlPublishedCache.PublishedContentCache.GetById(UmbracoContext umbracoContext, Boolean preview, Int32 nodeId)
at Umbraco.Web.PublishedCache.ContextualPublishedCache`1.GetById(Boolean preview, Int32 contentId)
at Umbraco.Web.UmbracoHelper.TypedDocumentById(Int32 id, ContextualPublishedCache cache)
at uHelpsy.Helpers.IPublishedContentHelper.GetNode(Int32 nodeId) in D:\_PROJECTS\Personal\uHelpsy - Library\uHelpsy\Source\uHelpsy.Web\Helpers\IPublishedContentHelper.cs:line 24
at uHelpsy.Extensions.CollectionExtensions.b__6(SearchResult x) in D:\_PROJECTS\Personal\uHelpsy - Library\uHelpsy\Source\uHelpsy.Web\Extensions\CollectionExtensions.cs:line 54
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at ASP._Page_Views_Partials_uBlogsy_Landing_uBlogsyLandingListPosts_cshtml.<>c__DisplayClass2.b__1(TextWriter __razor_helper_writer) in d:\inetpub_synced\*******\Views\Partials\uBlogsy\Landing\uBlogsyLandingListPosts.cshtml:line 67
at ASP._Page_Views_Partials_uBlogsy_Landing_uBlogsyLandingListPosts_cshtml.Execute() in d:\inetpub_synced\*******\Views\Partials\uBlogsy\Landing\uBlogsyLandingListPosts.cshtml:line 52
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at StackExchange.Profiling.MVCHelpers.WrappedView.Render(ViewContext viewContext, TextWriter writer)
at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData)
at Umbraco.Core.Cache.HttpRuntimeCacheProvider.GetCacheItem[TT](String cacheKey, CacheItemPriority priority, CacheItemRemovedCallback refreshAction, CacheDependency cacheDependency, Nullable`1 timeout, Func`1 getCacheItem, Object syncLock)
at Umbraco.Core.Cache.HttpRuntimeCacheProvider.GetCacheItem[TT](String cacheKey, CacheItemPriority priority, CacheItemRemovedCallback refreshAction, CacheDependency cacheDependency, Nullable`1 timeout, Func`1 getCacheItem)
at Umbraco.Core.Cache.HttpRuntimeCacheProvider.GetCacheItem[TT](String cacheKey, CacheItemPriority priority, CacheItemRemovedCallback refreshAction, Nullable`1 timeout, Func`1 getCacheItem)
at Umbraco.Web.CacheHelperExtensions.CachedPartialView(CacheHelper cacheHelper, HtmlHelper htmlHelper, String partialViewName, Object model, Int32 cachedSeconds, String cacheKey, ViewDataDictionary viewData)
at Umbraco.Web.HtmlHelperRenderExtensions.CachedPartial(HtmlHelper htmlHelper, String partialViewName, Object model, Int32 cachedSeconds, Boolean cacheByPage, Boolean cacheByMember, ViewDataDictionary viewData)
at ASP._Page_Views_uBlogsyLanding_cshtml.b__2() in d:\inetpub_synced\*******\Views\uBlogsyLanding.cshtml:line 23
at System.Web.WebPages.WebPageBase.<>c__DisplayClassb.b__9(TextWriter tw)
at ASP._Page_Views__uBlogsyBaseBlog_cshtml.b__7() in d:\inetpub_synced\*******\Views\_uBlogsyBaseBlog.cshtml:line 35
at System.Web.WebPages.WebPageBase.<>c__DisplayClassb.b__9(TextWriter tw)
at ASP._Page_Views__uBlogsyBaseSite_cshtml.Execute() in d:\inetpub_synced\*******\Views\_uBlogsyBaseSite.cshtml:line 44
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName, Action`1 body)
at System.Web.WebPages.WebPageBase.PopContext()
at System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName, Action`1 body)
at System.Web.WebPages.WebPageBase.PopContext()
at StackExchange.Profiling.MVCHelpers.WrappedView.Render(ViewContext viewContext, TextWriter writer)
at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1a.b__17()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
at System.Web.Mvc.Controller.<>c__DisplayClass1d.b__19()
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass1.b__0()
at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.b__3(IAsyncResult ar)
at System.Web.Mvc.MvcHandler.<>c__DisplayClass8.b__3(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.b__3(IAsyncResult ar)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Request information:
Request URL: http://*******/blogg
Request path: /blogg
User host address: *******
User:
Is authenticated: False
Authentication Type:
Thread account name: IIS APPPOOL\*******
Thread information:
Thread ID: 10
Thread account name: IIS APPPOOL\***********
Is impersonating: False
Stack trace: at Umbraco.Web.PublishedCache.XmlPublishedCache.PublishedContentCache.b__2(UmbracoContext context, Boolean preview)
at Umbraco.Web.PublishedCache.XmlPublishedCache.PublishedContentCache.GetById(UmbracoContext umbracoContext, Boolean preview, Int32 nodeId)
at Umbraco.Web.PublishedCache.ContextualPublishedCache`1.GetById(Boolean preview, Int32 contentId)
at Umbraco.Web.UmbracoHelper.TypedDocumentById(Int32 id, ContextualPublishedCache cache)
at uHelpsy.Helpers.IPublishedContentHelper.GetNode(Int32 nodeId) in D:\_PROJECTS\Personal\uHelpsy - Library\uHelpsy\Source\uHelpsy.Web\Helpers\IPublishedContentHelper.cs:line 24
at uHelpsy.Extensions.CollectionExtensions.b__6(SearchResult x) in D:\_PROJECTS\Personal\uHelpsy - Library\uHelpsy\Source\uHelpsy.Web\Extensions\CollectionExtensions.cs:line 54
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at ASP._Page_Views_Partials_uBlogsy_Landing_uBlogsyLandingListPosts_cshtml.<>c__DisplayClass2.b__1(TextWriter __razor_helper_writer) in d:\inetpub_synced\*******\Views\Partials\uBlogsy\Landing\uBlogsyLandingListPosts.cshtml:line 67
at ASP._Page_Views_Partials_uBlogsy_Landing_uBlogsyLandingListPosts_cshtml.Execute() in d:\inetpub_synced\*******\Views\Partials\uBlogsy\Landing\uBlogsyLandingListPosts.cshtml:line 52
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at StackExchange.Profiling.MVCHelpers.WrappedView.Render(ViewContext viewContext, TextWriter writer)
at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData)
at Umbraco.Core.Cache.HttpRuntimeCacheProvider.GetCacheItem[TT](String cacheKey, CacheItemPriority priority, CacheItemRemovedCallback refreshAction, CacheDependency cacheDependency, Nullable`1 timeout, Func`1 getCacheItem, Object syncLock)
at Umbraco.Core.Cache.HttpRuntimeCacheProvider.GetCacheItem[TT](String cacheKey, CacheItemPriority priority, CacheItemRemovedCallback refreshAction, CacheDependency cacheDependency, Nullable`1 timeout, Func`1 getCacheItem)
at Umbraco.Core.Cache.HttpRuntimeCacheProvider.GetCacheItem[TT](String cacheKey, CacheItemPriority priority, CacheItemRemovedCallback refreshAction, Nullable`1 timeout, Func`1 getCacheItem)
at Umbraco.Web.CacheHelperExtensions.CachedPartialView(CacheHelper cacheHelper, HtmlHelper htmlHelper, String partialViewName, Object model, Int32 cachedSeconds, String cacheKey, ViewDataDictionary viewData)
at Umbraco.Web.HtmlHelperRenderExtensions.CachedPartial(HtmlHelper htmlHelper, String partialViewName, Object model, Int32 cachedSeconds, Boolean cacheByPage, Boolean cacheByMember, ViewDataDictionary viewData)
at ASP._Page_Views_uBlogsyLanding_cshtml.b__2() in d:\inetpub_synced\*******\Views\uBlogsyLanding.cshtml:line 23
at System.Web.WebPages.WebPageBase.<>c__DisplayClassb.b__9(TextWriter tw)
at ASP._Page_Views__uBlogsyBaseBlog_cshtml.b__7() in d:\inetpub_synced\*******\Views\_uBlogsyBaseBlog.cshtml:line 35
at System.Web.WebPages.WebPageBase.<>c__DisplayClassb.b__9(TextWriter tw)
at ASP._Page_Views__uBlogsyBaseSite_cshtml.Execute() in d:\inetpub_synced\*******\Views\_uBlogsyBaseSite.cshtml:line 44
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName, Action`1 body)
at System.Web.WebPages.WebPageBase.PopContext()
at System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName, Action`1 body)
at System.Web.WebPages.WebPageBase.PopContext()
at StackExchange.Profiling.MVCHelpers.WrappedView.Render(ViewContext viewContext, TextWriter writer)
at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1a.b__17()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
at System.Web.Mvc.Controller.<>c__DisplayClass1d.b__19()
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass1.b__0()
at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.b__3(IAsyncResult ar)
at System.Web.Mvc.MvcHandler.<>c__DisplayClass8.b__3(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.b__3(IAsyncResult ar)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Emil,
Do you have it setup to use datefolders? I am assuming you do. The other day i had to go through the udatefoldersy source because my date folders were not being created (see http://bit.ly/1qYTIOD for the source). One thing i noticed is that there is a flag added to HttpContext.Current.Items its something to do with preventing infinite loop i think now in load balanced scenario after publish another publish is triggered on the other servers in the cluster so maybe this is causing an issue? Just a thought.
Regards
Ismail
I do use date folders. The load balancer works by one server being the master and the other simply copies the master's files. But I guess it's possible the request "spills over" to the other server. But then, why does it only happen once in a while?
is working on a reply...