New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 844091 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug

Blocking:
issue 836986



Sign in to add a comment

GpuWatchdogThreadTest.NoTerminateIf* flaky on Mac FYI Experimental Intel and AMD

Project Member Reported by ynovikov@chromium.org, May 17 2018

Issue description

https://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?
 

Comment 1 by kbr@chromium.org, May 17 2018

Blocking: 836986

Comment 2 by piman@chromium.org, May 17 2018

Components: -Internals>GPU Internals>GPU>Internals
Status: Assigned (was: Untriaged)
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.
Project Member

Comment 3 by bugdroid1@chromium.org, 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

Comment 4 by piman@chromium.org, May 17 2018

Cc: -ericrk@chromium.org piman@chromium.org
Labels: -Pri-1 Pri-2
Owner: ericrk@chromium.org
->Eric to reinstate/refactor the tests when he comes back.
Labels: -Type-Bug-Regression Type-Bug
Not a regression actually, missed that these were new tests.

Sign in to add a comment