I have a website with 2 portals setup on it. The first portal works perfectly, no issues with it. The second portal has started to have a strange memory issue that I will outline below. This issue just started last week. These portals have been running without problem for over 6 months now, until last week.
I can log into portal #2 as a standard user without any problem, however, when I try to log into portal #2 with an administrator or host account the w3wp.exe memory surges to over 1.5gb. The webpage hangs for a while and then I get an OutOfMemory exception.
Now I can log into a host or admin account on the other portal without any problem. If I log into portal #1 with a host account and then try to switch to editing portal #2, the same memory surge occurs and then I get an OutOfMemory exception.
I am using moderate caching on the server, the cache method is disk, page state persistence is set to page and I do not use compression. This issue started on DNN 4.8.4 and I just recently upgraded to DNN 4.9 but the issue still persists. I have tried to clear the Schedule History, SiteLog and EventLog tables in hopes that this would fix the issue, but it has had no affect. So I am at a bit of a loss now, as to why this is happening. I do not use any 3rd party modules, just the ones that came with DNN. I turned on DNN Debugging to find the problem but it has given me no clues. Below are my system specs.
DNN Web Server:
Dell PowerEdge 850, 3.2Ghz Pentium D with 2gb Ram, Running Windows 2003 Standard with SP2
DNN DB Server:
Dell PowerEdge 850, 3.2Ghz Pentium D with 2gb Ram, Running Windows 2003 Standard with SP2, SQL Server 2000 Enterprise
Error Info #1:
Server Error in '/' Application.
Exception of type 'System.OutOfMemoryException' was thrown.
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.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
Source Error:
The source code that generated this unhandled exception can only be shown when compiled in debug mode. To enable this, please follow one of the below steps, then request the URL:
1. Add a "Debug=true" directive at the top of the file that generated the error. Example:
<%@ Page Language="C#" Debug="true" %>
or:
2) Add the following section to the configuration file of your application:
<configuration>
<system.web>
<compilation debug="true"/>
</system.web>
</configuration>
Note that this second technique will cause all files within a given application to be compiled in debug mode. The first technique will cause only that particular file to be compiled in debug mode.
Important: Running applications in debug mode does incur a memory/performance overhead. You should make sure that an application has debugging disabled before deploying into production scenario. The source code that generated this unhandled exception can only be shown when compiled in debug mode. To enable this, please follow one of the below steps, then request the URL:
1. Add a "Debug=true" directive at the top of the file that generated the error. Example:
<%@ Page Language="C#" Debug="true" %>
or:
2) Add the following section to the configuration file of your application:
<configuration>
<system.web>
<compilation debug="true"/>
</system.web>
</configuration>
Note that this second technique will cause all files within a given application to be compiled in debug mode. The first technique will cause only that particular file to be compiled in debug mode.
Important: Running applications in debug mode does incur a memory/performance overhead. You should make sure that an application has debugging disabled before deploying into production scenario. The source code that generated this unhandled exception can only be shown when compiled in debug mode. To enable this, please follow one of the below steps, then request the URL:
1. Add a "Debug=true" directive at the top of the file that generated the error. Example:
<%@ Page Language="C#" Debug="true" %>
or:
2) Add the following section to the configuration file of your application:
<configuration>
<system.web>
<compilation debug="true"/>
</system.web>
</configuration>
Note that this second technique will cause all files within a given application to be compiled in debug mode. The first technique will cause only that particular file to be compiled in debug mode.
Important: Running applications in debug mode does incur a memory/performance overhead. You should make sure that an application has debugging disabled before deploying into production scenario. |
Stack Trace:
[OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.]
System.Collections.Generic.List`1..ctor(Int32 capacity) +57
System.MemberInfoCache`1.AddMethod(RuntimeTypeHandle declaringType, RuntimeMethodHandle method, CacheType cacheType) +154
System.RuntimeTypeCache.GetMethod(RuntimeTypeHandle declaringType, RuntimeMethodHandle method) +42
System.RuntimeType.GetMethodBase(RuntimeTypeHandle reflectedTypeHandle, RuntimeMethodHandle methodHandle) +623
System.RuntimeType.GetMethodBase(RuntimeMethodHandle methodHandle) +33
System.Diagnostics.StackFrameHelper.GetMethodBase(Int32 i) +58
System.Diagnostics.StackTrace.CaptureStackTrace(Int32 iSkip, Boolean fNeedFileInfo, Thread targetThread, Exception e) +143
System.Diagnostics.StackTrace..ctor(Exception e, Boolean fNeedFileInfo) +36
System.Environment.GetStackTrace(Exception e, Boolean needFileInfo) +72
System.Exception.get_StackTrace() +35
System.Exception.ToString() +88
DotNetNuke.Framework.PageBase.Page_Error(Object Source, EventArgs e) +58
System.Web.UI.TemplateControl.OnError(EventArgs e) +2085460
System.Web.UI.Page.HandleError(Exception e) +71
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +7341
System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +213
System.Web.UI.Page.ProcessRequest() +86
System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +18
System.Web.UI.Page.ProcessRequest(HttpContext context) +49
ASP.default_aspx.ProcessRequest(HttpContext context) +29
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +358
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +64
|
Version Information: Microsoft .NET Framework Version:2.0.50727.1433; ASP.NET Version:2.0.50727.1433
Error Info #2:
Server Error in '/' Application.
Exception of type 'System.OutOfMemoryException' was thrown.
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.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
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. 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. 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:
[OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.]
System.Xml.XmlTextReaderImpl.InitTextReaderInput(String baseUriStr, TextReader input) +64
System.Xml.XmlTextReaderImpl..ctor(String url, TextReader input, XmlNameTable nt) +93
System.Xml.XmlTextReader..ctor(TextReader input) +69
DotNetNuke.Common.Utilities.XmlUtils.DeSerializeHashtable(String xmlSource, String rootname) +320
DotNetNuke.Services.Personalization.PersonalizationController.LoadProfile(Int32 UserId, Int32 PortalId) +111
DotNetNuke.Services.Personalization.PersonalizationController.LoadProfile(HttpContext objHTTPContext, Int32 UserId, Int32 PortalId) +103
DotNetNuke.HttpModules.Membership.MembershipModule.OnAuthenticateRequest(Object s, EventArgs e) +3208
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +92
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +64
|
Version Information: Microsoft .NET Framework Version:2.0.50727.1433; ASP.NET Version:2.0.50727.1433
I really do not wish to rebuild this portal because it has quite a bit of information in the forums module on the site that I can not afford to loose. If you need to see my Web.config file as well, I would be more then happy to post that in a reply. But for right now, I am at a loss as to why this is occuring. I have tried everything I could think of to fix the problem but nothing seems to work. I have also not been able to find any post with a similar issue.
I would appreciate any advice that you guys could give to rectify this issue.
Thanks,
Adam