Measure the API 36 control and record what CI cannot measure
Three additions to docs/api-37-emulator-crash.md, all from a CI investigation run through .github/workflows/api37-debug.yml. A third measured bullet: API 36 against API 37, back to back, same two tests, same renderer, same SystemUI-disable path. 37.0 fails both on c2.goldfish.h264.decoder (32660148155); 36 passes both in 4.603 s with the same decoder in its logcat (32660152961). That falsifies "the stripped configuration is what breaks these tests" -- a reading the other measurements never addressed, because they all compare against a device that still had SystemUI. It carries its two uncontrolled variables rather than dropping them: API 36's framework restart happened with zero aborts logged where API 37's had two, so a restart under an active abort loop is still uncontrolled; and the images differ on the encoder side, which is a second reason "broken h264 decoder" is the wrong shape of claim. The decoder-mechanism bullet is unchanged and still labelled inference. This adds a measurement next to it; it does not retract anything. The intact-SystemUI counterfactual is unmeasurable on a GitHub runner, and now says why. Seven dispatches, zero verdicts, with a mechanism rather than bad luck: while the framework crash-loops the guest cannot reliably create per-user private directories, so an app installed during the loop has no cache dir and the fixture copy dies in @Before before any codec exists. googlesdksetup and nexuslauncher hit the same thing. The result XML masks it behind an UninitializedPropertyAccessException in tearDown, which reads as a defect in this repository and is not one. Abort cadence corrected. "Roughly every 20 s" was the watchdog's sampling interval, not the cadence: measured gaps are 20-90 s, median 60-70 s, three to five per run, with sys.boot_completed held at 1 throughout. The wrong figure lived in api37-debug.yml's own comments, so that line is corrected too. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -264,8 +264,11 @@ jobs:
|
||||
# `ActivityManager: Start proc N:com.android.systemui ... GradientColorWallpaper`
|
||||
# eight more times after a `pm disable-user` that had reported
|
||||
# `new state: disabled-user`, and ten more RegionSampling aborts with it. The
|
||||
# framework is being SIGKILLed every ~20 s while this runs, so a package-state
|
||||
# change can be lost with the system_server that accepted it.
|
||||
# framework is being SIGKILLed under this loop, so a package-state change can be
|
||||
# lost with the system_server that accepted it. (An earlier version of this comment
|
||||
# said "every ~20 s". That was the watchdog's SAMPLING interval, not the cadence.
|
||||
# Measured: 20-90 s between aborts, median 60-70 s, 3-5 in a four-minute window --
|
||||
# docs/api-37-emulator-crash.md, "Abort cadence, corrected".)
|
||||
#
|
||||
# Nothing here trusts a command's own report. Each round: disable, take the
|
||||
# framework down and confirm it is DOWN before bringing it back (the previous
|
||||
|
||||
Reference in New Issue
Block a user