Issue | RSA Archer record, when accessed by a non-admin user, will produce an unexpected error in the page.
The same record, when accessed by a sysadmin and/or by another admin account, does not produce an error.
Errors / Stack Trace seen in Archer.w3wp.<Data/Time>.Log is:
<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"> <System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"> <EventID>0</EventID> <Type>3</Type> <SubType Name="Error">0</SubType> <Level>2</Level> <TimeCreated SystemTime="#####" /> <Source Name="Archer.Web" /> <Correlation ActivityID="{00000000-0000-0000-7f27-0080000000da}" /> <Execution ProcessName="w3wp" ProcessID="1488" ThreadID="132" /> </System> <ApplicationData> <TraceData> <DataItem> <TraceRecord Severity="Error" xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord"> <TraceIdentifier>Archer.Web</TraceIdentifier> <LogReferenceId>122112-202209-3001</LogReferenceId> <Description>One or more errors occurred.</Description> <AppDomain>/LM/W3SVC/1/ROOT/Archer-1-130005120281260153</AppDomain> <ContextData> <BaseUrl>https://ServerName/Archer/GenericContent/Record.aspx</BaseUrl> <id>9999999</id> <Module>ModuleId: 999999, ModuleName: ModuleName, ModuleStatus: ActiveInProduction, ModuleType: Application</Module> </ContextData> <Exception> <ExceptionType>System.AggregateException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType> <Message>One or more errors occurred.</Message> <Source>mscorlib</Source> <StackTrace> at System.Threading.Tasks.Task.WaitAll(Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken) at System.Threading.Tasks.Task.WaitAll(Task[] tasks, Int32 millisecondsTimeout) at ArcherTech.Web.Modules.GenericContent.GenericContentDataManager.GetRecordData(Int32 contentId, Nullable`1 levelId, NameValueCollection postCollection, List`1 valuesToAdd, List`1 valuesToRemove, Int32 castScorecardContentId, Int32 castFieldId, Boolean isForCopy, ContentDisplayModeType mode, Action`1 update) at ArcherTech.Web.Modules.GenericContent.Views.RecordPresenter.LoadRecordData() at ArcherTech.Web.Modules.GenericContent.Views.RecordPresenter.OnViewLoaded() at ArcherTech.Web.ArcherTechPage`2.OnLoad(EventArgs e) at Security2000.GenericContent.Record.OnLoad(EventArgs e) at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)</StackTrace> <InnerException> <ExceptionType>System.ArgumentException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType> <Message>An item with the same key has already been added.</Message> <Source>mscorlib</Source> <StackTrace> at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at ArcherTech.Kernel.DataSource.Db.ContentDataSource.GetSubformParentContentField(IEnumerable`1 subformContentIds) at ArcherTech.Kernel.Utility.Permissions.SubformContentAccessCheck.CheckAccess(ExtendedSessionContext context, AccessCheckData data, Boolean applyContentEditPermissions) at ArcherTech.Kernel.Utility.Permissions.SubformContentAccessCheck.InternalCheckReadAccess(ExtendedSessionContext context, AccessCheckData data) at ArcherTech.Kernel.Brokers.ContentBroker.ApplySubformPermission(IList`1 contentIds) at ArcherTech.Kernel.Brokers.ContentBroker.GetPermissionedContent(IList`1 contentIds, Boolean checkModulePermission, Boolean checkContentPermission) at ArcherTech.Kernel.Brokers.ContentBroker.Get(IList`1 contentIds, IList`1 fieldIds) at ArcherTech.Kernel.Utility.ManagerHelper.WrapCode[T](ManagerEventIdentifier managerEventId, SessionContext sessionContext, ExtendedManagerMethodWrapper`1 wrapped) at ArcherTech.Web.Modules.GenericContent.DataManagers.ContentLoader.GetRelatedContents(SessionContext session, IList`1 referenceFieldMetaDatas, Nullable`1 parentContentId, IDictionary`2 fieldContents, Boolean isEditMode) at ArcherTech.Web.Modules.GenericContent.DataManagers.ContentLoader.GetRelatedContents(SessionContext session, LevelRecordDataContainer levelRecordDataContainer, Boolean isEditMode) at ArcherTech.Web.Modules.GenericContent.GenericContentDataManager.<>c__DisplayClass15.<GetRecordData>b__d() at ArcherTech.Provider.Threading.ThreadingFactory.<>c__DisplayClass2.<WrapAction>b__1() at System.Threading.Tasks.Task.Execute()</StackTrace> </InnerException> </Exception> </TraceRecord> </DataItem> </TraceData> </ApplicationData> </E2ETraceEvent>
|