White site and no nodes in umbraco after a couple of days
We are struggling for quite a while with an annoying problem in Umbraco 4.0.4.2 on IIS 6, Windows 2003 server with .net 3.5. When we copy all the files to the websites folder location the site works like a charm. After random timespan the site will display an empty white page. When logging in in umbraco the nodes do not get loaded. When I look in firebug the page /umbraco/tree.aspx shows up as a 500 error. When opeing this page we get the following error message:
Server Error in '/' Application.
Object reference not set to an instance of an object.
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.NullReferenceException: Object reference not set to an instance of an object.
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:
[NullReferenceException: Object reference not set to an instance of an object.] umbraco.cms.businesslogic.web.Access..cctor() in C:\Inetpub\wwwHypotheker_Umbraco\Umbraco_Source\umbraco\cms\businesslogic\web\Access.cs:27
[TypeInitializationException: The type initializer for 'umbraco.cms.businesslogic.web.Access' threw an exception.] umbraco.cms.businesslogic.web.Access.IsProtected(Int32 DocumentId, String Path) in C:\Inetpub\wwwHypotheker_Umbraco\Umbraco_Source\umbraco\cms\businesslogic\web\Access.cs:498 umbraco.cms.presentation.Trees.BaseContentTree.SetProtectedAttribute(XmlTreeNode& treeElement, Document dd) in C:\Inetpub\wwwHypotheker_Umbraco\Umbraco_Source\umbraco\presentation\umbraco\Trees\BaseContentTree.cs:208 umbraco.cms.presentation.Trees.BaseContentTree.CreateNode(Document dd, List`1 allowedUserOptions) in C:\Inetpub\wwwHypotheker_Umbraco\Umbraco_Source\umbraco\presentation\umbraco\Trees\BaseContentTree.cs:119 umbraco.cms.presentation.Trees.BaseContentTree.Render(XmlTree& Tree) in C:\Inetpub\wwwHypotheker_Umbraco\Umbraco_Source\umbraco\presentation\umbraco\Trees\BaseContentTree.cs:180 umbraco.loadContent.Render(XmlTree& Tree) in C:\Inetpub\wwwHypotheker_Umbraco\Umbraco_Source\umbraco\presentation\umbraco\Trees\loadContent.cs:169 umbraco.cms.presentation.tree.LoadTree(String treeAlias) in C:\Inetpub\wwwHypotheker_Umbraco\Umbraco_Source\umbraco\presentation\umbraco\tree.aspx.cs:87 umbraco.cms.presentation.tree.Page_Load(Object sender, EventArgs e) in C:\Inetpub\wwwHypotheker_Umbraco\Umbraco_Source\umbraco\presentation\umbraco\tree.aspx.cs:50 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35 System.Web.UI.Control.OnLoad(EventArgs e) +99 umbraco.BasePages.BasePage.OnLoad(EventArgs e) in C:\Inetpub\wwwHypotheker_Umbraco\Umbraco_Source\umbraco\businesslogic\BasePages\BasePage.cs:287 System.Web.UI.Control.LoadRecursive() +50 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
Version Information: Microsoft .NET Framework Version:2.0.50727.3615; ASP.NET Version:2.0.50727.3618
Sometimes a recycle of the app-pool wil bring the site online, but usually this is not enough. Only an IIS reset will bring the site back to life. We checked so far we know all the security settings. Even the NETWORK SERVICE has full control on the c:\Windows/temp folder. But the issue keeps on poping up.
Anyone has seen this behaviour before and knows the solution for this problem. Any help is much apprciated.
Weird. The issue is related to the access.xml file which handles the security for all nodes, so it's not that strange when an error occurs the whole site is white. Could it be that it doesn't have the necessary rights or that a process is locking it?
We thought it might be the security, but when we run the security checker that is part of the installation it shows that all my settings are ok. Might be that we are missing some settings that aren't checked. Is there a complete list of rights and settings available that we can check manually?
For what we know we set the following rights: IIS_WPG and NETWORK SERVICE have full rights on the webfolder and the c:Windows\temp folder.
No if the installer says it's fine then it is ok. Allthough it only checks folder permissions you could try to replace the permissions on documents/folders in that parent folder.
I work with Frank and I am assisting him with this issue, as well.
@Seth Niemuth
No, there aren't any other relevant error records in the umbracoLog table. We recently configured ELMAH, to see if some unhandled exceptions get logged... We didn't get anything relevant there so far.
We don't know why does the System.Web.HttpContext.Current or System.Web.HttpContext.Current.Server are null... we need further investigation. Anyways, it LOOKS like this workaround is working out (for us):
To be sure I checked the code for 4.6.1. In this codeset the retieval of the access.xml file is handled differently. So for the next release I plan to upgrade to the latest version.
White site and no nodes in umbraco after a couple of days
We are struggling for quite a while with an annoying problem in Umbraco 4.0.4.2 on IIS 6, Windows 2003 server with .net 3.5. When we copy all the files to the websites folder location the site works like a charm. After random timespan the site will display an empty white page. When logging in in umbraco the nodes do not get loaded. When I look in firebug the page /umbraco/tree.aspx shows up as a 500 error. When opeing this page we get the following error message:
Server Error in '/' Application.
Object reference not set to an instance of an object.
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.NullReferenceException: Object reference not set to an instance of an object.
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:
Version Information: Microsoft .NET Framework Version:2.0.50727.3615; ASP.NET Version:2.0.50727.3618
Sometimes a recycle of the app-pool wil bring the site online, but usually this is not enough. Only an IIS reset will bring the site back to life. We checked so far we know all the security settings. Even the NETWORK SERVICE has full control on the c:\Windows/temp folder. But the issue keeps on poping up.
Anyone has seen this behaviour before and knows the solution for this problem. Any help is much apprciated.
Hi Frank,
Weird. The issue is related to the access.xml file which handles the security for all nodes, so it's not that strange when an error occurs the whole site is white. Could it be that it doesn't have the necessary rights or that a process is locking it?
Cheers,
Richard
We thought it might be the security, but when we run the security checker that is part of the installation it shows that all my settings are ok. Might be that we are missing some settings that aren't checked. Is there a complete list of rights and settings available that we can check manually?
For what we know we set the following rights:
IIS_WPG and NETWORK SERVICE have full rights on the webfolder and the c:Windows\temp folder.
Anything we missed?
No if the installer says it's fine then it is ok. Allthough it only checks folder permissions you could try to replace the permissions on documents/folders in that parent folder.
Do you get any other more descriptive errors in the error log (in the database)?
Hello everyone,
I work with Frank and I am assisting him with this issue, as well.
@Seth Niemuth
No, there aren't any other relevant error records in the umbracoLog table. We recently configured ELMAH, to see if some unhandled exceptions get logged... We didn't get anything relevant there so far.
Cheers,
Carlos Sardo
Hello everyone,
We don't know why does the System.Web.HttpContext.Current or System.Web.HttpContext.Current.Server are null... we need further investigation. Anyways, it LOOKS like this workaround is working out (for us):
Access.cs:
//static private string _accessXmlSource = System.Web.HttpContext.Current.Server.MapPath(GlobalSettings.StorageDirectory + "/access.xml");
//ByPass code:
static private string _accessXmlSource {
get {
string source = ConfigurationManager.AppSettings["umbracoStorageDirectory.Custom"];
if (System.Web.HttpContext.Current != null && System.Web.HttpContext.Current.Server != null) {
source = System.Web.HttpContext.Current.Server.MapPath(GlobalSettings.StorageDirectory + "/access.xml");
}
return source;
}
}
We now have a custom build of the cms.dll, which sucks!!!
We're going to push it to our pre-production environment and monitor it for the next couple of days. We're crossing fingers here!
We also found this old post... it describes, pretty much, the same problem and a quite similar solution: http://forum.umbraco.org/yaf_postst1169_Umbraco-will-not-display-properties-for-nodes-in-content--Object-reference-not-set-to-an-instance-of-an-object.aspx
Cheers,
Carlos Sardo
To be sure I checked the code for 4.6.1. In this codeset the retieval of the access.xml file is handled differently.
So for the next release I plan to upgrade to the latest version.
is working on a reply...