-
Notifications
You must be signed in to change notification settings - Fork 564
[emulator] wait for the emulator to fully boot #620
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[emulator] wait for the emulator to fully boot #620
Conversation
Which Jenkins log? Please link. ;-) This isn't (shouldn't be?) necessary and will instead result in different errors. Rephrased: we already wait for device boot to complete: <Adb
Condition=" '$(_ValidAdbTarget)' != 'True' "
Arguments="$(_AdbTarget) wait-for-device"
What is probably happening is yet another variation on #591: the emulator on the previous run never exited, so there's a "zombie" emulator running around. This can be verified by looking at the If there was an already attached Android target -- as was the case in #591 -- then it's in a "zombie" state, which would explain why the adb shell 'while [ "`getprop sys.boot_completed`" != "1" ]; do echo Waiting for device to fully boot; sleep 1; done'will turn a current failure scenario into a timeout scenario, as it takes 10 hours for a PR build to complete... This would not be an improvement. ;-) If instead there is not an attached Android target -- meaning #591 does not apply -- and there is no zombie emulator running around, then we have to start fearing that First, though, we need to determine whether we're dealing with a zombie emulator or not. |
|
Unfortunately I think it is not zombie emulator case. Here's the part of the log. Here is the link to the latest Jenkins log https://jenkins.mono-project.com/view/Xamarin.Android/job/xamarin-android/417/consoleFull It happens in every log I checked. The fix in this PR solves the issue. We have similar loop in monodroid ruby script. I can add a counter so that we timeout, say after a minute or so. Sounds good? |
Yes, that sounds wonderful. Please do so. |
- so that we avoid issue like this (from Jenkins log):
Task Adb
Arguments: -s emulator-5570 uninstall "Mono.Android_Tests"
Tool /Users/builder/android-toolchain/sdk/platform-tools/adb execution started with arguments: -s emulator-5570 uninstall "Mono.Android_Tests"
Environment variables being passed to the tool:
Error: Could not access the Package Manager. Is the system running?
a453c32 to
23e24e8
Compare
- so that we avoid issue like this (from Jenkins log):
Task Adb
Arguments: -s emulator-5570 uninstall "Mono.Android_Tests"
Tool /Users/builder/android-toolchain/sdk/platform-tools/adb execution started with arguments: -s emulator-5570 uninstall "Mono.Android_Tests"
Environment variables being passed to the tool:
Error: Could not access the Package Manager. Is the system running?
- so that we avoid issue like this (from Jenkins log):
Task Adb
Arguments: -s emulator-5570 uninstall "Mono.Android_Tests"
Tool /Users/builder/android-toolchain/sdk/platform-tools/adb execution started with arguments: -s emulator-5570 uninstall "Mono.Android_Tests"
Environment variables being passed to the tool:
Error: Could not access the Package Manager. Is the system running?
so that we avoid issue like this (from Jenkins log):