We have a site running on DNN8.0.4.226. Almost weekly the IIS AppPool for DNN will crash and has to be restarted for the site to be accessible again. I can't really find any common denominator in the DNN logs. Windows Event Logs show the below message at the time of the crash. I'm not sure if its even relevenant because looking at another AppPool crash does not have the same entry before it.
Event code: 3005 Event message: An unhandled exception has occurred. Event time: 7/18/2019 1:51:46 PM Event time (UTC): 7/18/2019 6:51:46 PM Event ID: 9b25ff50dd1540468f4c3530044ff2b1 Event sequence: 15 Event occurrence: 1 Event detail code: 0 Application information: Application domain: /LM/W3SVC/1/ROOT-1-132079495030270689 Trust level: Full Application Virtual Path: / Application Path: D:\DNN\ Machine name: SSSDNN2 Process information: Process ID: 9304 Process name: w3wp.exe Account name: IIS APPPOOL\DNN Exception information: Exception type: ArgumentException Exception message: An item with the same key has already been added. at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value) at DotNetNuke.Collections.Internal.SharedDictionary`2.Add(TKey key, TValue value) at DotNetNuke.Services.OutputCache.Providers.FileProvider.GetCacheFolder(Int32 portalId) at DotNetNuke.Services.OutputCache.Providers.FileProvider.GetCacheFolder() at DotNetNuke.Services.OutputCache.Providers.FileProvider.StreamOutput(Int32 tabId, String cacheKey, HttpContext context) at DotNetNuke.HttpModules.OutputCaching.OutputCacheModule.OnResolveRequestCache(Object sender, EventArgs e) at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Request information: Request URL: http://www.stlouisco.com/...language=en-US Request path: /Default.aspx User host address: 10.97.201.239 User: Is authenticated: False Authentication Type: Thread account name: IIS APPPOOL\DNN Thread information: Thread ID: 10 Thread account name: IIS APPPOOL\DNN Is impersonating: False Stack trace: at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value) at DotNetNuke.Collections.Internal.SharedDictionary`2.Add(TKey key, TValue value) at DotNetNuke.Services.OutputCache.Providers.FileProvider.GetCacheFolder(Int32 portalId) at DotNetNuke.Services.OutputCache.Providers.FileProvider.GetCacheFolder() at DotNetNuke.Services.OutputCache.Providers.FileProvider.StreamOutput(Int32 tabId, String cacheKey, HttpContext context) at DotNetNuke.HttpModules.OutputCaching.OutputCacheModule.OnResolveRequestCache(Object sender, EventArgs e) at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) Custom event details:
Which is followed by the following 2 Errors.
Application: w3wp.exe Framework Version: v4.0.30319 Description: The process was terminated due to an internal error in the .NET Runtime at IP ..... with exit code 80131506.
Faulting application name: w3wp.exe, version: 7.5.7601.17514, time stamp: 0x4ce7a5f8 Faulting module name: clr.dll, version: 4.0.30319.18444, time stamp: 0x52717e84 Exception code: 0xc0000005 Fault offset: 0x00004ab5 Faulting process id: 0x2458 Faulting application start time: 0x01d53d99d7484190 Faulting application path: C:\Windows\SysWOW64\inetsrv\w3wp.exe Faulting module path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
You definitely want to resolve the underlying issue to help stabilze the website.
It sounds like you may have a lot of folders and/or folders with a lot of files? Is this the case? If yes, I'd consider turning off the auto-sync feature for the file system. You can always manually synchronize the folders whenever you want.
Alternatively, it may be a good idea to also change some of your folders to use cloud providers instead of "Standard." Those would require a 3rd party folder provider extension available from the DNN Store. Using DNNGlobalStorage by Evotiva with Amazon S3 works really well for us.
If this isn't the case, do happen to have any additional details you can provide? Are there any other applications on the server that may be impacting this? Does the SQL Server have a maintenance plan, and is it set to run after the file sync is occurring by any chance?
These Forums are dedicated to the discussion of DNN Platform.
For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:
Awesome! Simply post in the forums using the link below and we'll get you started.