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

Issue 796436 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug-Regression



Sign in to add a comment

EstablishRequestResponseSynchronouslyOnSuccess flaky on linux_chromium_rel_ng

Project Member Reported by ynovikov@chromium.org, Dec 20 2017

Issue description

https://ci.chromium.org/buildbot/tryserver.chromium.linux/linux_chromium_rel_ng/612166
https://ci.chromium.org/buildbot/tryserver.chromium.linux/linux_chromium_rel_ng/612155
https://ci.chromium.org/buildbot/tryserver.chromium.linux/linux_chromium_rel_ng/612064
Failing both with and without patch on last one.

Log:
[30082:30086:1219/171755.237138:23517580999:ERROR:kill_posix.cc(84)] Unable to terminate process group 31203: No such process (3)
[ RUN      ] GpuTest.EstablishRequestResponseSynchronouslyOnSuccess
../../services/ui/public/cpp/tests/gpu_unittest.cc:234: Failure
Expected equality of these values:
  1
  counter
    Which is: 0
[  FAILED  ] GpuTest.EstablishRequestResponseSynchronouslyOnSuccess (3 ms)

sadrul@, you wrote this test, could you please triage?
 

Comment 1 by kbr@chromium.org, Dec 20 2017

Cc: kbr@chromium.org
Components: Internals>Services>Viz
Status: Assigned (was: Untriaged)
Because this is affecting the CQ I'm temporarily disabling this test on Linux in https://chromium-review.googlesource.com/835872 .

Project Member

Comment 2 by bugdroid1@chromium.org, Dec 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/008ae95dfd8f0c0ed274f2bf2207ba485d599018

commit 008ae95dfd8f0c0ed274f2bf2207ba485d599018
Author: Kenneth Russell <kbr@chromium.org>
Date: Wed Dec 20 03:51:18 2017

Temporarily disable one GpuTest on Linux.

EstablishRequestResponseSynchronouslyOnSuccess is flaky on
linux_chromium_rel_ng, slowing down the CQ.

BUG= 796436 
TBR=sadrul@chromium.org

Change-Id: Icd28bb4bf5d0bfbf94e73ed4c2c3386d8c0766b6
Reviewed-on: https://chromium-review.googlesource.com/835872
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525255}
[modify] https://crrev.com/008ae95dfd8f0c0ed274f2bf2207ba485d599018/services/ui/public/cpp/tests/gpu_unittest.cc

Comment 3 by rogerm@chromium.org, Dec 20 2017

 Issue 796552  has been merged into this issue.

Comment 4 by sadrul@chromium.org, Dec 20 2017

Cc: sadrul@chromium.org
Owner: kylec...@chromium.org
+kylechar@ Mind taking a look?
Cc: piman@chromium.org
Status: Started (was: Assigned)
The problem is that GpuChannelHost::IsLost() returns true so |gpu_channel_host_| is reset and another request is sent to TestGpuImpl. Gpu::EstablishGpuChannel() doesn't return synchronously in this case so the test fails. We are closing the other end of the message pipe that is given to GpuChannelHost which causes this.

Comment 6 by piman@chromium.org, Dec 20 2017

One of my recent patches might have uncovered this. Feel free to reassign to me if you're not taking a look right now.
I've got https://crrev.com/c/836751 which fixes it. I think making GpuChannelHost get created earlier on the IO thread uncovered an existing race.
Project Member

Comment 8 by bugdroid1@chromium.org, Dec 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8caabd1f8a163147081bfb0a7526fe8019ceb034

commit 8caabd1f8a163147081bfb0a7526fe8019ceb034
Author: kylechar <kylechar@chromium.org>
Date: Wed Dec 20 19:08:36 2017

Fix flaky GpuTest.

The TestGpuImpl::EstablishGpuChannel() passes a message pipe handle back
which then gets used to create GpuChannelHost. The test implementation
was immediately closing the other handle on the message pipe.
Eventually, GpuChannelHost is notified that the message pipe is closed
and GpuChannelHost::IsLost() returns true.

The tests were usually finished before GpuChannelHost is notified, so
the test would pass, but there is a race.

Fix GpuTestImpl so that it holds onto the other handle until
destruction. This will ensure GpuChannelHost is in the desired state.

Bug:  796436 
Change-Id: I657bcf041c0f335e2696d5c3b579322535594d16
Reviewed-on: https://chromium-review.googlesource.com/836751
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: kylechar <kylechar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525393}
[modify] https://crrev.com/8caabd1f8a163147081bfb0a7526fe8019ceb034/services/ui/public/cpp/tests/gpu_unittest.cc

Status: Fixed (was: Started)
Test is re-enabled and should be fixed.

Sign in to add a comment