Hi,
I'm having troubles with Search facility in DNN.
I'm getting OutOfmemoryException. I tried to analyse the logs and it seems everything begins with this entry:
AssemblyVersion: 04.08.04
PortalID: 0
PortalName:Site Name
UserID: -1
UserName:
ActiveTabID: 37
ActiveTabName: Search Results
RawURL: /test-www/SearchResults.aspx?Search=test
AbsoluteURL: /test-www/Default.aspx
AbsoluteURLReferrer: http://localhost/test-www/Home.aspx
UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1
DefaultDataProvider: DotNetNuke.Data.SqlDataProvider, DotNetNuke.SqlDataProvider
ExceptionGUID: dab5d9c6-8b7d-4a97-b8c0-6e6d1262e046
InnerException: Unhandled Error:
FileName:
FileLineNumber: 0
FileColumnNumber: 0
Method: System.MemberInfoCache`1.AddMethod
StackTrace:
Message: System.Exception: Unhandled Error: ---> System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown. at System.RuntimeType.RuntimeTypeCache.MemberInfoCache`1.AddMethod(RuntimeTypeHandle declaringType, RuntimeMethodHandle method, CacheType cacheType) at System.RuntimeType.RuntimeTypeCache.GetMethod(RuntimeTypeHandle declaringType, RuntimeMethodHandle method) at System.RuntimeType.GetMethodBase(RuntimeTypeHandle reflectedTypeHandle, RuntimeMethodHandle methodHandle) at System.Diagnostics.StackFrameHelper.GetMethodBase(Int32 i) at System.Diagnostics.StackTrace.CaptureStackTrace(Int32 iSkip, Boolean fNeedFileInfo, Thread targetThread, Exception e) at System.Diagnostics.StackTrace..ctor(Exception e, Boolean fNeedFileInfo) at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo) at System.Exception.get_StackTrace() at System.Exception.ToString() at DotNetNuke.Framework.PageBase.Page_Error(Object Source, EventArgs e) at System.Web.UI.TemplateControl.OnError(EventArgs e) 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.default_aspx.ProcessRequest(HttpContext context) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) --- End of inner exception stack trace ---
Source:
Server Name: test
then following log entry is produced:
AssemblyVersion: 04.08.04
PortalID: 0
PortalName: Site Name
UserID: -1
UserName:
ActiveTabID: 37
ActiveTabName: Search Results
RawURL: /test-www/SearchResults.aspx?Search=privacy
AbsoluteURL: /test-www/Default.aspx
AbsoluteURLReferrer: http://localhost/test-www/Default.aspx?TabID=54
UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1
DefaultDataProvider: DotNetNuke.Data.SqlDataProvider, DotNetNuke.SqlDataProvider
ExceptionGUID: ad0f1d3d-05ce-4e5c-ab78-fece1b8bf44b
InnerException: The added or subtracted value results in an un-representable DateTime. Parameter name: value
FileName:
FileLineNumber: 0
FileColumnNumber: 0
Method: System.DateTime.AddTicks
StackTrace:
Message: DotNetNuke.Services.Exceptions.PageLoadException: The added or subtracted value results in an un-representable DateTime. Parameter name: value ---> System.ArgumentOutOfRangeException: The added or subtracted value results in an un-representable DateTime. Parameter name: value at System.DateTime.AddTicks(Int64 value) at System.DateTime.Add(Double value, Int32 scale) at DotNetNuke.Modules.Events.EventMonth.BindDataGrid() at DotNetNuke.Modules.Events.EventMonth.Page_PreRender(Object sender, EventArgs e) at System.Web.UI.Control.OnPreRender(EventArgs e) at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at
... AND SO ON WITH TOTAL NUMBER OF RECURSIVE CALLS MORE THAN 100-200...
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) --- End of inner exception stack trace ---
Source:
Server Name: test
It looks like there could be stack-overflow. (Un)Fortunately it end up with ArgumentOutOfRangeException :)
Then I can see different errors like:
DotNetNuke.Services.Exceptions.ModuleLoadException: The added or subtracted value results in an un-representable DateTime. Parameter name: value ---> System.ArgumentOutOfRangeException: The added or subtracted value results in an un-representable DateTime. Parameter name: value at System.DateTime.AddTicks(Int64 value) at System.DateTime.Add(Double value, Int32 scale) at DotNetNuke.Modules.Events.EventMonth.BindDataGrid() at DotNetNuke.Modules.Events.EventMonth.Page_Load(Object sender, EventArgs e)
or again OutOfMemoryExceptions:
System.Exception: Unhandled Error: ---> System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown. at System.Diagnostics.StackTrace.GetStackFramesInternal(StackFrameHelper sfh, Int32 iSkip, Exception e) at System.Diagnostics.StackTrace.CaptureStackTrace(Int32 iSkip, Boolean fNeedFileInfo, Thread targetThread, Exception e) at System.Diagnostics.StackTrace..ctor(Exception e, Boolean fNeedFileInfo) at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo) at System.Exception.get_StackTrace() at System.Exception.ToString() at DotNetNuke.Framework.PageBase.Page_Error(Object Source, EventArgs e) at System.Web.UI.TemplateControl.OnError(EventArgs e) 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.default_aspx.ProcessRequest(HttpContext context) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
All that looks really messy and I have no idea what should be done to resolve this search problem.
Any suggestions?
Many thanks,
Dmitriy.