Performance Advisor returns an assertions error

When generating a report with Performance Advisor, the report fails and Performance Advisor returns an assertion error: java.lang.AssertionError.

Condition

Affected releases: Mobile Studio 2020.0.

Cause

This issue occurs when connecting to an application that is already running. Performance Advisor captures frame annotation events for a number of frames with a negative start time relative to the official start of the Streamline capture. These all get clipped to time=0, which results in an assertion for zero length frames.

Workaround 

Start the Streamline capture first, and then start the application. This avoids the frame events with negative start time being generated.

If this is not possible, you can disable assertions in the pa.ini file. This file is located in the Arm Mobile Studio installation directory:
<install_location>/Arm_Mobile_Studio_2020.0/performance_advisor/pa.ini

On macOS, this file is located in:

<install_location>/Arm_Mobile_Studio_2020.0/performance_advisor/Performance Advisor.app/Contents/Eclipse/pa.ini

Open this file in a text editor and remove the line -ea:

-startup
plugins/org.eclipse.equinox.launcher_1.5.500.v20190715-1310.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.1100.v20190907-0426
--launcher.suppressErrors
--launcher.appendVmargs
-data
@user.home/.pa_workspace
-vm
../java/bin
-vmargs
-ea
-Declipse.exitdata=
-Dstreamline.license.variables=ms
-XX:MaxRAMPercentage=75.0

Related information