Assigned
Status Update
Comments
je...@google.com <je...@google.com>
mi...@google.com <mi...@google.com> #2
This is logged
2022-09-02 15:16:19.699 9160-9173/de.welt.benchmark E/TestRunner: java.lang.IllegalStateException: Perfetto unexpected exit code, output = 9462
EXITCODE=2
2022-09-02 15:16:57.418 9160-9173/de.welt.benchmark E/TestRunner: java.lang.IllegalStateException: Perfetto unexpected exit code, output = 9803
EXITCODE=2
And the actual error code is 2
.
Looking at perfetto
I wonder if some of those data sources are not supported on that device that runs Android 6.
hu...@google.com <hu...@google.com> #3
Agree, likely related to
cc...@google.com <cc...@google.com> #4
Given that we saw a number of emulators not correctly configured for tracing with the same exit code, this is most likely a dupe.
cc...@google.com <cc...@google.com> #5
I am getting a similar error when running a simple app startup benchmark on Pixel 6 running on Android 14
java.lang.IllegalStateException: Failed to stop [ProcessPid(processName=perfetto, pid=18066)]
java.lang.IllegalStateException: Failed to stop [ProcessPid(processName=perfetto, pid=18066)]
Description
Microbenchmarks of large amounts of Compose code can take extremely long time to stabilize, since the code is fully interpreted after install, and (it appears) Art takes an extremely long time to eventually jit compile everything, e.g. 30 seconds for a single LazyList scrolling benchmark. AOT compilation for the whole APK, by comparison, takes only 8 seconds, and gives immediate stability to the entire suite.
Unfortunately, to compile microbenchmarks, we need to run a command between install and run of a library module's tests, which isn't something AGP allows us to hook into. (Unlike macro, there's only one process in micro, so we can't compile ourselves).
To work around this within AndroidX, I've put up a workaround, the grossness of which can not be overstated, where we inject adb shell commands via adbOptions:https://android-review.git.corp.google.com/c/platform/frameworks/support/+/2626926
We request an AGP option to enable this (either as one of multiple compilation states - none, baseline profiles, full aot - can see CompilationMode for naming inspiration.
Note that this does relate to the baseline profile request: https://buganizer.corp.google.com/issues/278115044