Hashtable insert failed

Vote:
 

Every couple of months our CMS (v4.62) keels over with the below error message.

Recycling the application pool via IIS appears to temporarily fix the problem.

Does anyone know the cause of this, so we may develop a long term fix?

 

 

Hashtable insert failed. Load factor too high.

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.InvalidOperationException: Hashtable insert failed. Load factor too high.

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:

 
 
[InvalidOperationException: Hashtable insert failed. Load factor too high.]
   System.Collections.Hashtable.Insert(Object key, Object nvalue, Boolean add) +2903977
   System.Collections.Hashtable.set_Item(Object key, Object value) +11
   EPiServer.Core.DynamicPropertyTree.ᐁ(PageReference ) +398
   EPiServer.Core.DynamicPropertyTree.SetDynamicProperties(PageData page, Boolean ignoreExisting) +171
   EPiServer.DataFactory.GetChildren(PageReference pageLink, ILanguageSelector selector, AccessLevel access) +776
   EPiServer.DataFactory.GetChildren(PageReference pageLink, AccessLevel access) +89
   EPiServer.DataFactory.GetChildren(PageReference pageLink) +25
   EPiServer.PageBase.GetChildren(PageReference pageLink) +85
   EPiServer.UserControlBase.GetChildren(PageReference pageLink) +29
   EuropeanIntranet.Controls.LeftMenuTreeView.constructTree(PageDataCollection pdc, TreeView tvTreeControl, TreeNode tnParentNodeControl) in C:\Workspace\PerForce\Intranet\main-dev\EuropeanIntranet\Controls\LeftMenuTreeView.ascx.cs:257
   EuropeanIntranet.Controls.LeftMenuTreeView.GenerateLeftMenuLinks() in C:\Workspace\PerForce\Intranet\main-dev\EuropeanIntranet\Controls\LeftMenuTreeView.ascx.cs:143
   EuropeanIntranet.Controls.LeftMenuTreeView.OnPreRender(EventArgs e) in C:\Workspace\PerForce\Intranet\main-dev\EuropeanIntranet\Controls\LeftMenuTreeView.ascx.cs:59
   System.Web.UI.Control.PreRenderRecursiveInternal() +86
   System.Web.UI.Control.PreRenderRecursiveInternal() +170
   System.Web.UI.Control.PreRenderRecursiveInternal() +170
   System.Web.UI.Control.PreRenderRecursiveInternal() +170
   System.Web.UI.Control.PreRenderRecursiveInternal() +170
   System.Web.UI.Control.PreRenderRecursiveInternal() +170
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2041
 
#28091
Feb 19, 2009 11:42
Vote:
 
Any solution to this? We have the same problem.
#29199
Apr 15, 2009 10:18
Vote:
 

HI we have the exact same error, but unfortunaly at a much higer rate.

We've been in touch wiwth EPiServer support regaring the issue and we were pointed in this direction:

http://blogs.msdn.com/toddca/archive/2007/01/26/hashtable-insert-failed-load-factor-too-high.aspx

Our hosting company has not implemented the fix yet so I don't know if it resolves the issue.

I'll post an update when the fix is implemented.

 

//Morten

#29202
Apr 15, 2009 11:04
Vote:
 

I experience this error on a listingpage, where the datasource was built up based on FindPagesByCriteria, search through more then 400 pages. I changed this to use GetChildren() with a post filter instead. We have not experience this error after this, but then again we only got this error once. I think it only happens when the site is under heavy pressure. It occured on a time where our site has a peek in number of visitors. A strange thing is that this error can propagate to other pages, pages that isn't realy the source of error.

 EPiServer Support suggested that I should decrease my number of dynamic properites. But I only have 15....

 Advantages using GetChildren vs FindPages is Page Chache vs No Cache!

#31932
Aug 17, 2009 16:07
Vote:
 
#37353
Mar 03, 2010 16:02
Vote:
 

I had the same problem. 2 web servers in load-balancing. From time to time one of the servers starts throwing the error without affecting the second one. App pool restart helps, but the error returns after some time. It may take up to 1,2,3 or even 4 months to appear again.

Exception Details: System.InvalidOperationException: Hashtable insert failed. Load factor too high.
Stack Trace:
[InvalidOperationException: Hashtable insert failed. Load factor too high.]
System.Collections.Hashtable.Insert(Object key, Object nvalue, Boolean add) +10066501
EPiServer.Core.PageLanguageSettingsTree.GetClosestSetting(PageReference pageLink) +399
EPiServer.Core.PageLanguageSettingsTree.Get(PageReference pageLink) +105
EPiServer.Core.LanguageSelector.SelectPageLanguage(LanguageSelectorContext context) +166
EPiServer.Core.PageProviderBase.SelectLanguageBranch(PageData page, ILanguageSelector selector) +103
EPiServer.Core.PageProviderBase.GetPage(PageReference pageLink, ILanguageSelector selector) +76
EPiServer.DataFactory.GetPage(PageReference pageLink, ILanguageSelector selector) +341

Does anybody manage to fix this problem with http://support.microsoft.com/kb/968432 ?

#78928
Dec 05, 2013 10:29
Vote:
 

I've had the same problem in an Episerver cms R2 solution lately.

I think the code that are the source of this error is this:

while (!PageReference.IsNullOrEmpty(parentLink));
hashtable[pageLink] = parentLink;

(I cant remember which dll I found that in).

 

The error seems to appear when it's high traffic on the servers and several threads are running the same code at once. Since this error exists in the episerver framework its not to easy to solve.

If you can locate the GetPage you are doing that "cause" the error, your best shot is to use a try catch around that one so the site does not crash. 

#79140
Dec 10, 2013 10:32
Vote:
 

We have this issue as well. At the moment it seems to popup daily. The problem still remains after we have upgraded to .NET 4.5.1.

The problematic site is running CMS 6 R2.

#88675
Edited, Jul 24, 2014 9:55
Vote:
 

Hi Robert, 

It's a known issue in CMS 6R2 i.e. 60265: "Hashtable insert failed" when calling PageLanguageSettingsTree.GetClosestSetting(). 

It has been fixed and released in latest version of CMS-6R2

.Net 4.5.1 is officially NOT supported with CMS-6R2. Have a look at system requirements  as well. 

#88679
Jul 24, 2014 10:59
Vote:
 

Hi Shahid,

Thanks for your reply.

We've made the switch to .NET 4.5.1 in a desperate attempt to resolve the issue. In the meantime we've switched back to .NET 4 and upgraded the CMS to the latest assembly file versions. So far the issue hasn't returned yet.

#88692
Jul 25, 2014 9:53
This topic was created over six months ago and has been resolved. If you have a similar question, please create a new topic and refer to this one.