Out of Memory Error when displaying Large Repo / Numerous Changes

bcarr's Avatar

bcarr

30 Jun, 2015 05:25 PM

Error screen included:
System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
   at System.Collections.Generic.LinkedList`1.AddBefore(LinkedListNode`1 node, T value)
   at HgSharp.Core.MPatch.FragmentList.Add(Fragment fragment) in d:\projects\hgsharp\src\HgSharp.Core\Mpatch.cs:line 71
   at HgSharp.Core.MPatch.Combine(FragmentList a, FragmentList b) in d:\projects\hgsharp\src\HgSharp.Core\Mpatch.cs:line 204
   at HgSharp.Core.MPatch.Fold(IList`1 bins, Int32 start, Int32 end) in d:\projects\hgsharp\src\HgSharp.Core\Mpatch.cs:line 309
   at HgSharp.Core.MPatch.Fold(IList`1 bins, Int32 start, Int32 end) in d:\projects\hgsharp\src\HgSharp.Core\Mpatch.cs:line 307
   at HgSharp.Core.MPatch.Fold(IList`1 bins, Int32 start, Int32 end) in d:\projects\hgsharp\src\HgSharp.Core\Mpatch.cs:line 306
   at HgSharp.Core.MPatch.Fold(IList`1 bins, Int32 start, Int32 end) in d:\projects\hgsharp\src\HgSharp.Core\Mpatch.cs:line 307
   at HgSharp.Core.MPatch.Fold(IList`1 bins, Int32 start, Int32 end) in d:\projects\hgsharp\src\HgSharp.Core\Mpatch.cs:line 307
   at HgSharp.Core.MPatch.Fold(IList`1 bins, Int32 start, Int32 end) in d:\projects\hgsharp\src\HgSharp.Core\Mpatch.cs:line 307
   at HgSharp.Core.MPatch.Fold(IList`1 bins, Int32 start, Int32 end) in d:\projects\hgsharp\src\HgSharp.Core\Mpatch.cs:line 307
   at HgSharp.Core.MPatch.Patch(Byte[] text, IList`1 patches) in d:\projects\hgsharp\src\HgSharp.Core\Mpatch.cs:line 315
   at HgSharp.Core.HgRevlogReader.<ReadRevlogEntries>d__34.MoveNext() in d:\projects\hgsharp\src\HgSharp.Core\HgRevlogReader.cs:line 174
   at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source)
   at HgSharp.Core.HgRevlogReader.ReadRevlogEntry(UInt32 revision) in d:\projects\hgsharp\src\HgSharp.Core\HgRevlogReader.cs:line 272
   at HgSharp.Core.HgRevlogReader.ReadRevlogEntry(HgNodeID nodeID) in d:\projects\hgsharp\src\HgSharp.Core\HgRevlogReader.cs:line 0
   at HgSharp.Core.HgRevlogBasedStorage.<>c__DisplayClass1.<GetRevlogEntryData>b__0() in d:\projects\hgsharp\src\HgSharp.Core\HgRevlogBasedStorage.cs:line 48
   at HgLab.Core.Framework.Caching.MemoryCacheObjectCache.GetOrAdd[T](String key, Func`1 valueProvider) in d:\projects\hglab\src\HgLab.Core\Framework\Caching\MemoryCacheObjectCache.cs:line 65
   at HgLab.Core.Impl.Integration.ObjectCacheAdapter.GetOrAdd[T](String key, Func`1 valueProvider) in d:\projects\hglab\src\HgLab.Core\Impl\Integration\ObjectCacheAdapter.cs:line 48
   at HgSharp.Core.HgRevlogBasedStorage.GetRevlogEntryData(HgNodeID hgNodeID) in d:\projects\hgsharp\src\HgSharp.Core\HgRevlogBasedStorage.cs:line 48
   at HgSharp.Core.HgManifest.<>c__DisplayClass1.<get_Item>b__0() in d:\projects\hgsharp\src\HgSharp.Core\HgManifest.cs:line 25
   at HgLab.Core.Framework.Caching.MemoryCacheObjectCache.GetOrAdd[T](String key, Func`1 valueProvider) in d:\projects\hglab\src\HgLab.Core\Framework\Caching\MemoryCacheObjectCache.cs:line 65
   at HgLab.Core.Impl.Integration.ObjectCacheAdapter.GetOrAdd[T](String key, Func`1 valueProvider) in d:\projects\hglab\src\HgLab.Core\Impl\Integration\ObjectCacheAdapter.cs:line 48
   at HgSharp.Core.HgManifest.get_Item(HgNodeID hgNodeID) in d:\projects\hgsharp\src\HgSharp.Core\HgManifest.cs:line 23
   at HgSharp.Core.HgTagManager.RefreshTagsInternal(HgRevset headNodes) in d:\projects\hgsharp\src\HgSharp.Core\HgTagManager.cs:line 146
   at HgSharp.Core.HgTagManager.GetTagsInternal() in d:\projects\hgsharp\src\HgSharp.Core\HgTagManager.cs:line 86
   at HgSharp.Core.HgTagManager.GetTags() in d:\projects\hgsharp\src\HgSharp.Core\HgTagManager.cs:line 41
   at HgSharp.Core.HgRepository.GetTags() in d:\projects\hgsharp\src\HgSharp.Core\HgRepository.cs:line 723
   at HgLab.Models.Modellers.RepositoryModeller.ToRepositoryModel(ISecurityPrincipal securityPrincipal, Repository repository, ProjectModel projectModel, HgRepository hgRepository, Boolean includeClosedBranches, Action`1 t) in d:\projects\hglab\src\HgLab\Models\Modellers\RepositoryModeller.cs:line 75
   at HgLab.Areas.Project.Controllers.RepositoryController.Files(MainlineRepository repository, String changeset, String path) in d:\projects\hglab\src\HgLab\Areas\Project\Controllers\RepositoryController.cs:line 106
   at lambda_method(Closure , ControllerBase , Object[] )
   at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
   at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
   at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12()
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
   at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.<>c__DisplayClass17.<InvokeActionMethodWithFilters>b__14()
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
   at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
   at System.Web.Mvc.Controller.ExecuteCore()
   at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
   at HgLab.Core.Framework.Web.HgLabControllerBase.Execute(RequestContext requestContext) in d:\projects\hglab\src\HgLab.Core\Framework\Web\HgLabControllerBase.cs:line 98
   at System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext)
   at System.Web.Mvc.MvcHandler.<>c__DisplayClass6.<>c__DisplayClassb.<BeginProcessRequest>b__5()
   at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass1.<MakeVoidDelegate>b__0()
   at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End()
   at System.Web.Mvc.MvcHandler.<>c__DisplayClasse.<EndProcessRequest>b__d()
   at System.Web.Mvc.SecurityUtil.<GetCallInAppTrustThunk>b__0(Action f)
   at System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Action action)
   at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
   at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Please report this error to HgLab Support.

  1. 1 Posted by bcarr on 30 Jun, 2015 05:54 PM

    bcarr's Avatar

    Attached is the log file generated by this error.

  2. 2 Posted by bcarr on 30 Jun, 2015 06:23 PM

    bcarr's Avatar

    Problem / failure was fixed by updating application pool for HgLan Application and setting 32 bit application support to false as suggested in another thread, but the large repo (roughly 1 gig with over 200 branches and 1000 commits) still brings hgLab to its knee whatever I do.

  3. Support Staff 3 Posted by Anton Gogolev on 01 Jul, 2015 03:05 PM

    Anton Gogolev's Avatar

    Brian,

    How big is your repository and how many heads does "hg heads" report?

  4. 4 Posted by bcarr on 01 Jul, 2015 03:37 PM

    bcarr's Avatar

    Hi Anton,

    When I do a clone (no updates) it is 940 meg of data with 60K files. We have 218 heads, some of which are for the same branch (multiple heads, oh no). Our history is truncated every year or so, but right now we have 17K revisions (will be truncating in a few months).

    We have been using Rhodecode for a couple of years and it has become a pretty solid utility for us and was largely ignored. However, we would like to do better work flows on branches and merges and Rhodecode is no use to us there. Also, our license with Rhodecode is running out and we have had problems with them being unreasonable at license renewal time (so we want to shift away if we can).

    As hg has been pretty solid for us our heads / branches ought to be cleaned up, but no one looks at it as they don’t really hinder the workflow.

    Thanks for any suggestions you have.
                            Brian

Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attaching KB article:

»

Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac

Recent Discussions

03 Aug, 2022 01:49 PM
05 Jul, 2022 07:01 PM
28 Mar, 2022 04:42 PM
21 Jan, 2022 10:43 AM
20 Jan, 2022 10:45 AM

 

18 Jan, 2022 10:15 AM
19 Mar, 2021 06:13 PM
01 Mar, 2021 02:51 PM
01 Jan, 2021 02:19 AM
28 Aug, 2020 08:34 AM
23 Jun, 2020 08:29 AM