SF4.1 SP1 Deadlocks
After upgrading to SP1 and deploying, the application hangs after a period of inactivity (we are still in the process of creating content - site is on a development server)
I got the following out of the event log:
ISAPI 'c:\windows\microsoft.net\framework\v4.0.30319\aspnet_isapi.dll' reported itself as unhealthy for the following reason: 'Deadlock detected'.
Any ideas?
Additional information:
Message: The type initializer for 'Telerik.Sitefinity.Security.SecurityManager' threw an exception.
Inner Exception: System.TypeInitializationException: The type initializer for 'Telerik.Sitefinity.Localization.Res' threw an exception. ---> Telerik.Microsoft.Practices.Unity.ResolutionFailedException: Resolution of the dependency failed, type = "Telerik.Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.ExceptionManager", name = "(none)". Exception occurred while: while resolving. Exception is: InvalidOperationException - The type ExceptionManager cannot be constructed. You must configure the container to supply this value. ----------------------------------------------- At the time of the exception, the container was: Resolving Telerik.Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.ExceptionManager,(none) ---> System.InvalidOperationException: The type ExceptionManager cannot be constructed. You must configure the container to supply this value. at Telerik.Microsoft.Practices.ObjectBuilder2.DynamicMethodConstructorStrategy.GuardTypeIsNonPrimitive(IBuilderContext context, SelectedConstructor selectedConstructor) at Telerik.Microsoft.Practices.ObjectBuilder2.DynamicMethodConstructorStrategy.PreBuildUp(IBuilderContext context) at Telerik.Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext context) at Telerik.Microsoft.Practices.ObjectBuilder2.DynamicMethodBuildPlanCreatorPolicy.CreatePlan(IBuilderContext context, NamedTypeBuildKey buildKey) at Telerik.Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext context) at Telerik.Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext context) at Telerik.Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object existing, String name, IEnumerable`1 resolverOverrides) --- End of inner exception stack trace --- at Telerik.Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object existing, String name, IEnumerable`1 resolverOverrides) at Telerik.Microsoft.Practices.Unity.UnityContainer.Resolve(Type t, String name, ResolverOverride[] resolverOverrides) at Telerik.Microsoft.Practices.Unity.UnityContainerExtensions.Resolve[T](IUnityContainer container, ResolverOverride[] overrides) at Telerik.Sitefinity.Abstractions.ObjectFactory.Resolve[T]() at Telerik.Sitefinity.Abstractions.Exceptions.get_Manager() at Telerik.Sitefinity.Abstractions.Exceptions.HandleException(Exception exceptionToHandle, ExceptionPolicyName policy) at Telerik.Sitefinity.Data.ManagerBase`1.Initialize() at Telerik.Sitefinity.Data.ManagerBase`1..ctor(String providerName, String transactionName) at Telerik.Sitefinity.Localization.ResourceManager..ctor() at Telerik.Sitefinity.Localization.Res..cctor() --- End of inner exception stack trace --- at Telerik.Sitefinity.Localization.Res.Get(String classId, String key) at Telerik.Sitefinity.Abstractions.DescriptionResourceAttribute.get_Description() at Telerik.Sitefinity.Configuration.ConfigElement.CreateConfigurationPropertyFromAttributes(PropertyInfo info) at Telerik.Sitefinity.Configuration.ConfigElement.CreatePropertyBagFromType(Type type) at Telerik.Sitefinity.Configuration.ConfigElement.GetPropertiesFromType(Type type, ConfigPropertyCollection& result) at Telerik.Sitefinity.Configuration.ConfigElement.EnsurePropertiesInitialized() at Telerik.Sitefinity.Configuration.ConfigElement.get_Properties() at Telerik.Sitefinity.Configuration.Data.XmlConfigProvider.LoadAttributes(ConfigElement element, XmlReader reader, ConfigPolicyHandler policyHandler, String policyName, Boolean isUpgrading, Boolean isNew) at Telerik.Sitefinity.Configuration.Data.XmlConfigProvider.LoadElement(ConfigElement element, XmlReader reader, ConfigPolicyHandler policyHandler, String policyName, Boolean isUpgrading, Version upgradeFrom, Boolean isNew, Boolean validateTagName) at Telerik.Sitefinity.Configuration.Data.XmlConfigProvider.LoadSection(ConfigSection section, ConfigPolicyHandler policyHandler, String policyName) at Telerik.Sitefinity.Configuration.ConfigSection.Initialize(ConfigProvider provider, ConfigPolicyHandler policyHandler, String policyName, Boolean singlePolicy) at Telerik.Sitefinity.Configuration.ConfigProvider.GetSection[TSection](ConfigPolicyHandler policyHandler, String policyName) at Telerik.Sitefinity.Configuration.ConfigProvider.GetSection[TSection]() at Telerik.Sitefinity.Configuration.ConfigManager.GetSection[TSection]() at System.Web.HttpApplication.InitInternal(HttpContext context, HttpApplicationState state, MethodInfo[] handlers) at System.Web.HttpApplicationFactory.GetNormalApplicationInstance(HttpContext context) at System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext context) at System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
Hi Tom,
The exception you are describing is known to be related to a known issue with Sitefinity's files being locked when the application start up, or after it times out and the application pool is recycled.
You mentioned you've upgraded to SP1, but of which Sitefinity version? If you are using 4.0, it is strongly recommended you upgrade to 4.1 SP1, where a resolution to this issue has been applied.
If you are already using 4.1 SP1, could you provide any additional details about this case and its recreation?
Other information which may help, is collection of Sitefinity's error logs, which are located in the App_Data\Sitefinity\Logs folder of your Sitefinity website. If you are using 4.1 SP1 and able to reproduce this problem, please clear the Logs folder, trigger the issue and send the error logs generated.
Thank you.
Kind regards,
Alon Rotem
the Telerik team
We are using 4.1 SP1 - yesterday this happened when someone was editing/creating pages.
Another issue - on our search results page, when selecting a link to go to the second page of search results, a server error is thrown:
(I have a module that handles logging for web metrics - there is a small user control inserted into the master templates which calls the module:
protected void Page_Load(object sender, EventArgs e)
FileLogger.Logger PageLog = new FileLogger.Logger();
PageLog.LogPage();
)
This error I can trigger - the first error reported is random. I will send logs
Message: Exception of type 'System.Web.HttpUnhandledException' was thrown.
Inner Exception: System.ArgumentException: String cannot be of zero length. Parameter name: oldValue at System.String.ReplaceInternal(String oldValue, String newValue) at System.String.Replace(String oldValue, String newValue) at FileLogger.Logger.LogPage() at usercontrols_PageLogger.Page_Load(Object sender, EventArgs e) in e:\inetpub\wwwroot\ADSMarketing\UserControls\PageLogger.ascx.cs:line 13 at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) at System.Web.UI.Control.OnLoad(EventArgs e) at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
StackTrace: at System.Web.UI.Page.HandleError(Exception e) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest() at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) at System.Web.UI.Page.ProcessRequest(HttpContext context) at ASP.sfpageservice_fa912603_0676_411c_af3e_189854b30ac7_adsgrey_aspx.ProcessRequest(HttpContext context) in c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\c6fef89d\9074724f\App_Web_fa912603-0676-411c-af3e-189854b30ac7_adsgrey.aspx.d63928b6.eovgx0eh.0.cs:line 0 at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.ArgumentException: String cannot be of zero length. Parameter name: oldValue at System.String.ReplaceInternal(String oldValue, String newValue) at System.String.Replace(String oldValue, String newValue) at FileLogger.Logger.LogPage() at usercontrols_PageLogger.Page_Load(Object sender, EventArgs e) in e:\inetpub\wwwroot\ADSMarketing\UserControls\PageLogger.ascx.cs:line 13 at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) at System.Web.UI.Control.OnLoad(EventArgs e) at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.HandleError(Exception e) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest() at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) at System.Web.UI.Page.ProcessRequest(HttpContext context) at ASP.sfpageservice_fa912603_0676_411c_af3e_189854b30ac7_adsgrey_aspx.ProcessRequest(HttpContext context) in c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\c6fef89d\9074724f\App_Web_fa912603-0676-411c-af3e-189854b30ac7_adsgrey.aspx.d63928b6.eovgx0eh.0.cs:line 0 at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Logged into the admin section, chose Pages, then clicked Live Site in the upper right hand corner.
Generated the following error - I have listed the contents of the log file below:
Message: Exception of type 'System.Web.HttpUnhandledException' was thrown.
Inner Exception: System.ArgumentException: String cannot be of zero
length. Parameter name: oldValue at System.String.ReplaceInternal(String
oldValue, String newValue) at System.String.Replace(String oldValue,
String newValue) at FileLogger.Logger.LogPage() at
usercontrols_PageLogger.Page_Load(Object sender, EventArgs e) in
e:\inetpub\wwwroot\ADSMarketing\UserControls\PageLogger.ascx.cs:line 13
at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object
o, Object t, EventArgs e) at
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender,
EventArgs e) at System.Web.UI.Control.OnLoad(EventArgs e) at
System.Web.UI.Control.LoadRecursive() at
System.Web.UI.Control.LoadRecursive() at
System.Web.UI.Control.LoadRecursive() at
System.Web.UI.Control.LoadRecursive() at
System.Web.UI.Control.LoadRecursive() at
System.Web.UI.Control.LoadRecursive() at
System.Web.UI.Control.LoadRecursive() at
System.Web.UI.Control.LoadRecursive() at
System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
StackTrace: at System.Web.UI.Page.HandleError(Exception e) at
System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at
System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint,
Boolean includeStagesAfterAsyncPoint) at
System.Web.UI.Page.ProcessRequest() at
System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) at
System.Web.UI.Page.ProcessRequest(HttpContext context) at
ASP.sfpageservice_6b6d7f9d_5222_404c_9e85_f707d8e5f17d_adsgrey_aspx.ProcessRequest(HttpContext
context) in c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary
ASP.NET
Files\root\c6fef89d\9074724f\App_Web_6b6d7f9d-5222-404c-9e85-f707d8e5f17d_adsgrey.aspx.d63928b6.5eu_xdxa.0.cs:line
0 at
System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step,
Boolean& completedSynchronously)
System.Web.HttpUnhandledException (0x80004005): Exception of type
'System.Web.HttpUnhandledException' was thrown. --->
System.ArgumentException: String cannot be of zero length. Parameter
name: oldValue at System.String.ReplaceInternal(String oldValue, String
newValue) at System.String.Replace(String oldValue, String newValue) at
FileLogger.Logger.LogPage() at usercontrols_PageLogger.Page_Load(Object
sender, EventArgs e) in
e:\inetpub\wwwroot\ADSMarketing\UserControls\PageLogger.ascx.cs:line 13
at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object
o, Object t, EventArgs e) at
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender,
EventArgs e) at System.Web.UI.Control.OnLoad(EventArgs e) at
System.Web.UI.Control.LoadRecursive() at
System.Web.UI.Control.LoadRecursive() at
System.Web.UI.Control.LoadRecursive() at
System.Web.UI.Control.LoadRecursive() at
System.Web.UI.Control.LoadRecursive() at
System.Web.UI.Control.LoadRecursive() at
System.Web.UI.Control.LoadRecursive() at
System.Web.UI.Control.LoadRecursive() at
System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at
System.Web.UI.Page.HandleError(Exception e) at
System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at
System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint,
Boolean includeStagesAfterAsyncPoint) at
System.Web.UI.Page.ProcessRequest() at
System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) at
System.Web.UI.Page.ProcessRequest(HttpContext context) at
ASP.sfpageservice_6b6d7f9d_5222_404c_9e85_f707d8e5f17d_adsgrey_aspx.ProcessRequest(HttpContext
context) in c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary
ASP.NET
Files\root\c6fef89d\9074724f\App_Web_6b6d7f9d-5222-404c-9e85-f707d8e5f17d_adsgrey.aspx.d63928b6.5eu_xdxa.0.cs:line
0 at
System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step,
Boolean& completedSynchronously)
Contents of Error log:
----------------------------------------
Timestamp: 5/26/2011 12:34:40 PM
Message: HandlingInstanceID: f6dfc296-6a4b-4712-b580-e32312cd60e9
An exception of type 'System.ArgumentException' occurred and was caught.
------------------------------------------------------------------------
05/26/2011 08:34:40
Type : System.ArgumentException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Message : Invalid type specified Telerik.Sitefinity.Security.Data.SecurityDataProvider
Source : Telerik.Sitefinity
Help link :
ParamName :
Data : System.Collections.ListDictionaryInternal
TargetSite
: TProviderBase
InstantiateProvider(Telerik.Sitefinity.Configuration.IDataProviderSettings,
System.Type, Telerik.Sitefinity.Abstractions.ExceptionPolicyName,
Telerik.Sitefinity.Data.ManagerBase`1[TProviderBase])
Stack Trace
: at
Telerik.Sitefinity.Data.ManagerBase`1.InstantiateProvider(IDataProviderSettings
providerSettings, Type providerType, ExceptionPolicyName policy,
ManagerBase`1 manager)
Additional Info:
MachineName : DEV03
TimeStamp : 5/26/2011 12:34:40 PM
FullName : Telerik.Sitefinity.Utilities, Version=4.1.1395.0, Culture=neutral, PublicKeyToken=b28c218413bdf563
AppDomainName : /LM/W3SVC/1427353959/Root-1-129508868385655389
ThreadIdentity : twieleba
WindowsIdentity : NT AUTHORITY\NETWORK SERVICE
Requested URL : /
Category: ErrorLog
Priority: 0
EventId: 9010
Severity: Warning
Title:Enterprise Library Exception Handling
Machine: DEV03
App Domain: /LM/W3SVC/1427353959/Root-1-129508868385655389
ProcessId: 4396
Process Name: c:\windows\system32\inetsrv\w3wp.exe
Thread Name:
Win32 ThreadId:5184
Extended Properties:
----------------------------------------
----------------------------------------
Timestamp: 5/26/2011 12:34:41 PM
Message: HandlingInstanceID: b1b6901f-05c2-4d9a-8d0d-ec3e6e28e20f
An exception of type 'System.ArgumentException' occurred and was caught.
------------------------------------------------------------------------
05/26/2011 08:34:41
Type : System.ArgumentException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Message : String cannot be of zero length.
Parameter name: oldValue
Source : mscorlib
Help link :
ParamName : oldValue
Data : System.Collections.ListDictionaryInternal
TargetSite : System.String ReplaceInternal(System.String, System.String)
Stack Trace : at System.String.ReplaceInternal(String oldValue, String newValue)
at System.String.Replace(String oldValue, String newValue)
at FileLogger.Logger.LogPage()
at usercontrols_PageLogger.Page_Load(Object sender, EventArgs e) in
e:\inetpub\wwwroot\ADSMarketing\UserControls\PageLogger.ascx.cs:line 13
at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
at System.Web.UI.Control.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Additional Info:
MachineName : DEV03
TimeStamp : 5/26/2011 12:34:41 PM
FullName : Telerik.Sitefinity.Utilities, Version=4.1.1395.0, Culture=neutral, PublicKeyToken=b28c218413bdf563
AppDomainName : /LM/W3SVC/1427353959/Root-1-129508868385655389
ThreadIdentity : twieleba
WindowsIdentity : NT AUTHORITY\NETWORK SERVICE
Requested URL : /
Category: ErrorLog
Priority: 0
EventId: 90000
Severity: Error
Title:Enterprise Library Exception Handling
Machine: DEV03
App Domain: /LM/W3SVC/1427353959/Root-1-129508868385655389
ProcessId: 4396
Process Name: c:\windows\system32\inetsrv\w3wp.exe
Thread Name:
Win32 ThreadId:5184
Extended Properties:
----------------------------------------
Hi Tom,
Thank you for the additional info and logs.
However, I still have not managed to reproduce the errors you mentioned.
The deadlock error issue is still known to happen on certain specific scenarios, and this is currently undergoing fixes. Nevertheless, it would be very helpful if you could supply a backup of your database and APP_DATA folder and specify scenarios in which this happen with as much detail as possible. It may also be helpful if you supply details about the configuration of the site on your IIS server, in terms of application pool and timeouts.
As for the second issue which seems more consistent, but depends on your private logger code. Again, it would be great help if you could send your system configuration (DB+APP_DATA) in order for us to reproduce the issue and get to the bottom of its cause.
Thank you.
Greetings,
Alon Rotem
the Telerik team