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

Issue 628464 link

Starred by 3 users

Issue metadata

Status: Assigned
Owner:
OOO until 2019-01-24
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug

Blocking:
issue 661745
issue 609252



Sign in to add a comment

Reduce size of WebGL 2.0 conformance logs

Project Member Reported by kbr@chromium.org, Jul 15 2016

Issue description

The logs from the WebGL 2.0 conformance tests on the bots are so huge that the browser can't load them effectively, and people can't find failures easily in them.

zmo@ and cwallez@ point out that at least for passing tests, no output should be shown. I thought this was implemented, but it looks like at least some tests are getting past this. For example:

https://chromium-swarm.appspot.com/user/task/3004fa390c860110

WebglConformance_deqp_functional_gles3_fragmentoutput_random_00 (gpu_tests.webgl_conformance_integration_test.WebGLConformanceIntegrationTest) ... [3548:3016:0714/183009:INFO:CONSOLE(11)] "out 0 value range: -1000,-1000,-1000,-1000 -> 1000,1000,1000,1000", source:  (11)
[3548:3016:0714/183009:INFO:CONSOLE(11)] "out 1 value range: -128,-128,-128,-128 -> 127,127,127,127", source:  (11)
[3548:3016:0714/183009:INFO:CONSOLE(11)] "out 0 value range: 0,0,0,0 -> 1,1,0,0", source:  (11)
...
ok

It's not clear why these console messages are being output.

Also, expected failures should probably squelch console messages as well, rather than printing them twice (once for the console output, and once in the exception's message):

WebglConformance_deqp_functional_gles3_shaderloop_do_while (gpu_tests.webgl_conformance_integration_test.WebGLConformanceIntegrationTest) ... [3548:3016:0714/182836:INFO:CONSOLE(11)] "loops.do_while.constant_iterations.nested_tricky_dataflow_1_vertex: Fail", source:  (11)
[3548:3016:0714/182836:INFO:CONSOLE(11)] "Init testcase: loops", source:  (11)
[3548:3016:0714/182836:INFO:CONSOLE(11)] "Init testcase: loops.do_while.constant_iterations.basic_lowp_int_vertex", source:  (11)
...
Expected exception while running WebglConformance_deqp_functional_gles3_shaderloop_do_while

Traceback (most recent call last):
  _RunGpuTest at content\test\gpu\gpu_tests\gpu_integration_test.py:49
    self.RunActualGpuTest(url, *args)
  RunActualGpuTest at content\test\gpu\gpu_tests\webgl_conformance_integration_test.py:50
    self.fail(webgl_conformance._WebGLTestMessages(self.tab))
  fail at c:\b\depot_tools\python276_bin\lib\unittest\case.py:412
    raise self.failureException(msg)
AssertionError: loops.do_while.constant_iterations.nested_tricky_dataflow_1_vertex: Fail
Init testcase: loops
...

Part of the problem is that --show-stdout is passed to the browser and this inevitably causes GL errors from the command buffer to be printed in the logs. Some negative tests need to be identified which have a lot of output of this sort, and see if it's possible to switch on and off the printing of the browser's stdout.

 

Comment 1 by kbr@chromium.org, Jul 15 2016

WebglConformance_deqp_data_gles3_shaders_keywords is another test that prints a *lot* of output to the JavaScript console which is echoed in the browser's stdout, even for successful test runs.

Comment 3 by kbr@chromium.org, Jul 18 2016

Owner: qiankun....@intel.com
Status: Started (was: Assigned)
Thanks Qiankun for these fixes! I didn't expect them. Let's see how the logs look after the next conformance roll.

Comment 4 by kbr@chromium.org, Jul 22 2016

Cc: qiankun....@intel.com
Labels: -Pri-1 Pri-2
Owner: ----
Status: Available (was: Started)
These have helped a lot, but there is still more work to do. The command buffer reports GL errors to the JavaScript console by default, which is helpful for developers, but expands the logs on the bots. These logs are very useful when a test fails, but we should figure out a way to suppress them for passing tests. This will probably require more APIs in Telemetry. A prototype is needed before proposing new APIs.

Looking at a recent webgl2_conformance_tests run from https://build.chromium.org/p/chromium.gpu.fyi/builders/Linux%20Release%20(NVIDIA) , WebglConformance_deqp_functional_gles3_negativetextureapi is a good example of a test which deliberately generates a lot of errors.

Downgrading to P2 as this is less urgent at this point.

Comment 5 by kbr@chromium.org, Nov 2 2016

Blockedon: 661745

Comment 6 by kbr@chromium.org, May 24 2017

Blockedon: -661745
Blocking: 609252 661745
Cc: -qiankun....@intel.com vmi...@chromium.org
Owner: kbr@chromium.org
Status: Assigned (was: Available)
There's a strong indication that the huge volume of output from the GPU process while running the WebGL 1.0 and 2.0 conformance tests may be occasionally causing the GPU process to hang -- because some caller up the chain isn't consuming its stdout and stderr streams promptly.

Need to figure out whether we can change Telemetry to start and stop pass-through of the browser's output on demand. Taking.

Sign in to add a comment