GpuWatchdogThreadTest.NoTerminateIf* flaky on Mac FYI Experimental Intel and AMD |
||||
Issue descriptionhttps://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Mac%20FYI%20Experimental%20Release%20%28Intel%29/2329 GpuWatchdogThreadTest.NoTerminateIfBackgrounded https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Mac%20FYI%20Experimental%20Retina%20Release%20%28AMD%29/1665 GpuWatchdogThreadTest.NoTerminateIfPowerStateSuspended https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Mac%20FYI%20Experimental%20Retina%20Release%20%28AMD%29/1664 GpuWatchdogThreadTest.NoTerminateIfPowerStateSuspended https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Mac%20FYI%20Experimental%20Retina%20Release%20%28AMD%29/1659 GpuWatchdogThreadTest.NoTerminateIfBackgrounded [4299:13315:0517/091321.049574:3821369619868:ERROR:kill_posix.cc(83)] Unable to terminate process group 4440: No such process (3) [2641/3859] GpuChannelManagerTest.EstablishChannel (1 ms) [2642/3859] GpuChannelTest.CreateViewCommandBufferAllowed (2 ms) [2643/3859] GpuChannelTest.CreateViewCommandBufferDisallowed (0 ms) [2644/3859] GpuChannelTest.CreateOffscreenCommandBuffer (1 ms) [2645/3859] GpuChannelTest.IncompatibleStreamIds (1 ms) [2646/3859] GpuChannelTest.CreateFailsIfSharedContextIsLost (1 ms) [2647/3859] GpuWatchdogThreadTest.BasicTerminate (52 ms) [ RUN ] GpuWatchdogThreadTest.NoTerminateIfBackgrounded ../../gpu/ipc/service/gpu_watchdog_thread_unittest.cc:35: Failure Value of: terminate_event_.TimedWait(base::TimeDelta::FromMilliseconds(500)) Actual: false Expected: true Stack trace: 0 gpu_unittests 0x000000010dfd9a2b testing::internal::UnitTestImpl::CurrentOsStackTraceExceptTop(int) + 91 1 gpu_unittests 0x000000010dfd93e9 testing::internal::AssertHelper::operator=(testing::Message const&) const + 89 2 gpu_unittests 0x000000010db2cf4a gpu::GpuWatchdogThreadTest::CheckTerminate() + 282 [ FAILED ] GpuWatchdogThreadTest.NoTerminateIfBackgrounded (1305 ms) [2648/3859] GpuWatchdogThreadTest.NoTerminateIfBackgrounded (1305 ms) [20796:15363:0516/182357.524206:30551790329541:ERROR:kill_posix.cc(83)] Unable to terminate process group 20936: No such process (3) [3850/3859] GpuChannelManagerTest.EstablishChannel (0 ms) [3851/3859] GpuChannelTest.CreateViewCommandBufferAllowed (3 ms) [3852/3859] GpuChannelTest.CreateViewCommandBufferDisallowed (0 ms) [3853/3859] GpuChannelTest.CreateOffscreenCommandBuffer (1 ms) [3854/3859] GpuChannelTest.IncompatibleStreamIds (0 ms) [3855/3859] GpuChannelTest.CreateFailsIfSharedContextIsLost (1 ms) [3856/3859] GpuWatchdogThreadTest.BasicTerminate (79 ms) [3857/3859] GpuWatchdogThreadTest.NoTerminateIfBackgrounded (840 ms) [ RUN ] GpuWatchdogThreadTest.NoTerminateIfPowerStateSuspended ../../gpu/ipc/service/gpu_watchdog_thread_unittest.cc:35: Failure Value of: terminate_event_.TimedWait(base::TimeDelta::FromMilliseconds(500)) Actual: false Expected: true Stack trace: 0 gpu_unittests 0x000000010e59dfeb testing::internal::UnitTestImpl::CurrentOsStackTraceExceptTop(int) + 91 1 gpu_unittests 0x000000010e59d9a9 testing::internal::AssertHelper::operator=(testing::Message const&) const + 89 2 gpu_unittests 0x000000010e0f13da gpu::GpuWatchdogThreadTest::CheckTerminate() + 282 [ FAILED ] GpuWatchdogThreadTest.NoTerminateIfPowerStateSuspended (1296 ms) [3858/3859] GpuWatchdogThreadTest.NoTerminateIfPowerStateSuspended (1296 ms) I suspect https://chromium-review.googlesource.com/1042531. I don't want to disable these tests, as they pass on other platforms. Since Eric is OOO, Antoine, can you triage this or revert the CL if it's safe to do so?
,
May 17 2018
The tests have various kinds of fundamental races. Since the new tests were added with that CL, I'm just going to remove them for now.
,
May 17 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6ee959562a00c8aa4cb54a70ec99f1b054569032 commit 6ee959562a00c8aa4cb54a70ec99f1b054569032 Author: Antoine Labour <piman@chromium.org> Date: Thu May 17 22:08:40 2018 Remove GpuWatchdogThreadTest, it is fundamentally flaky Various sources of flakiness: 1- time-based synchronization is flaky under load 2- races with CheckArmed, which depends on particular tasks being executed on the watchdog thread 3- some logic on the watchdog thread depends on tasks posted from other tasks, which is not directly observable from the test We'd need to inject mock time (e.g. ScopedTimeClockOverrides), but even then PostDelayedTask used inside of GpuWatchdogThreadTest still uses real time anyway. We'd probably be better served with separating out the logic that decides whether to terminate or not out of GpuWatchdogThread, and test that. Bug: 844091 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Change-Id: Idf94b3052bd74972e5b8e46f6dd9bb841b2c2373 Reviewed-on: https://chromium-review.googlesource.com/1064877 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Antoine Labour <piman@chromium.org> Commit-Queue: Antoine Labour <piman@chromium.org> Cr-Commit-Position: refs/heads/master@{#559701} [modify] https://crrev.com/6ee959562a00c8aa4cb54a70ec99f1b054569032/gpu/BUILD.gn [delete] https://crrev.com/cf20524aad95b76a21447a354926a313f6e618f4/gpu/ipc/service/gpu_watchdog_thread_unittest.cc
,
May 17 2018
->Eric to reinstate/refactor the tests when he comes back.
,
May 17 2018
Not a regression actually, missed that these were new tests. |
||||
►
Sign in to add a comment |
||||
Comment 1 by kbr@chromium.org
, May 17 2018