Repository navigation
fix(ci): keep a UI dump that uiautomator wrote before crashing - #170
Merged
Merged
Conversation
The Android 37.1 emulator leg failed in foreign-signer-never-binds because uiautomator printed "UI hierchary dumped to: ..." and then died of SIGSEGV in libpowermanager's static destructors (sp<IPower>::~sp via __cxa_finalize). adb returned the non-zero exit with empty stderr, and the checked shell call raised before dump() looked at the reply. adb() now raises CommandFailed, a RuntimeError with the same message that also carries stdout and the exit status. dump() accepts a failed uiautomator whose stdout holds the dump report and prints a NOTE with the exit status. A failure without the report still ends the case at once, as test_command_failure_is_not_hidden_by_ui_retries requires, rather than being retried until the budget runs out and losing stderr from the error. The job ran about 1,200 dumps and recorded this one uiautomator tombstone, and it is the only failure with this signature in the last 30 failed runs of the workflow.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
No user-facing behavior change. The emulator integration suite no longer fails a case when the device's UI dump tool writes the screen and then crashes on its way out.
Technical Context
uiautomator dumpprinted its success line, then died of SIGSEGV inlibpowermanager.sostatic destructors. The checked shell call raised on the non-zero exit before the reply was read.NOTEwith the exit status. A non-zero exit without that line still fails the case at once, so realuiautomatorerrors keep their stderr in the failure.adb()now raisesCommandFailed, aRuntimeErrorsubclass with the same message plus stdout and exit status, so existing handlers are unaffected.