blink_platform_unittests PaintControllerUnderInvalidationTest.MoreDrawing failing on Win-Clang bots |
||||
Issue descriptionhttps://build.chromium.org/p/chromium.fyi/builders/CrWinClang%20tester/builds/8915 https://build.chromium.org/p/chromium.fyi/builders/CrWinClang64%20tester/builds/4362 https://build.chromium.org/p/chromium.fyi/builders/ClangToTWin%20tester/builds/6058 https://build.chromium.org/p/chromium.fyi/builders/ClangToTWin64%20tester/builds/6176 Presumably because of https://codereview.chromium.org/2314103002 PaintControllerUnderInvalidationTest.MoreDrawing (run #1): [ RUN ] PaintControllerUnderInvalidationTest.MoreDrawing ../../third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp(1706): error: Death test: testMoreDrawing() Result: died but not with expected error. Expected: Can't find cached display item Actual msg: [ DEATH ] [5036:2184:0907/081051:3634620:WARNING:test_suite.cc(211)] Test launcher output path C:\Users\CHROME~2\AppData\Local\Temp$4_9447 est_results.xml exists. Not adding test launcher result printer. [ DEATH ] Backtrace: [ DEATH ] blink::PaintController::findOutOfOrderCachedItemForward [0x000000013F9AA6BA+146] [ DEATH ] blink::PaintController::useCachedDrawingIfPossible [0x000000013F9A99A8+140] [ DEATH ] blink::drawRect [0x000000013F14F152+42] [ DEATH ] blink::PaintControllerUnderInvalidationTest::testMoreDrawing [0x000000013F165ACD+291] [ DEATH ] blink::PaintControllerUnderInvalidationTest_MoreDrawing_Test::TestBody [0x000000013F165906+210] [ DEATH ] testing::Test::Run [0x000000013FDC09C1+183] [ DEATH ] testing::TestInfo::Run [0x000000013FDC11FB+211] [ DEATH ] testing::TestCase::Run [0x000000013FDC1589+241] [ DEATH ] testing::internal::UnitTestImpl::RunAllTests [0x000000013FDC5B80+590] [ DEATH ] testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,bool> [0x000000013FDC5928+58] [ DEATH ] testing::UnitTest::Run [0x000000013FDC5878+162] [ DEATH ] base::TestSuite::Run [0x000000013FA729E0+132] [ DEATH ] main [0x000000013F2A6B26+322] [ DEATH ] base::LaunchUnitTests [0x000000013FA7348A+142] [ DEATH ] main [0x000000013F2A6AC8+228] [ DEATH ] __scrt_common_main_seh [0x000000014007F64C+292] (f:\ddctools\crtcstartup\src\startup\exe_common.inl:255) [ DEATH ] BaseThreadInitThunk [0x0000000076EB5A4D+13] [ DEATH ] RtlUserThreadStart [0x00000000770EB831+33] [ DEATH ] [ FAILED ] PaintControllerUnderInvalidationTest.MoreDrawing (125 ms)
,
Sep 7 2016
,
Sep 7 2016
There is only one layout test fail and we know it's an under-invalidation and will fix it soon. According to http://test-results.appspot.com/dashboards/flakiness_dashboard.html#testType=blink_platform_unittests&tests=PaintControllerUnderInvalidationTest.MoreDrawing this bug is specific on windows clang and LTO Linux.
,
Sep 7 2016
The test fails on official chrome-branded MSVC builds too -- no Clang necessary. wangxianzhu: What's your plan for fixing this? It seems to me like it's time to revert that patch.
,
Sep 7 2016
hans@ can you provide the link to the failing builds?
,
Sep 7 2016
Please don't revert the change. This is actually the problem of the test and I will fix the test instead.
,
Sep 7 2016
See the links in #0. For the MSVC official build, I did that locally. I suspect we don't have Windows bots running this test in official builds, except the Clang ones.
,
Sep 7 2016
I think the internal official builds do run tests, so you'll get a bug assigned to you the next time they cycle (they're very slow and might run only nightly for canary builds, not sure).
,
Sep 7 2016
,
Sep 7 2016
The CL was in between 9/2 8:59 and 9/5 1:30, and after 9/6 17:43. I would like to check the status of internal official builds, but for now the server returns 502 (or I did sth wrong to access the builds).
It seemed that during the following expected CHECK failure:
CHECK(false) << "Can't find cached display item";
some logs from other part of the code mixed in, or the logging system didn't catch the output of the above CHECK failure.
,
Sep 7 2016
This looks like a problem of the logging code or the gtest death testing code. However I'll create a patch to workaround it. hans@ did you get exactly the same results as on the clang-win bots when you run official build locally?
,
Sep 7 2016
Aha! Official builds don't include the string parameter to CHECK, this is actually a known bug type. You'll want something like https://codereview.chromium.org/1053013009/diff/20001/ppapi/shared_impl/media_stream_buffer_manager_unittest.cc (see the bug linked from that CL, and the bug blocked on that bug for several similar examples)
,
Sep 7 2016
Thank you for helping investigate this Nico. The linked bugs seem to be about working around this issue but I'm worried the next person to use EXPECT_DEATH will hit this again in the future. Could we change EXPECT_DEATH to not have a string parameter, or add comments warning folks?
,
Sep 7 2016
EXPECT_DEATH is in gtest, so we can't change it super easily. But if you can come up with something, that'd be cool! I'd say we hit this about once a quarter (there might be more instance I don't know about, but the clang official bots usually find official breakages first)
,
Sep 7 2016
Would the following idea work? 1) Add a root PRESUBMIT.py check that bans the use of EXPECT_DEATH( and ASSERT_DEATH( in https://cs.chromium.org/chromium/src/PRESUBMIT.py?l=153 2) Add a new EXPECT_DEATH wrapper that drops the param in official builds, sort of like https://cs.chromium.org/chromium/src/third_party/crashpad/crashpad/test/gtest_death_check.h
,
Sep 7 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/812a431578014239af1444e2967413140ab516de commit 812a431578014239af1444e2967413140ab516de Author: wangxianzhu <wangxianzhu@chromium.org> Date: Wed Sep 07 23:17:59 2016 Fix PaintControllerUnderInvalidationTest.MoreDrawing on official builds Official build doesn't output strings on CHECK failures. BUG= 644768 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2319283002 Cr-Commit-Position: refs/heads/master@{#417112} [modify] https://crrev.com/812a431578014239af1444e2967413140ab516de/third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp
,
Sep 9 2016
|
||||
►
Sign in to add a comment |
||||
Comment 1 by thakis@chromium.org
, Sep 7 2016