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

Issue 781418 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug

Blocking:
issue 644265



Sign in to add a comment

WebglConformance_conformance2_offscreencanvas_offscreencanvas_transfer_image_bitmap failing in Linux try jobs

Project Member Reported by kbr@chromium.org, Nov 3 2017

Issue description

When switching from the GeForce GT 610 cards to the Quadro P400 cards, the test WebglConformance_conformance2_offscreencanvas_offscreencanvas_transfer_image_bitmap is failing reliably on Linux. Here are a couple of failed try jobs:

https://ci.chromium.org/buildbot/tryserver.chromium.linux/linux_optional_gpu_tests_rel/15027
https://ci.chromium.org/buildbot/tryserver.chromium.linux/linux_optional_gpu_tests_rel/15031

https://chromium-swarm.appspot.com/task?id=399c7ba337c87910&refresh=10&show_raw=1
https://chromium-swarm.appspot.com/task?id=399c91848bc7d010&refresh=10&show_raw=1

Here's the error log:

[4/139] gpu_tests.webgl_conformance_integration_test.WebGLConformanceIntegrationTest.WebglConformance_conformance2_offscreencanvas_offscreencanvas_transfer_image_bitmap failed unexpectedly 6.0689s:
  
  Traceback (most recent call last):
    _RunGpuTest at content/test/gpu/gpu_tests/gpu_integration_test.py:125
      self.RunActualGpuTest(url, *args)
    RunActualGpuTest at content/test/gpu/gpu_tests/webgl_conformance_integration_test.py:203
      getattr(self, test_name)(test_path, *args[1:])
    _RunConformanceTest at content/test/gpu/gpu_tests/webgl_conformance_integration_test.py:217
      self._CheckTestCompletion()
    _CheckTestCompletion at content/test/gpu/gpu_tests/webgl_conformance_integration_test.py:213
      self.fail(self._WebGLTestMessages(self.tab))
    fail at /usr/lib/python2.7/unittest/case.py:412
      raise self.failureException(msg)
  AssertionError: OffscreenCanvas.webgl2: This pixel should be [255, 255, 0, 255], but it is: [0, 0, 0, 255].
  FAIL OffscreenCanvas.webgl2: This pixel should be [255, 255, 0, 255], but it is: [0, 0, 0, 255].


Maybe there's a test ordering problem, but it's a mystery to me why this is passing on the waterfall bot, e.g.:

https://ci.chromium.org/buildbot/chromium.gpu.fyi/Linux%20Release%20%28NVIDIA%20Quadro%20P400%29/2048

https://chromium-swarm.appspot.com/task?id=399c63d077dbb210&refresh=10&show_raw=1


Maybe the trybots are using dcheck_always_on=true and the waterfall bots aren't? I don't remember this essential difference, though I've pushed hard in the past for the waterfall bots to set that flag.

Justin, can you own investigating this? I'm suppressing the failure for now.




 

Comment 1 by kbr@chromium.org, Nov 4 2017

Blocking: 644265
Cc: junov@chromium.org
Owner: kainino@chromium.org
The failure was suppressed in:
https://chromium-review.googlesource.com/754019

(Sorry for forgetting to reference this bug)

but it turns out it was actually detected here:
https://ci.chromium.org/buildbot/chromium.gpu.fyi/Linux%20Release%20%28NVIDIA%20Quadro%20P400%29/2049

https://chromium-swarm.appspot.com/task?id=399c8e2409f47910&refresh=10&show_raw=1

The reason this wasn't caught on the CQ is that we're in the process of switching the GPU tests from running on the older GeForce GT 610s to the newer Quadro P400s, and the older cards don't support the extension:
https://chromium-swarm.appspot.com/task?id=399788146d00d410&refresh=10&show_raw=1

So this is a legitimate failure caused by the exposure of that extension. Skia will have started using the extension immediately, and maybe there's a problem with how it's integrated.

It should be easy to reproduce locally on a card that supports the extension. Kai, can you try? I think we should disable the extension with a blacklist entry until this bug's fixed (if it'll take long to diagnose), since this might imply other rendering bugs will happen.

Comment 2 by kbr@chromium.org, Nov 4 2017

To be clear: the cause was the exposure of the GL_EXT_window_rectangles extension in the command buffer:
https://chromium.googlesource.com/chromium/src/+/bcbefdabffdb64447b040ee8b7d08c14e8e7e534

Sure, I'll look into this on Monday. My workstation supports the extension so it should be easy enough to figure out. I suspect a missed case in the state tracking.

Comment 4 by junov@chromium.org, Nov 6 2017

Cc: bsalomon@chromium.org
Components: Internals>Skia
I don't see any blink-side code that references this extension.  I suspect Ganesh is involved.
Cc: csmartdalton@chromium.org
Project Member

Comment 6 by bugdroid1@chromium.org, Nov 9 2017

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

commit 308174ca7345d19763e9a97181423fabf416bef2
Author: Kai Ninomiya <kainino@chromium.org>
Date: Thu Nov 09 04:11:31 2017

Add missing setup for GL_EXT_window_rectangles

Followup to http://crrev.com/c/741866

Bug:  781418 ,  644265 
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I7bca652054bc7af2fd876b03ec43f4ef08f50405
Reviewed-on: https://chromium-review.googlesource.com/758969
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#515093}
[modify] https://crrev.com/308174ca7345d19763e9a97181423fabf416bef2/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
[modify] https://crrev.com/308174ca7345d19763e9a97181423fabf416bef2/gpu/skia_bindings/gl_bindings_skia_cmd_buffer.cc

Status: Fixed (was: Assigned)

Sign in to add a comment