Error: "Index was outside the bounds of the array" after module crashes

Overview

There is a known issue in DNN Evoq versions before 8.5 that leads DNN modules to stop working and produce the following error:

Message:Index was outside the bounds of the array. 
StackTrace: 
InnerMessage:Index was outside the bounds of the array. 
InnerStackTrace: 
at System.Collections.Generic.List`1.Enumerator.MoveNext() 
at System.Linq.Enumerable.d__71`1.MoveNext() 
at System.Linq.Buffer`1..ctor(IEnumerable`1 source) 
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) 
at System.Web.Mvc.MultiServiceResolver.GetCombined[TService](IList`1 items, IDependencyResolver resolver) 
at System.Web.Mvc.ViewEngineCollection.get_CombinedItems() 
at System.Web.Mvc.ViewEngineCollection.Find(Func`2 lookup, Boolean trackSearchedPaths) 
at System.Web.Mvc.ViewEngineCollection.FindView(ControllerContext controllerContext, String viewName, String masterName) 
at DotNetNuke.Web.Mvc.Framework.ActionResults.DnnViewResult.ExecuteResult(ControllerContext context, TextWriter writer) 
at DotNetNuke.Web.Mvc.Framework.Modules.ModuleExecutionEngine.ExecuteModuleResult(ModuleRequestResult moduleResult, TextWriter writer) 
at DotNetNuke.Web.Mvc.MvcHostControl.RenderModule(ModuleRequestResult moduleResult) 
at DotNetNuke.Web.Mvc.MvcHostControl.OnLoad(EventArgs e) 

Restarting the application fixes the problem temporarily but it will continue to happen.

 

Environment

  • Evoq versions 8.3+ prior to 8.5

You will need:

 

Solution

This issue is related to the MVC view engine in DNN and is a known bug with Evoq 8.3+.

NOTES:

  • This defect was fixed in versions 8.5+. We strongly suggest that you upgrade to permanently fix this problem.
  • If you are unable to or unwilling to upgrade, then the following patch will work but ONLY on version 8.4.2.
  1. Take a backup of your DotNetNuke.Web.Mvc.dll library file from your <WebSiteRootDirectory>/bin/ directory.
  2. Download the attached 842-DotNetNuke.Web.Mvc.dll.zip file and extract it.
  3. Copy the DotNetNuke.Web.Mvc.dll file from the extracted directory in step 2 to your <WebSiteRootDirectory>/bin/ directory. 
  4. Clear your cache and restart the application

 

Testing

Modules that were previously failing should now work without throwing errors.

Attachments

Comments

0 comments

Please sign in to leave a comment.