000038173 - When a calculation is in "Error" state and the formula results to itself, it causes Null Reference Exception in RSA Archer

Document created by RSA Customer Support Employee on Nov 25, 2019
Version 1Show Document
  • View in full screen mode

Article Content

Article Number000038173
Applies ToRSA Product Set: RSA Archer
RSA Product/Service Type: RSA Archer (On-Premise)
RSA Version/Condition: 6.5.0.3
Platform: Windows
IssueWhen clicking on the error in the calculated field. It throws an unexpected error.
 

{Code}
<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="2019-11-21T19:15:46.3972003Z" />
        <Source Name="Archer.Web" />
        <Correlation ActivityID="{00000000-0000-0000-0000-000000000000}" />
        <Execution ProcessName="w3wp" ProcessID="8748" ThreadID="52" />
        <AssemblyVersion>6.7.0.1184</AssemblyVersion>
        <Channel />
        <Computer>ALL</Computer>
    </System>
    <ApplicationData>
        <TraceData>
            <DataItem>
                <TraceRecord Severity="Error" xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord">
                    <TraceIdentifier>Archer.Web</TraceIdentifier>
                    <LogReferenceId>112119-191546-3962</LogReferenceId>
                    <Description>Object reference not set to an instance of an object.</Description>
                    <AppDomain>/LM/W3SVC/1/ROOT/RSAarcher-1-132188208783328346</AppDomain>
                    <ContextData>
                        <BaseUrl>http://10.101.65.143/RSAarcher/GenericContent/CalculationError.aspx</BaseUrl>
                        <Field>FieldId: 21973, FieldName: Numeric, FieldType: Numeric, IsActive: true, LevelId: 328</Field>
                        <contentId>254719</contentId>
                        <frameHeight>646</frameHeight>
                    </ContextData>
                    <Exception>
                        <ExceptionType>System.NullReferenceException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
                        <Message>Object reference not set to an instance of an object.</Message>
                        <Source>Security2000</Source>
                        <StackTrace>   at Security2000.GenericContent.CalculationError.InitLayoutItems()
   at Security2000.GenericContent.CalculationError.Page_Load(Object sender, EventArgs e)
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at System.Web.UI.Control.OnLoad(EventArgs e)
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)</StackTrace>
                    </Exception>
                </TraceRecord>
            </DataItem>
        </TraceData>
    </ApplicationData>
</E2ETraceEvent>
{Code}
CauseWhen a calculation is in "Error" state and the formula results to itself, it causes Null Reference Exception.
ResolutionRun the following script to identify all the records that are affected

Select * 
from tblivcontent c
join tblIVCalcErrorData ced on ced.content_id=c.content_id
where c.level_id = 57 -- specify the module_id 
and ced.field_id = ced.depend_error_field_id

Run the following script to delete the error from the content

Delete ced
from tblivcontent c
join tblIVCalcErrorData ced on ced.content_id=c.content_id
where c.level_id = 57 -- specify the module_id 
and ced.field_id = ced.depend_error_field_id

 --other content in all levels with the same problem
 Select * 
 from tblivcontent c
 join tblIVCalcErrorData ced on ced.content_id=c.content_id
 where  1=1
 and ced.field_id = ced.depend_error_field_id
 

Attachments

    Outcomes