All post-test screenshots in result_details seem to be the same |
|||
Issue descriptionWhile debugging a build with many transient/flaky test failures, I noticed that every post_test_screenshot in the build is the exact same image. (It even has the same phone time in the top.) I'm assuming this isn't WAI, since it's not very helpful for debugging. See the screenshots taken for these tests in the following result_details report: org.chromium.chrome.browser.omnibox.UrlBarTest org.chromium.chrome.browser.ntp.NewTabPageTest org.chromium.chrome.browser.ntp.cards.NewTabPageRecyclerViewTest org.chromium.chrome.browser.searchwidget.SearchActivityTest https://00e9e64bac31829acbfcaec79405740b0634687aea8d61a38c-apidata.googleusercontent.com/download/storage/v1/b/chromium-result-details/o/html%2Fchrome_public_test_apk_Lollipop%20Phone%20Tester_17768_2018_01_04_T13_19_49-UTC?qk=AD5uMEsrfpTFJgPT0VsQiUYFNIBfysmN80Tikq-dPRsZ5p8ZFJEkuuHcIb_RKdIeil4xfa6RVwNGqdo89Mrz2gXq2UcDXn-xvoevFG9F73q5CSpP-8QyamqrUSVpv11NYbNCciEeuZTZRF97X32TAIJmv9LAmbVA0A4dLSzBMMS3gjmWwoBcrqQVV-7Ec26IlCyDQWvmKgxoSim_-Yhew6_JZcoGz7FKOU0IRRp8l-i03qzSqRQXoTnF5ME9IR9jPgKjFr-r_VRQjvlkDgg_DFjkJfW8Fd7aQs72ovuRrulw05DMjPF033coHNmXQ-hgEmpZK0Pb_f8dY4RtFhT8S9lPkH-tuCNR9IrwgdNcXlX_jB9c5X9ilSP0UF1y8x83qxDsWZP2ZZAzUuU9WbjYCKV-GlwuEfk_nPaLysp6v4y6kMHg2a3ns_IYUmPCp7aYMVTt-KofwtbL6u9SYxhbazEImrKMzXQCAKWj5-IWGrNI0XPp5MU_wThLFdeJAaD2LnabbT-DvHo8txx6USwipeIBA9iXm7ivOtlP8LUOE3PiDSba8aRPRhmiOsmOE1wT7CAWbY-k09zUHNBpEZQGWbroCGh20vWjIz2vtwMkayWI34UjUC7JiGVLyEiJ1Fi-P0r1PF_v2qMELQs0g-bm6qJKfcwbk1A6CP2Ib-7adYXyHnP8Lbvk5mRN4fF80SREwKsBU9TbLiaJ1tk39oOL2n7MHiefjKsRjfTuo4zm7-LDnc89gc9o7kyRCoOU5QlMQXBo7-S4briVzBeCxMOTjCFb02DawjEecIALGylL5hvP5DYRT8HmtGv2knfuV8tmP5LZ7lkSylg2cZv1rU4DC-ituYKdxIpDxQ
,
Jan 8 2018
Whoops, didn't realize result_details expire. See org.chromium.chrome.browser.preferences.password.SavePasswordsPreferencesTest and org.chromium.chrome.browser.media.remote.CastSwitchVideoTest in the result_details of chrome_public_test_apk in https://ci.chromium.org/buildbot/chromium.android/Lollipop%20Phone%20Tester/17818. All the same screenshot. Assigning to hzl@ as he owns result_details.
,
Jan 8 2018
Yes. I will look into this, though I didn't work on screenshots.
,
Jan 8 2018
#2: The signed URLs that cloud storage hands out expire. If you want to paste one of those here, you need to copy the result_details URL from the link on the build page; in that case, https://storage.cloud.google.com/chromium-result-details/html/chrome_public_test_apk_Lollipop%20Phone%20Tester_17818_2018_01_06_T11_25_14-UTC
,
Jan 10 2018
I locally tested out the screenshots functionality (which is slightly different with the one used in bots) and the screenshots taken by multiple retries are different. However one thing I noticed is that if a retry happens right after the first attempt and no more than one minute has passed between the first and second attempt and the third attempt, the screenshot should be exactly the same right? Since the test case is the same and fails for the same reason and no more than one minute has passed (meaning the time stamp is the same), is there any reason that the screenshot should be different? If the second/third attempt happens more than 1 minute after the first attempt, then the screenshot should change. And that means the remote version of the screenshot functionality has some bug. So does the second/third attempt happens right after the first/second attempt?
,
Jan 10 2018
Oh I misunderstood the problem. The problem is multiple test cases have the same screenshot. That's definitely something wrong with our remote screenshot module.
,
Jan 10 2018
hmm I am still looking into why local screenshot works and remote screenshot does not. Suspecting that somehow the upload path becomes the same for all these screenshots: https://codesearch.chromium.org/chromium/src/build/android/pylib/output/remote_output_manager.py?type=cs&l=74
,
Jan 12 2018
After some investigation, the post test screenshot seems to be working on other bots. For example here: https://ci.chromium.org/buildbot/chromium.android/Lollipop%20Phone%20Tester/17945 1 Go to chrome_public_test_apk result_details 2 Then click on 'ModalDialogManagerTest' suite 3 You will see the three post test screenshots working properly. Is it possible that in the bot Ben mentioned here, the screen happens to be frozen for some unknown reason?
,
Jan 12 2018
I also tried locally using the remote output manager to test the screenshot functionality and it seems to be working fine. Let me know what you think.
,
Jan 12 2018
The screen might have been frozen. Though, if that were the case, I'd expect more than just those handful of tests to fail. That said, if things look sane and you feel comfortable thinking it was a flake, feel free to close this. I haven't seen any reoccurrences of it (though I haven't been looking too hard.)
,
Jan 12 2018
I suspect the content-addressed nature of the screenshots is responsible for this unusual but not wrong behavior. If the failures all look the same and run in the same minute, we'll only upload one screenshot & will use that for all of them. Take, for example, this: https://ci.chromium.org/buildbot/chromium.android/Marshmallow%20Phone%20Tester%20%28rel%29/1670 You will notice that the failing test fails three times, and that *two of the three* screenshots are the same. Both of those ran at 2:03 according to the phone's clock on screen. The third has a different hash and ran at 2:04 but otherwise looks the same. I think you can close this.
,
Jan 12 2018
,
Jan 12 2018
re #11: That wouldn't really explain the images captured for org.chromium.chrome.browser.preferences.password.SavePasswordsPreferencesTest#testExportMenuEnabled in https://ci.chromium.org/buildbot/chromium.android/Lollipop%20Phone%20Tester/17818 Each attempt ran several minutes apart (https://chromium-swarm.appspot.com/task?id=3ae3f5c9c28c8d10) yet had the same contents. Zhiling's theory that the screen is frozen might explain it, but if that was the case I'd expect more than 17 tests to fail in the first few attempts.
,
Jan 23 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/21a3bb7aa1fb72ec4b6a8dd244341397877bbd10 commit 21a3bb7aa1fb72ec4b6a8dd244341397877bbd10 Author: Zhiling Huang <hzl@chromium.org> Date: Tue Jan 23 23:54:39 2018 Minor fix in remote output manager. When passing content type to google storage helper, we need to specify that we are passing in content type. Otherwise google storage helper's upload function will consider content type as gs_args and then cause an error. Bug: 799598 Change-Id: Iac18782af63d38b66b4094ab32472f1debb68f92 Reviewed-on: https://chromium-review.googlesource.com/862882 Reviewed-by: John Budorick <jbudorick@chromium.org> Commit-Queue: Zhiling Huang <hzl@chromium.org> Cr-Commit-Position: refs/heads/master@{#531388} [modify] https://crrev.com/21a3bb7aa1fb72ec4b6a8dd244341397877bbd10/build/android/pylib/output/remote_output_manager.py |
|||
►
Sign in to add a comment |
|||
Comment 1 by sergeybe...@chromium.org
, Jan 8 2018Status: Assigned (was: Untriaged)