advanced-cms / advanced-reviews

This is an Open Source add-on that improves the reviewing process and lets external users to view & review content items or whole projects without the need to access the Edit Mode. Created and maintained by Bartosz Sekuła and Grzegorz Wiecheć
Apache License 2.0
17 stars 15 forks source link

Page hangs when using components which query pages #233

Closed elivnjak closed 1 year ago

elivnjak commented 1 year ago

Advanced Reviews 1.3.3 Optimizely 12.19.0

When i try to view an external review page the page hangs. Looking into the issue further it seems as through the issue is related to components that query pages.

eg. I am rendering a partial footer razor file, inside it i have a quick links field which is of type LinkItemCollection.

If i try to render this field the page hangs.

I get the same issue also if i run my custom navigation which uses IContentLoader to query pages and subpages.

The logs seem to be mostly repeating the following error:

at System.Linq.Enumerable+SelectEnumerableIterator2[[System.Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].ToList() at EPiServer.Core.ContentArea.GetOrCreateContentAreaItemCollection(EPiServer.Core.Html.StringParsing.StringFragmentCollection) at EPiServer.Core.ContentArea.get_Fragments() at EPiServer.Core.ContentArea.get_Items() at EPiServer.SpecializedProperties.PropertyContentArea.CreateWritableClone() at EPiServer.Core.PropertyDataCollection.CreateWritableClone() at EPiServer.Core.ContentData.CreateWriteableCloneImplementation() at EPiServer.Core.PageData.CreateWriteableCloneImplementation() at EPiServer.Core.PageData.CreateWritableClone() at Advanced.CMS.ExternalReviews.ContentExtensions.AllowAccessToEveryone(EPiServer.Core.IContent) at Advanced.CMS.ExternalReviews.CustomContentLoaderInitialization.Events_LoadingContent(System.Object, EPiServer.ContentEventArgs) at EPiServer.Core.Internal.DefaultContentEvents.RaiseContentEvent(System.String, EPiServer.ContentEventArgs) at EPiServer.Core.Internal.DefaultContentLoader.TryGet[[System.Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](EPiServer.Core.ContentReference, EPiServer.Core.LoaderOptions, System.Canon ByRef) at Advanced.CMS.ExternalReviews.DraftContentLoader.TryGet[[System.Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.Guid, System.Globalization.CultureInfo, System.Canon ByRef) at EPiServer.Core.Internal.DefaultContentLanguageSettingsHandler.GetLogicalContentParent(EPiServer.Core.IContent) at EPiServer.Core.Internal.DefaultContentLanguageSettingsHandler.GetSetting(EPiServer.Core.ContentReference, System.Collections.Generic.HashSet1<EPiServer.Core.ContentReference>) at EPiServer.Core.Internal.DefaultContentLanguageSettingsHandler.Get(EPiServer.Core.ContentReference, System.Collections.Generic.HashSet1) at EPiServer.Core.Internal.DefaultContentLanguageSettingsHandler.GetSetting(EPiServer.Core.ContentReference, System.Collections.Generic.HashSet1<EPiServer.Core.ContentReference>) at EPiServer.Core.Internal.DefaultContentLanguageSettingsHandler.Get(EPiServer.Core.ContentReference, System.Collections.Generic.HashSet1) at EPiServer.Core.Internal.DefaultContentLanguageSettingsHandler.Get(EPiServer.Core.ContentReference, System.String) at EPiServer.Core.Internal.LanguagePipeline.Pipe(EPiServer.Core.ContentReference, EPiServer.Core.IContent, EPiServer.Core.LoaderOptions, System.Func3<EPiServer.Core.ContentReference,System.Globalization.CultureInfo,EPiServer.Core.IContent>) at EPiServer.Core.Internal.ProviderPipelineImplementation.GetItem(EPiServer.Core.ContentProvider, EPiServer.Core.ContentReference, EPiServer.Core.LoaderOptions) at EPiServer.Core.Internal.DefaultContentLoader.TryGet[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](EPiServer.Core.ContentReference, EPiServer.Core.LoaderOptions, System.__Canon ByRef) at Advanced.CMS.ExternalReviews.DraftContentLoader.TryGet[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](EPiServer.Core.ContentReference, EPiServer.Core.LoaderOptions, System.__Canon ByRef) at EPiServer.Core.Html.StringParsing.ContentFragment.GetContent(Boolean) at EPiServer.Core.Html.StringParsing.ContentFragment.GetSecurityDescriptor() at EPiServer.Core.ContentAreaItem..ctor(EPiServer.Core.Html.StringParsing.ContentFragment) at EPiServer.Core.ContentArea.CreateContentAreaItem(EPiServer.Core.Html.StringParsing.ContentFragment)

See full error logs attached. The end part of the logs has some other errors that come up.

advanced-reviews-error-logs.txt

elivnjak commented 1 year ago

I just realised 1.3.4 might fix the issue. @barteksekula any chance this can be pushed to the nuget repo?

barteksekula commented 1 year ago

@elivnjak yes, it will be available today

barteksekula commented 1 year ago

duplicate of #228