App Behaviour Analysis Issues with Instant Resume Integration

Hi Team,

Greetings.

I noticed some unexpected behaviour while running App Behaviour Analysis (ABA) on a build with the Instant Resume feature integrated.

With Instant Resume enabled, I observed the following issues:

  • Channel Launch Performance: An error was shown as AppLaunchInitiate is detected, but AppLaunchComplete is not.

  • Deeplinks / Screensaver Policy: ABA intermittently reports the error “Unable to get valid complete XML layout” or sometimes marks the test as Skipped. Please refer to Screenshots 1 and 2.

I then tested the same build without the Instant Resume-related parameters (sdk_instant_resume and run_as_process). In this case, ABA completed successfully and all tests passed, as shown in Screenshot 3.

As another test case, I removed only the run_as_process parameter. In this scenario:

  • SA reported a warning for Partial Instant Resume implementation.

  • ABA again showed the above mentioned error and eventually marked the test as Skip, even though the Deeplinks test initially showed as passed.

The Instant Resume functionality is working as expected, and I can see all the required beacons for Launch, Resume, and Deeplink scenarios in telnet.

Could you please share your thoughts on what might be causing this behaviour in ABA and if something needs to be reviewed from the documentation?

Best Regards,

I’ve forwarded this thread to our static analysis developer.

Thank you so much @RokuBen !
Please let me know if you need any clarification or workarond, test cases to be executed.

Please find the screenshot of the error described above for Channel Launch Performance (Occurs intermittantly).

Adding a data point, since this looks like the same failure with no Instant Resume in the picture (no sdk_instant_resume, no run_as_process).

Roku Ultra 4850RW, OS 15.3.4 build 2402. App signals AppLaunchComplete from the scene once Home has rendered. Live console on every launch (remote, ECP /launch/dev, and a Remote Tool .rasp script):

sdkl [beacon.signal] |AppLaunchComplete ---------> Pending Render Pass
sdkl [beacon.signal] |AppLaunchComplete ---------> Duration(3507 ms : 3424 ms)

The beacon.report block printed when that same session exits:

app [beacon.report] |AppLaunchInitiate ---------> TimeBase(0 ms), InstantOn
app [beacon.report] |AppLaunchComplete ---------> Pended without Render

The report records the OS-fired beacons from the same session fine (AppLaunchChainComplete, and VODStartInitiate/Complete on a deep-link launch). Only the app-signaled AppLaunchComplete is lost. Signaling from the main thread instead of the scene made no difference. App Behavior Analysis reports the beacon absent, and the Remote Tool fails the launch step on a session that visibly played video.

Ticket filed with Partner Success with the full captures. Posting here in case it helps the static analysis team narrow it, since this one has no Instant Resume involved.