Episerver MatchNodeOrCatalog: Crashes due to (0xC00000FD - Stack Overflow, 0x800703E9 - Recursion too deep; the stack overflowed.)
Looking at the crash dump, the stack trace pointing to MatchNodeOrCatalog:
FaultingExceptionFrame
HelperMethodFrame_PROTECTOBJ
EPiServer.Core.Internal.ContentCacheKeyCreator.CreateMasterLanguageCacheKey(EPiServer.Core.ContentReference)
EPiServer.Core.Internal.ContentInstanceCache.TryGet(EPiServer.Core.ContentReference, System.String, EPiServer.Core.IContent ByRef)
EPiServer.Core.ContentProvider.LoadContentFromCacheOrRepository(EPiServer.Core.ContentReference, EPiServer.Core.ILanguageSelector)
EPiServer.Core.Internal.ProviderPipelineImplementation.GetItem(EPiServer.Core.ContentProvider, EPiServer.Core.ContentReference, EPiServer.Core.LoaderOptions)
EPiServer.Core.Internal.DefaultContentLoader.TryGet[[System.__Canon, mscorlib]](EPiServer.Core.ContentReference, EPiServer.Core.LoaderOptions, System.__Canon ByRef)
StubHelperFrame
Avensia.EpiFoundation.ContentProcessing.DependencyTracking.DependencyTrackingContentLoader.TryGet[[System.__Canon, mscorlib]](EPiServer.Core.ContentReference, System.__Canon ByRef)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchParentLink(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchNodeOrCatalog(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchParentLink(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchNodeOrCatalog(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchParentLink(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchNodeOrCatalog(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
System.Linq.Enumerable.Any[[System.__Canon, mscorlib]](System.Collections.Generic.IEnumerable`1<System.__Canon>, System.Func`2<System.__Canon,Boolean>)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchNodeOrCatalog(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchParentLink(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchNodeOrCatalog(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchParentLink(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchNodeOrCatalog(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
System.Linq.Enumerable.Any[[System.__Canon, mscorlib]](System.Collections.Generic.IEnumerable`1<System.__Canon>, System.Func`2<System.__Canon,Boolean>)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchNodeOrCatalog(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchParentLink(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchNodeOrCatalog(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchParentLink(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchNodeOrCatalog(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
System.Linq.Enumerable.Any[[System.__Canon, mscorlib]](System.Collections.Generic.IEnumerable`1<System.__Canon>, System.Func`2<System.__Canon,Boolean>)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchNodeOrCatalog(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchParentLink(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchNodeOrCatalog(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchParentLink(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchNodeOrCatalog(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
System.Linq.Enumerable.Any[[System.__Canon, mscorlib]](System.Collections.Generic.IEnumerable`1<System.__Canon>, System.Func`2<System.__Canon,Boolean>)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchNodeOrCatalog(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchParentLink(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchNodeOrCatalog(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchParentLink(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
EPiServer.Commerce.Marketing.CollectionTargetEvaluator.MatchNodeOrCatalog(EPiServer.Core.ContentReference, System.Collections.Generic.IDictionary`2<EPiServer.Core.ContentReference,Boolean>, Boolean)
System.Linq.Enumerable.Any[[System.__Canon, mscorlib]](System.Collections.Generic.IEnumerable`1<System.__Canon>, System.Func`2<System.__Canon,Boolean>)
It seems that this might be related to a mistake made in inRiver “pim” where they seems to have connected a parent category to the catalog as the same time connected the category as a children to another category that is also a child to category that uses the same parent.
I have done some tests on Foundation, here is an example of deleting:
DELETE FROM [dbo].[CatalogNodeRelation]
WHERE [ParentNodeId] = 11 and ChildNodeId = 7
GO
Comments
Post a Comment