000016508 - RSA Archer record when accessed by non-admin user will produce an unexpected error in the page.

Document created by RSA Customer Support Employee on Jun 14, 2016Last modified by RSA Customer Support Employee on Apr 21, 2017
Version 2Show Document
  • View in full screen mode

Article Content

Article Number000016508
Applies To5.x
IssueRSA Archer record when accessed by non-admin user will produce an unexpected error in the page.
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" />


        <Channel />


        <Computer></Computer>


    </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>1851206</id>


                        <Module>ModuleId: ###, 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.&lt;&gt;c__DisplayClass15.&lt;GetRecordData&gt;b__d()


   at ArcherTech.Provider.Threading.ThreadingFactory.&lt;&gt;c__DisplayClass2.&lt;WrapAction&gt;b__1()


   at System.Threading.Tasks.Task.Execute()</StackTrace>


                        </InnerException>


                    </Exception>


                </TraceRecord>


            </DataItem>


        </TraceData>


    </ApplicationData>


</E2ETraceEvent>

CauseIssue is caused upon user's record permission verification, when a single subform (Comments) record is associated with more than one parent application records. Each parent application record will usually have unique subform (Comments) records. This could potentially happen, if a duplicate parent application record was created with the same Comment subform record association.
 
ResolutionThere are two options to fix this issue:
1. Identify and remove the duplicate parent application record. OR
2. Identify and remove Comments subform record reference from the duplicate parent application record.
To identify the problem Comments subform record trackingID:
- Add a trackingID (if does not exist - add new field of type trackingID) field on the Comments subform and change the parent application subform field settings to display the trackingID from the Comments subform.
- Following the same procedure to add a trackingID field for the parent application.
- Create a custom search on the application to display tracking ID fields from the parent application and the Comments subform. Review the search results for subform trackingID and see if it is associated with multiple parent application record trackingIDs.
To identify the problem Comments subform record trackingID via SQL Query:
Use <ArcherInstanceDB>
Select
m.module_name as Parent_App,
fd.field_name as Ref_FieldName,
mc.content_id as Parent_ContentID,
mc.record_id as Ref_ContentID
from tblIVModuleContent(NOLOCK) mc
Join tblIVFieldDef(NOLOCK) fd on mc.field_id = fd.field_id
Join tblIVContent(NOLOCK) c on mc.content_id = c.content_id
Join tblLevel(NOLOCK) l on c.level_id = l.level_id
Join tblModule(NOLOCK) m on l.module_id = m.module_id
Where m.module_name like '%Incidents%' and mc.record_id = <CommentsSubformRecordTrackingID>
order by Ref_ContentID ASC


 
Legacy Article IDa60444

Attachments

    Outcomes