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

Issue 658898 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

Assertion failure in BlitGL::blitColorBufferWithShader in webgl2_conformance_angle_tests on Linux Release (New Intel)

Project Member Reported by ynovikov@chromium.org, Oct 24 2016

Issue description

Failing tests:
WebglConformance_conformance2_rendering_blitframebuffer_multisampled_readbuffer
WebglConformance_conformance2_rendering_blitframebuffer_test

Started here: https://build.chromium.org/p/chromium.gpu.fyi/builders/Linux%20Release%20%28New%20Intel%29/builds/3096
Suspect CL: https://chromium-review.googlesource.com/#/c/389853.

Log:
WebglConformance_conformance2_rendering_blitframebuffer_test (gpu_tests.webgl_conformance_integration_test.WebGLConformanceIntegrationTest) ... [14009:14009:1019/101213:ERROR:gles2_cmd_decoder.cc(7974)] [.Offscreen-For-WebGL-0x38b943a91a00]GL ERROR :GL_INVALID_OPERATION : glBlitFramebufferCHROMIUM: source buffer and destination buffers are identical
[14009:14009:1019/101213:ERROR:gles2_cmd_decoder.cc(7974)] [.Offscreen-For-WebGL-0x38b943a91a00]GL ERROR :GL_INVALID_OPERATION : glBlitFramebufferCHROMIUM: source buffer and destination buffers are identical
[14009:14009:1019/101213:ERROR:gles2_cmd_decoder.cc(7974)] [.Offscreen-For-WebGL-0x38b943a91a00]GL ERROR :GL_INVALID_OPERATION : glBlitFramebufferCHROMIUM: source buffer and destination buffers are identical
[14009:14009:1019/101213:ERROR:gles2_cmd_decoder.cc(7974)] [.Offscreen-For-WebGL-0x38b943a91a00]GL ERROR :GL_INVALID_OPERATION : glBlitFramebufferCHROMIUM: source buffer and destination buffers are identical
[14009:14009:1019/101213:ERROR:gles2_cmd_decoder.cc(7974)] [.Offscreen-For-WebGL-0x38b943a91a00]GL ERROR :GL_INVALID_OPERATION : glBlitFramebufferCHROMIUM: source buffer and destination buffers are identical
[14009:14009:1019/101213:ERROR:gles2_cmd_decoder.cc(7974)] [.Offscreen-For-WebGL-0x38b943a91a00]GL ERROR :GL_INVALID_OPERATION : glBlitFramebufferCHROMIUM: source buffer and destination buffers are identical
err: blitColorBufferWithShader(239): 	! Assert failed in blitColorBufferWithShader(239): readAttachment->getSamples() <= 1

Received signal 4 ILL_ILLOPN 7f9e102feb13
#0 0x563513c3d3d7 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#1 0x7f9e1d5a03d0 <unknown>
#2 0x7f9e102feb13 <unknown>
#3 0x7f9e103016c2 <unknown>
#4 0x7f9e102ae77f <unknown>
#5 0x7f9e102a12df <unknown>
#6 0x7f9e102846e7 <unknown>
#7 0x5635146d9f4b gl::GLApiBase::glBlitFramebufferFn()
#8 0x563517ecf3b8 gpu::gles2::GLES2DecoderImpl::BlitFramebufferHelper()
#9 0x563517ee30da gpu::gles2::GLES2DecoderImpl::DoBlitFramebufferCHROMIUM()
#10 0x563517ec6541 gpu::gles2::GLES2DecoderImpl::HandleBlitFramebufferCHROMIUM()
#11 0x563517edab79 gpu::gles2::GLES2DecoderImpl::DoCommandsImpl<>()
#12 0x563517463e66 gpu::CommandParser::ProcessCommands()
#13 0x563517ead795 gpu::CommandExecutor::PutChanged()
#14 0x5635174da375 gpu::GpuCommandBufferStub::OnAsyncFlush()
#15 0x5635174da110 _ZN3IPC8MessageTI35GpuCommandBufferMsg_AsyncFlush_MetaSt5tupleIJijSt6vectorIN2ui11LatencyInfoESaIS5_EEEEvE8DispatchIN3gpu20GpuCommandBufferStubESC_vMSC_FvijRKS7_EEEbPKNS_7MessageEPT_PT0_PT1_T2_
#16 0x5635174d8705 gpu::GpuCommandBufferStub::OnMessageReceived()
#17 0x56351735d019 IPC::MessageRouter::RouteMessage()
#18 0x5635174d463c gpu::GpuChannel::HandleMessageHelper()
#19 0x5635174d43f2 gpu::GpuChannel::HandleMessage()
#20 0x563513cd4196 base::debug::TaskAnnotator::RunTask()
#21 0x563513c5e0ad base::MessageLoop::RunTask()
#22 0x563513c5e3b8 base::MessageLoop::DeferOrRunPendingTask()
#23 0x563513c5e6eb base::MessageLoop::DoWork()
#24 0x563513c603ba base::(anonymous namespace)::WorkSourceDispatch()
#25 0x7f9e1c4fc127 g_main_context_dispatch
#26 0x7f9e1c4fc380 <unknown>
#27 0x7f9e1c4fc42c g_main_context_iteration
#28 0x563513c60196 base::MessagePumpGlib::Run()
#29 0x563513c5dd91 base::MessageLoop::RunHandler()
#30 0x563513c7f960 base::RunLoop::Run()
#31 0x563515a801dc content::GpuMain()
#32 0x563513845b9e content::RunNamedProcessTypeMain()
#33 0x5635138465fb content::ContentMainRunnerImpl::Run()
#34 0x563513844fc0 content::ContentMain()
#35 0x56351229f55d ChromeMain
#36 0x7f9e16ef1830 __libc_start_main
#37 0x56351229f431 <unknown>
  r8: 00007f9e17296770  r9: 00007f9e1d903a80 r10: 0000000000000016 r11: 00007f9e1d7bfae0
 r12: 00000be1b0ef5b00 r13: 00007ffecb24d920 r14: 00007ffecb24d948 r15: 00000be1b17d9500
  di: 00000be1b0bde128  si: 00000be1b0caa000  bp: 00000be1b17d9400  bx: 00000be1b17d9504
  dx: 0000000000000caa  ax: 0000000000001fcc  cx: 0000000000000034  sp: 00007ffecb24d7b0
  ip: 00007f9e102feb13 efl: 0000000000010206 cgf: 0000000000000033 erf: 0000000000000000
 trp: 0000000000000006 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
[13924:13924:1019/101214:ERROR:gpu_process_transport_factory.cc(845)] Lost UI shared context.
[13924:13924:1019/101214:INFO:CONSOLE(288)] "WebGL: INVALID_OPERATION: renderbufferStorageMultisample: samples out of range", source: http://127.0.0.1:44172/third_party/webgl/src/sdk/tests/conformance2/rendering/blitframebuffer-test.html?webglVersion=2 (288)
[13924:13924:1019/101214:INFO:CONSOLE(11)] "Framebuffer incomplete.", source:  (11)
[13924:13924:1019/101214:INFO:CONSOLE(11)] "FAIL Framebuffer incomplete.", source:  (11)
[13924:13924:1019/101214:INFO:CONSOLE(0)] "[.Offscreen-For-WebGL-0x38b943a91a00]GL ERROR :GL_INVALID_OPERATION : glBlitFramebufferCHROMIUM: source buffer and destination buffers are identical", source: http://127.0.0.1:44172/third_party/webgl/src/sdk/tests/conformance2/rendering/blitframebuffer-test.html?webglVersion=2 (0)
[13924:13924:1019/101214:INFO:CONSOLE(0)] "[.Offscreen-For-WebGL-0x38b943a91a00]GL ERROR :GL_INVALID_OPERATION : glBlitFramebufferCHROMIUM: source buffer and destination buffers are identical", source: http://127.0.0.1:44172/third_party/webgl/src/sdk/tests/conformance2/rendering/blitframebuffer-test.html?webglVersion=2 (0)
[13924:13924:1019/101214:INFO:CONSOLE(0)] "[.Offscreen-For-WebGL-0x38b943a91a00]GL ERROR :GL_INVALID_OPERATION : glBlitFramebufferCHROMIUM: source buffer and destination buffers are identical", source: http://127.0.0.1:44172/third_party/webgl/src/sdk/tests/conformance2/rendering/blitframebuffer-test.html?webglVersion=2 (0)
[13924:13924:1019/101214:INFO:CONSOLE(0)] "[.Offscreen-For-WebGL-0x38b943a91a00]GL ERROR :GL_INVALID_OPERATION : glBlitFramebufferCHROMIUM: source buffer and destination buffers are identical", source: http://127.0.0.1:44172/third_party/webgl/src/sdk/tests/conformance2/rendering/blitframebuffer-test.html?webglVersion=2 (0)
[13924:13924:1019/101214:INFO:CONSOLE(0)] "[.Offscreen-For-WebGL-0x38b943a91a00]GL ERROR :GL_INVALID_OPERATION : glBlitFramebufferCHROMIUM: source buffer and destination buffers are identical", source: http://127.0.0.1:44172/third_party/webgl/src/sdk/tests/conformance2/rendering/blitframebuffer-test.html?webglVersion=2 (0)
[13924:13924:1019/101214:INFO:CONSOLE(0)] "[.Offscreen-For-WebGL-0x38b943a91a00]GL ERROR :GL_INVALID_OPERATION : glBlitFramebufferCHROMIUM: source buffer and destination buffers are identical", source: http://127.0.0.1:44172/third_party/webgl/src/sdk/tests/conformance2/rendering/blitframebuffer-test.html?webglVersion=2 (0)
[13924:13924:1019/101214:INFO:CONSOLE(0)] "WebGL: CONTEXT_LOST_WEBGL: loseContext: context lost", source: http://127.0.0.1:44172/third_party/webgl/src/sdk/tests/conformance2/rendering/blitframebuffer-test.html?webglVersion=2 (0)

Traceback (most recent call last):
  _RunGpuTest at content/test/gpu/gpu_tests/gpu_integration_test.py:78
    self.RunActualGpuTest(url, *args)
  RunActualGpuTest at content/test/gpu/gpu_tests/webgl_conformance_integration_test.py:196
    getattr(self, test_name)(test_path, *args[1:])
  _RunConformanceTest at content/test/gpu/gpu_tests/webgl_conformance_integration_test.py:210
    self._CheckTestCompletion()
  _CheckTestCompletion at content/test/gpu/gpu_tests/webgl_conformance_integration_test.py:206
    self.fail(self._WebGLTestMessages(self.tab))
  fail at /usr/lib/python2.7/unittest/case.py:410
    raise self.failureException(msg)
AssertionError: Framebuffer incomplete.
FAIL Framebuffer incomplete.

Locals:
  msg : u'Framebuffer incomplete.\nFAIL Framebuffer incomplete.\n'

 
Project Member

Comment 1 by bugdroid1@chromium.org, Oct 25 2016

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

commit b73b48dee7cd47c37f8ff58a3c4461b28554c54c
Author: ynovikov <ynovikov@chromium.org>
Date: Tue Oct 25 01:35:32 2016

Suppress WebGL 2 conformance failures on Linux bots.

BUG= 655147 ,  658832 , 658842, 658844,  658898 
CQ_INCLUDE_TRYBOTS=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;master.tryserver.chromium.android:android_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2445973002
Cr-Commit-Position: refs/heads/master@{#427220}

[modify] https://crrev.com/b73b48dee7cd47c37f8ff58a3c4461b28554c54c/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py

Thanks for the report, I think I know why this is happening but I don't have access to a Linux Intel box for a couple weeks. Will fix then.
Cc: kbr@chromium.org zmo@chromium.org yang...@intel.com yunchao...@intel.com

Comment 4 by enne@chromium.org, Nov 9 2016

cwallez: Have you been able to figure out what's happening here?
Thanks for the reminder, I came back to Montreal today and will look at it.
Project Member

Comment 6 by bugdroid1@chromium.org, Nov 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/6898b35826476b9c841897b34190ef448a897e8e

commit 6898b35826476b9c841897b34190ef448a897e8e
Author: Corentin Wallez <cwallez@chromium.org>
Date: Thu Nov 10 16:41:15 2016

FramebufferGL: Fix blit workaround corner case

The SRGB blit workaround had to wrong assumptions:
 - SRGB blits can have a multisample source.
 - The woarkound is needed even when the filter is GL_LINEAR in the
   case where we are doing a RGB -> SRGB or RGB -> SRGB blit.

BUG=angleproject:1492
BUG= chromium:658898 

Change-Id: I1d89572565a4e23c1c97bdf985bb21a445e898b7
Reviewed-on: https://chromium-review.googlesource.com/409540
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>

[modify] https://crrev.com/6898b35826476b9c841897b34190ef448a897e8e/src/libANGLE/renderer/gl/FramebufferGL.cpp

Project Member

Comment 7 by bugdroid1@chromium.org, Nov 14 2016

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

commit c22bae95d9d3afc83ab83faec39227a09fe47fda
Author: cwallez <cwallez@chromium.org>
Date: Mon Nov 14 19:14:39 2016

WebGL CTS: remove now passing expectations.

Most of them come from implementing a work around for blits on Intel.

BUG= chromium:483282 
BUG= chromium:598902 
BUG= chromium:634525 
BUG= chromium:655147 
BUG= chromium:658898 
BUG= chromium:658832 
BUG= chromium:664180 
TBR=zmo@chromium.org
CQ_INCLUDE_TRYBOTS=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;master.tryserver.chromium.android:android_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2501543003
Cr-Commit-Position: refs/heads/master@{#431891}

[modify] https://crrev.com/c22bae95d9d3afc83ab83faec39227a09fe47fda/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py

Status: Fixed (was: Assigned)
This should be fixed now.
Project Member

Comment 9 by bugdroid1@chromium.org, Nov 14 2016

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

commit ae472b3e687a3caf68c09c8efb10e3ecc04042fb
Author: jmadill <jmadill@chromium.org>
Date: Mon Nov 14 23:15:27 2016

Roll ANGLE d749096..9863a3e

https://chromium.googlesource.com/angle/angle.git/+log/d749096..9863a3e

BUG= chromium:658898 , 661413 

TBR=geofflang@chromium.org

TEST=bots

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2500073003
Cr-Commit-Position: refs/heads/master@{#431955}

[modify] https://crrev.com/ae472b3e687a3caf68c09c8efb10e3ecc04042fb/DEPS

Sign in to add a comment