Lots of flaky test failures on linux_android_rel_ng tryserver |
|||||||||||
Issue descriptionThere are lots of individual test failures in suites like chrome_public_test_apk and content_browsertests on the linux_android_rel_ng tryserver that are causing CLs to be retried on the CQ. There seem to be a lot of different test failures and I'm not sure how to go about triaging them. Here are just a few examples. org.chromium.chrome.browser.download.ChromeHomeDownloadManagerTest#testShowDownloadManagerLastTrackedActivityNull_TabbedActivityRunning https://ci.chromium.org/buildbot/tryserver.chromium.android/linux_android_rel_ng/430013 org.chromium.components.minidump_uploader.MinidumpUploaderImplTest#testCancelFailedUploadCausesReschedule https://ci.chromium.org/buildbot/tryserver.chromium.android/linux_android_rel_ng/430011 org.chromium.chrome.browser.omaha.OmahaBaseTest#testPipelineFreshInstall https://ci.chromium.org/buildbot/tryserver.chromium.android/linux_android_rel_ng/429985 org.chromium.chrome.browser.download.DownloadActivityTest#testFilters https://ci.chromium.org/buildbot/tryserver.chromium.android/linux_android_rel_ng/429983 https://ci.chromium.org/buildbot/tryserver.chromium.android/linux_android_rel_ng/429974 DevToolsProtocolTest.ControlNavigationsMainFrame https://ci.chromium.org/buildbot/tryserver.chromium.android/linux_android_rel_ng/429968 Perhaps instrumentation tests are those that are the most affected? See the log below from the OmahaBaseTest failure. Is this related to recently filed Issue 784916? Who can help triage these? Thanks. ----- I 473.814s run_tests_on_device(097f1a0b0189b2c0) detected failure in org.chromium.chrome.browser.omaha.OmahaBaseTest#testPipelineFreshInstall. raw output: I 473.814s run_tests_on_device(097f1a0b0189b2c0) INSTRUMENTATION_RESULT: stream= I 473.814s run_tests_on_device(097f1a0b0189b2c0) I 473.814s run_tests_on_device(097f1a0b0189b2c0) Time: 0.004 I 473.814s run_tests_on_device(097f1a0b0189b2c0) There were 2 failures: I 473.814s run_tests_on_device(097f1a0b0189b2c0) 1) null I 473.814s run_tests_on_device(097f1a0b0189b2c0) java.lang.ClassCastException: android.app.Application cannot be cast to Ti I 473.814s run_tests_on_device(097f1a0b0189b2c0) at org.chromium.base.BaseChromiumApplication.initCommandLine(BaseChromiumApplication.java:150) I 473.814s run_tests_on_device(097f1a0b0189b2c0) at org.chromium.chrome.test.ChromeJUnit4ClassRunner.initCommandLineForTest(ChromeJUnit4ClassRunner.java:52) I 473.814s run_tests_on_device(097f1a0b0189b2c0) at org.chromium.base.test.BaseJUnit4ClassRunner.run(BaseJUnit4ClassRunner.java:165) I 473.814s run_tests_on_device(097f1a0b0189b2c0) at org.junit.runners.Suite.runChild(Suite.java:128) I 473.814s run_tests_on_device(097f1a0b0189b2c0) at org.junit.runners.Suite.runChild(Suite.java:27) I 473.814s run_tests_on_device(097f1a0b0189b2c0) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) I 473.814s run_tests_on_device(097f1a0b0189b2c0) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) I 473.814s run_tests_on_device(097f1a0b0189b2c0) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) I 473.814s run_tests_on_device(097f1a0b0189b2c0) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) I 473.814s run_tests_on_device(097f1a0b0189b2c0) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) I 473.815s run_tests_on_device(097f1a0b0189b2c0) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) I 473.815s run_tests_on_device(097f1a0b0189b2c0) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) I 473.815s run_tests_on_device(097f1a0b0189b2c0) at org.junit.runner.JUnitCore.run(JUnitCore.java:115) I 473.815s run_tests_on_device(097f1a0b0189b2c0) at android.support.test.internal.runner.TestExecutor.execute(TestExecutor.java:59) I 473.815s run_tests_on_device(097f1a0b0189b2c0) at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:262) I 473.815s run_tests_on_device(097f1a0b0189b2c0) at org.chromium.base.test.BaseChromiumAndroidJUnitRunner.onStart(BaseChromiumAndroidJUnitRunner.java:100) I 473.815s run_tests_on_device(097f1a0b0189b2c0) at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1701) I 473.815s run_tests_on_device(097f1a0b0189b2c0) 2) Test mechanism I 473.815s run_tests_on_device(097f1a0b0189b2c0) java.lang.NullPointerException I 473.815s run_tests_on_device(097f1a0b0189b2c0) at android.support.test.internal.runner.listener.InstrumentationResultPrinter.reportFailure(InstrumentationResultPrinter.java:177) I 473.815s run_tests_on_device(097f1a0b0189b2c0) at android.support.test.internal.runner.listener.InstrumentationResultPrinter.testFailure(InstrumentationResultPrinter.java:167) I 473.815s run_tests_on_device(097f1a0b0189b2c0) at org.junit.runner.notification.SynchronizedRunListener.testFailure(SynchronizedRunListener.java:63) I 473.815s run_tests_on_device(097f1a0b0189b2c0) at org.junit.runner.notification.RunNotifier$4.notifyListener(RunNotifier.java:142) I 473.815s run_tests_on_device(097f1a0b0189b2c0) at org.junit.runner.notification.RunNotifier$SafeNotifier.run(RunNotifier.java:72) I 473.815s run_tests_on_device(097f1a0b0189b2c0) at org.junit.runner.notification.RunNotifier.fireTestFailures(RunNotifier.java:145) I 473.815s run_tests_on_device(097f1a0b0189b2c0) at org.junit.runner.notification.RunNotifier.fireTestFailure(RunNotifier.java:132) I 473.815s run_tests_on_device(097f1a0b0189b2c0) at org.junit.internal.runners.model.EachTestNotifier.addFailure(EachTestNotifier.java:23) I 473.815s run_tests_on_device(097f1a0b0189b2c0) at org.junit.runners.ParentRunner.run(ParentRunner.java:369) I 473.815s run_tests_on_device(097f1a0b0189b2c0) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) I 473.815s run_tests_on_device(097f1a0b0189b2c0) at org.junit.runner.JUnitCore.run(JUnitCore.java:115) I 473.815s run_tests_on_device(097f1a0b0189b2c0) at android.support.test.internal.runner.TestExecutor.execute(TestExecutor.java:59) I 473.815s run_tests_on_device(097f1a0b0189b2c0) at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:262) I 473.815s run_tests_on_device(097f1a0b0189b2c0) at org.chromium.base.test.BaseChromiumAndroidJUnitRunner.onStart(BaseChromiumAndroidJUnitRunner.java:100) I 473.815s run_tests_on_device(097f1a0b0189b2c0) at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1701) I 473.815s run_tests_on_device(097f1a0b0189b2c0) I 473.815s run_tests_on_device(097f1a0b0189b2c0) FAILURES!!! I 473.815s run_tests_on_device(097f1a0b0189b2c0) Tests run: 0, Failures: 2 I 473.815s run_tests_on_device(097f1a0b0189b2c0) I 473.815s run_tests_on_device(097f1a0b0189b2c0) I 473.815s run_tests_on_device(097f1a0b0189b2c0) INSTRUMENTATION_CODE: -1 ⛆ |
|
|
,
Nov 16 2017
ChromeHomeDownloadManagerTest#testShowDownloadManagerLastTrackedActivityNull_TabbedActivityRunning is relatively new. I won't be able to look at it until after Thanksgiving week at the earliest. I'm WF Boulder tomorrow and out half of Friday, so if someone (sheriffing) has time to disable for now until I have time to look at it that would be greatly appreciated.
,
Nov 16 2017
What I see is random tests failing with "java.util.concurrent.TimeoutException: waitForCallback timed out" https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/431790 https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/432090 https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/432093 https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/432095 https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/432098 https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/432110 https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/432114 https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/432119 https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/432126 https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/432139 https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/432150 https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/432154 https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/432158 https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/432160 https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/432172 https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/432175 https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/432198 https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/432224 Does seem like a systemic issue to me.
,
Nov 16 2017
For some value of "systemic," perhaps. I would argue that, of the builds you selected, the test failures aren't "random." In the builds you've linked, the following tests failed: org.chromium.chrome.browser.NavigateTest#testNavigateRedirect org.chromium.chrome.browser.banners.AppBannerManagerTest#testBannerAppearsThenDoesNotAppearAgainForWeeks org.chromium.chrome.browser.payments.PaymentRequestCanMakePaymentMetricsTest#testNoQuery_UserAbort org.chromium.chrome.browser.payments.PaymentRequestCanMakePaymentQueryTest#testPayViaFastBobPay org.chromium.chrome.browser.payments.PaymentRequestContactDetailsAndFreeShippingTest#testPay org.chromium.chrome.browser.payments.PaymentRequestContactDetailsTest#testAddContactAndCancelEditorShouldKeepContactSelected org.chromium.chrome.browser.payments.PaymentRequestEmailAndFreeShippingTest#testPaymentRequestEventsMetric org.chromium.chrome.browser.payments.PaymentRequestEmailAndPhoneTest#testSuggestionsDeduped org.chromium.chrome.browser.payments.PaymentRequestIdTest#testPaymentResponse org.chromium.chrome.browser.payments.PaymentRequestJourneyLoggerTest#testNoContactInfoHistogram org.chromium.chrome.browser.payments.PaymentRequestJourneyLoggerTest#testNumberOfSelectionAdds_ContactInfo_Completed org.chromium.chrome.browser.payments.PaymentRequestJourneyLoggerTest#testUserDidNotHaveCompleteSuggestions_ShippingAndPayment_IncompleteShipping org.chromium.chrome.browser.payments.PaymentRequestMultipleContactDetailsTest#testContactDetailsDedupe_Capitalization org.chromium.chrome.browser.payments.PaymentRequestNameAndFreeShippingTest#testPay org.chromium.chrome.browser.payments.PaymentRequestNoShippingTest#testEditAndCloseDialog org.chromium.chrome.browser.payments.PaymentRequestNoShippingTest#testQuickDismissAndPayShouldNotCrash org.chromium.chrome.browser.payments.PaymentRequestPaymentAppCanMakePaymentQueryTest#testNoInstrumentsInFastBobPay org.chromium.chrome.browser.payments.PaymentRequestServiceWorkerPaymentAppTest#testHasMastercardCreditCapabilities org.chromium.chrome.browser.payments.PaymentRequestTabTest#testDismissOnTabNavigate org.chromium.chrome.browser.payments.PaymentRequestTabTest#testDismissOnTabSwitch All of the payments test failures share the same 12 frames at the top of the stack trace: at org.chromium.base.test.util.CallbackHelper.waitForCallback(CallbackHelper.java:191) at org.chromium.base.test.util.CallbackHelper.waitForCallback(CallbackHelper.java:202) at org.chromium.content.browser.test.util.TestCallbackHelperContainer$OnEvaluateJavaScriptResultHelper.waitUntilHasValue(TestCallbackHelperContainer.java:160) at org.chromium.content.browser.test.util.JavaScriptUtils.executeJavaScriptAndWaitForResult(JavaScriptUtils.java:56) at org.chromium.content.browser.test.util.JavaScriptUtils.executeJavaScriptAndWaitForResult(JavaScriptUtils.java:30) at org.chromium.content.browser.test.util.DOMUtils.scrollNodeIntoViewByJs(DOMUtils.java:306) at org.chromium.content.browser.test.util.DOMUtils.scrollNodeIntoView(DOMUtils.java:296) at org.chromium.content.browser.test.util.DOMUtils.clickNode(DOMUtils.java:234) at org.chromium.chrome.browser.payments.PaymentRequestTestCommon.clickNodeAndWait(PaymentRequestTestCommon.java:194) at org.chromium.chrome.browser.payments.PaymentRequestTestCommon.openPageAndClickNodeAndWait(PaymentRequestTestCommon.java:164) at org.chromium.chrome.browser.payments.PaymentRequestTestCommon.triggerUIAndWait(PaymentRequestTestCommon.java:180) at org.chromium.chrome.browser.payments.PaymentRequestTestRule.triggerUIAndWait(PaymentRequestTestRule.java:146) I've filed https://bugs.chromium.org/p/chromium/issues/detail?id=786137 for that. On another note: while I do appreciate y'all filing bugs, omnibugs like this are significantly harder to wrangle than more narrow bugs.
,
Nov 16 2017
Ah, sorry, I've just filtered "waitForCallback" problems out of the rest of the failures, which was a lot of work by itself. Thank you for bucketing those further.
,
Nov 16 2017
Sorry for filing a meta-bug. Doing tons of triage right now and no time to investigate each deeply. Please do split this into multiple ones.
,
Nov 17 2017
,
Nov 17 2017
I'm trying to debug the minidump failure (or rather, I want to double-check that it's failing in that assertion), how do I get the logcat of the device being tested?
,
Nov 17 2017
#8: use the result_details link in the step. e.g., From https://ci.chromium.org/buildbot/tryserver.chromium.android/linux_android_rel_ng/430011 result_details for chrome_public_test_apk: https://storage.cloud.google.com/chromium-result-details/html/chrome_public_test_apk_linux_android_rel_ng_430011_2017_11_14_T23_00_53-UTC From there, you should see the failed MinidumpUploaderImplTest suite. Drilling into it will show you the list of tests, including the logcat for each. The logcat for that run for MinidumpUploaderImplTest#testFailingThenPassingUpload is https://luci-logdog.appspot.com/v/?s=chromium%2Fandroid%2Fswarming%2Flogcats%2F39d5808612466b11%2F%2B%2Flogcat_logcat_org.chromium.components.minidump_uploader.MinidumpUploaderImplTest.testCancelFailedUploadCausesReschedule_20171114T224852-UTC_0695f25c003be2ec
,
Nov 20 2017
Thanks John, could we add some more description under the first link rather than just "result_details" ? Something like "result_details (logcats / flakiness links)", there's no way for me to know which link I should click otherwise :)
,
Dec 6 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/tools/build/+/f51a223063a7c3f72dfbf19604babbec2876e392 commit f51a223063a7c3f72dfbf19604babbec2876e392 Author: Benjamin Pastene <bpastene@chromium.org> Date: Wed Dec 06 21:22:35 2017 Change name of result_details link in build page. Because "result_details" is awfully ambiguous. Recipe-Nontrivial-Roll: build_limited_scripts_slave Bug: 785055 Change-Id: I61f590427fb66bc72f8948bc253321f7aab2bff5 Reviewed-on: https://chromium-review.googlesource.com/806997 Commit-Queue: Benjamin Pastene <bpastene@chromium.org> Reviewed-by: John Budorick <jbudorick@chromium.org> [modify] https://crrev.com/f51a223063a7c3f72dfbf19604babbec2876e392/scripts/slave/recipes/cronet.expected/android_cronet_marshmallow_64bit_perf.json [modify] https://crrev.com/f51a223063a7c3f72dfbf19604babbec2876e392/scripts/slave/recipes/cronet.expected/android_cronet_marshmallow_64bit_builder.json [modify] https://crrev.com/f51a223063a7c3f72dfbf19604babbec2876e392/scripts/slave/recipes/chromium.expected/dynamic_instrumentation_test.json [modify] https://crrev.com/f51a223063a7c3f72dfbf19604babbec2876e392/scripts/slave/recipe_modules/chromium_android/api.py [modify] https://crrev.com/f51a223063a7c3f72dfbf19604babbec2876e392/scripts/slave/recipes/chromium.expected/dynamic_instrumentation_test_with_timeout_scale.json [modify] https://crrev.com/f51a223063a7c3f72dfbf19604babbec2876e392/scripts/slave/recipe_modules/chromium_android/examples/full.expected/webview_cts_basic.json [modify] https://crrev.com/f51a223063a7c3f72dfbf19604babbec2876e392/scripts/slave/recipes/cronet.expected/android_cronet_tester.json [modify] https://crrev.com/f51a223063a7c3f72dfbf19604babbec2876e392/scripts/slave/recipe_modules/chromium_tests/tests/steps/web_view_cts_test.expected/basic.json [modify] https://crrev.com/f51a223063a7c3f72dfbf19604babbec2876e392/scripts/slave/recipe_modules/chromium_tests/tests/steps/generate_cts_test.expected/basic.json [modify] https://crrev.com/f51a223063a7c3f72dfbf19604babbec2876e392/scripts/slave/recipes/cronet.expected/android_cronet_kitkat_builder.json [modify] https://crrev.com/f51a223063a7c3f72dfbf19604babbec2876e392/scripts/slave/recipe_modules/chromium_android/examples/full.expected/result_details_basic.json [modify] https://crrev.com/f51a223063a7c3f72dfbf19604babbec2876e392/scripts/slave/recipe_modules/cronet/examples/full.expected/mb_test.json [modify] https://crrev.com/f51a223063a7c3f72dfbf19604babbec2876e392/scripts/slave/recipes/chromium.expected/dynamic_instrumentation_nodefault_build.json [modify] https://crrev.com/f51a223063a7c3f72dfbf19604babbec2876e392/scripts/slave/recipes/cronet.expected/android_cronet_armv6_builder.json [modify] https://crrev.com/f51a223063a7c3f72dfbf19604babbec2876e392/scripts/slave/recipes/cronet.expected/cronet_try.json [modify] https://crrev.com/f51a223063a7c3f72dfbf19604babbec2876e392/scripts/slave/recipes/cronet.expected/android_cronet_builder__dbg_.json [modify] https://crrev.com/f51a223063a7c3f72dfbf19604babbec2876e392/scripts/slave/recipe_modules/cronet/examples/full.expected/local_test.json [modify] https://crrev.com/f51a223063a7c3f72dfbf19604babbec2876e392/scripts/slave/recipes/cronet.expected/local_test.json [modify] https://crrev.com/f51a223063a7c3f72dfbf19604babbec2876e392/scripts/slave/recipes/cronet.expected/android_cronet_builder_asan.json [modify] https://crrev.com/f51a223063a7c3f72dfbf19604babbec2876e392/scripts/slave/recipes/chromium.expected/dynamic_instrumentation_nodefault_test.json [modify] https://crrev.com/f51a223063a7c3f72dfbf19604babbec2876e392/scripts/slave/recipe_modules/cronet/examples/full.expected/gn_test.json [modify] https://crrev.com/f51a223063a7c3f72dfbf19604babbec2876e392/scripts/slave/recipe_modules/chromium_android/examples/full.expected/upload_result_details_failures.json [modify] https://crrev.com/f51a223063a7c3f72dfbf19604babbec2876e392/scripts/slave/README.recipes.md [modify] https://crrev.com/f51a223063a7c3f72dfbf19604babbec2876e392/scripts/slave/recipe_modules/chromium_tests/tests/steps/generate_instrumentation_test.expected/basic.json [modify] https://crrev.com/f51a223063a7c3f72dfbf19604babbec2876e392/scripts/slave/recipes/cronet.expected/android_cronet_lollipop_builder.json
,
Dec 7 2017
ToolbarProgressBarTest tests have started flaking aggressively on the trybot. Filed bug 792724 for that. (And after the change in #11 + https://chromium-review.googlesource.com/c/chromium/src/+/812207 the result_details link name should be a bit more descriptive.)
,
Dec 7 2017
,
Dec 13 2017
Anecdotally, larng seems a bit happier now, so downgrading pri. I'd pull out some numbers to support that claim, but unfortunately the data's not wholly there, so I'm blocking this on my effort to start tracking flakiness-per-bot (bug 783858) Once we can visualize which bots like to flake, I'll close this out if we deem larng to be under an acceptable level.
,
Dec 13 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2279adad772a0fae6551d7d2bcaba4ec7a16ae02 commit 2279adad772a0fae6551d7d2bcaba4ec7a16ae02 Author: Benjamin Pastene <bpastene@chromium.org> Date: Wed Dec 13 20:51:44 2017 android: Change name of result_details link for swarming tests. Bug: 785055 Change-Id: I9441eaa8d0b8a4eec253d4199045f6fc0ece9126 Reviewed-on: https://chromium-review.googlesource.com/812207 Reviewed-by: John Budorick <jbudorick@chromium.org> Commit-Queue: Benjamin Pastene <bpastene@chromium.org> Cr-Commit-Position: refs/heads/master@{#523869} [modify] https://crrev.com/2279adad772a0fae6551d7d2bcaba4ec7a16ae02/build/android/pylib/results/presentation/test_results_presentation.py
,
Dec 21 2017
,
Dec 21 2017
,
Dec 21 2017
,
Dec 21 2017
linux_android_rel_ng looks to me like it's gotten flakier recently. See the two attached screenshots. Blocked this bug on a few flakes of tests which seem like they're happening all over the place. |
||||||||
►
Sign in to add a comment |
|||||||||||
Comment 1 by jbudorick@chromium.org
, Nov 15 2017