You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[ci] XAGCPU7000 "device offline" during -t:Install in on-device package tests #11830
The emulator/device intermittently goes offline during the -t:Install step of the on-device package tests, causing error XAGCPU7000: Mono.AndroidTools.AdbException: device offline. Because the install step currently runs with continueOnError: true, the failure is swallowed, the pipeline still attempts dotnet test (which then fails with INSTRUMENTATION_FAILED since the app was never installed), and the lane is only marked red at the end by the fail if any issues occurred gate.
This is infrastructure flakiness, not a product/test regression.
The Release and NoAab flavors in the same job installed and ran fine — only the Debug install caught the offline moment.
Impact
Flaky red PR checks unrelated to the change under test.
Wasted CI time: the pipeline runs dotnet test against a device where the app was never installed.
Proposed / related fix
Stop swallowing install failures: remove continueOnError: true from the -t:Install step in build-tools/automation/yaml-templates/apk-instrumentation.yaml so a failed install fails the lane immediately instead of running tests that cannot pass. (PR to follow.)
This does not fix the root cause (emulator/ADB going offline) but makes the failure fail fast and unambiguous. The underlying emulator/ADB stability issue is what this issue tracks.
Notes
XAGCPU7000 is emitted from Xamarin.Android.Common.Debugging.targets. Investigate whether a transient ADB reconnect/retry around device connect during Install would absorb these blips.
changed the title [-]CI flake: XAGCPU7000 "device offline" during -t:Install in on-device package tests[/-][+][ci] XAGCPU7000 "device offline" during -t:Install in on-device package tests[/+]on Jul 1, 2026
Closing as mitigated by #11831. The pipeline now retries on-device installation, fails fast instead of running instrumentation after a failed install, captures diagnostics, and always collects logcat. This addresses the misleading/wasteful behavior described here while preserving useful evidence if an emulator goes offline again.
A fresh Azure DevOps scan found no device offline, XAGCPU7000, or downstream INSTRUMENTATION_FAILED signature in the latest 100 completed dotnet-android builds (August 3–12, 2026).
Activity
[ci] Retry on-device app install 3x with a delay
[ci] Diagnose on-device install failures with a failed() step
[-]CI flake: XAGCPU7000 "device offline" during -t:Install in on-device package tests[/-][+][ci] XAGCPU7000 "device offline" during -t:Install in on-device package tests[/+][ci] Retry on-device install, fail fast, diagnose failures, always ca…
[tests] Capture device state on device-test failure (#11832)
jonathanpeppers commentedon Aug 12, 2026
Closing as mitigated by #11831. The pipeline now retries on-device installation, fails fast instead of running instrumentation after a failed install, captures diagnostics, and always collects logcat. This addresses the misleading/wasteful behavior described here while preserving useful evidence if an emulator goes offline again.
A fresh Azure DevOps scan found no
device offline,XAGCPU7000, or downstreamINSTRUMENTATION_FAILEDsignature in the latest 100 completeddotnet-androidbuilds (August 3–12, 2026).Fix: #11831
[flaky-ci] Retry transient ADB install failures (#12711)