Skip to content

SendCrash function in RumAgent depends on lastExitOrTerminationReason in launch options #152

Description

@gregomite

Describe the bug

In version 1.4.0 of the Datadog SDK, the newly added function updateFields will call the sendCrash function if the client's lastExitOrTerminationReason passed in through launch options is a string of any length greater than zero. This is a bug. If launch options doesn't contain a lastExitOrTerminationReason then sendCrash isn't called.

The sendCrash function doesn't use the passed in lastExitOrTerminationReason at all if the Roku firmware is above version 13. Instead it uses the more reliable exit code from roAppManager. The gating logic for running the RunCrashReporterTask is in two places: within the sendCrash function and within the calling function.

More than 99% of devices run with the latest 15.x firmware. Checking for lastExitOrTerminationReason here is no longer useful and can cause sendCrash to not be called at all as it is in our case.

Reproduction steps

You can repro the bug in the sample app by removing lastExitOrTerminationReason from args at the start of RunUserInterface.

SDK logs

No response

Expected behavior

No response

Affected SDK versions

1.4.0

Latest working SDK version

1.3.1

Did you confirm if the latest SDK version fixes the bug?

Yes

Integration Method

None

RokuOS Version

15.x

BrighterScript compiler version (optional)

No response

Device Information

No response

Other relevant information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions