Hashtable insert failed

 

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
  • Member since: 2005
     
    Any solution to this? We have the same problem.
    #29199 Apr 15, 2009 10:18
  • Member since: 2006
     

    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
  • Member since: 2004
     

    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
  • Member since: 2007
     

    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
  • Member since: 2006
     

    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
  • Member since: 2010
     

    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
  • Member since: 2008
     

    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
  • Member since: 2010
     

    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