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

Issue 784849 link

Starred by 2 users

Issue metadata

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



Sign in to add a comment

Win WebGL 2 NVIDIA failing with ANGLE/OpenGL - canvas_sub_rectangle_tex_2d_rg16f_rg_half_float - context lost during MakeCurrent

Project Member Reported by jmad...@chromium.org, Nov 14 2017

Issue description

First failing build on the FYI bots:

https://ci.chromium.org/buildbot/chromium.gpu.fyi/Win7%20Release%20%28NVIDIA%29/32112

Also failing on ANGLE's CQ:

https://ci.chromium.org/buildbot/tryserver.chromium.angle/win_angle_rel_ng/7878

Failing test:

webgl2_conformance_gl_tests on NVIDIA GPU on Windows
 gpu_tests.webgl_conformance_integration_test.WebGLConformanceIntegrationTest.WebglConformance_conformance2_textures_canvas_sub_rectangle_tex_2d_rg16f_rg_half_float

Error text:

[4120:4236:1114/005525.880:ERROR:gles2_cmd_decoder.cc(4443)]   GLES2DecoderImpl: Context lost during MakeCurrent.
[4120:4236:1114/005525.880:ERROR:gpu_command_buffer_stub.cc(487)] Context lost because MakeCurrent failed.
[4120:4236:1114/005525.880:ERROR:gpu_channel_manager.cc(200)] Exiting GPU process because some drivers cannot recover from problems.
[4120:4236:1114/005525.880:ERROR:gpu_channel_manager.cc(200)] Exiting GPU process because some drivers cannot recover from problems.
[4120:4236:1114/005525.900:ERROR:gl_context_egl.cc(207)] eglDestroyContext failed with error EGL_CONTEXT_LOST
[4120:4236:1114/005525.900:FATAL:gl_context_egl.cc(279)] Check failed: !native_context_is_current || (GetRealCurrent() == this). 
Backtrace:
	base::debug::StackTrace::StackTrace [0x67126750+32]
	base::debug::StackTrace::StackTrace [0x6711D89D+13]
	logging::LogMessage::~LogMessage [0x670A183E+78]
	gl::GLContextEGL::IsCurrent [0x67C5909A+168]
	gl::GLContextEGL::MakeCurrent [0x67C58D2D+97]
	gpu::GpuCommandBufferStub::Destroy [0x68D67E9C+296]
	gpu::GpuCommandBufferStub::~GpuCommandBufferStub [0x68D6D135+71]
	gpu::GpuCommandBufferStub::`scalar deleting destructor' [0x68D6CB85+11]
	gpu::GpuChannel::~GpuChannel [0x68D67B4A+52]
	gpu::GpuChannel::`scalar deleting destructor' [0x68D66F97+11]
<snip>

Possibly related to WebGL roll in regression range:

https://chromium-review.googlesource.com/764818

Geoff can you suppress this test and/or investigate? It fails always. Marking Pri-1 since this is slowing down the ANGLE CQ by retrying the WebGL 2.0 tests always.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 14 2017

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

commit c7f96e573469b96e9611683a3474e412a40f761d
Author: Geoff Lang <geofflang@chromium.org>
Date: Tue Nov 14 18:06:27 2017

Mark WebGL2 canvas_sub_rectangle/tex-2d-rg16f-rg-float failing on Windows/OpenGL.

BUG=784849

TBR=zmo@chromium.org
NOTRY=true

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: Ic6316db156c1b68daf84ec804094a510ed6bab46
Reviewed-on: https://chromium-review.googlesource.com/769227
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#516356}
[modify] https://crrev.com/c7f96e573469b96e9611683a3474e412a40f761d/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py

Suppressed the failure, lowering priority. Will investigate later once I'm back in the office.
 Issue 784989  has been merged into this issue.
WebglConformance_conformance2_textures_canvas_sub_rectangle_tex_2d_r8_red_unsigned_byte
WebglConformance_conformance2_textures_canvas_sub_rectangle_tex_2d_rg16f_rg_half_float
also fail here:
https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28NVIDIA%29/builds/32118

Going to add them to suppression list.
Actually, CL in #1 suppressed tex-2d-rg16f-rg-float.html, so going to unsuppress it - I don't see it failing, and going to suppress tex_2d_rg16f_rg_half_float instead.
Could this be related to a recent CL handling the half float define?
WebglConformance_conformance2_textures_canvas_sub_rectangle_tex_2d_rg16f_rg_half_float fails a DCHECK:
[4324:1156:1114/115822.235:FATAL:gpu_memory_manager.cc(40)] Check failed: !bytes_allocated_current_. 
Backtrace:
	base::debug::StackTrace::StackTrace [0x6707A500+32]
	base::debug::StackTrace::StackTrace [0x6707168D+13]
	logging::LogMessage::~LogMessage [0x66FF612E+78]
	gpu::GpuMemoryManager::~GpuMemoryManager [0x68CB7204+132]
	gpu::GpuChannelManager::~GpuChannelManager [0x68CB66D0+228]
	viz::GpuServiceImpl::~GpuServiceImpl [0x67DF3107+503]
	viz::GpuServiceImpl::`scalar deleting destructor' [0x67DEE97B+11]
	viz::VizMainImpl::~VizMainImpl [0x6655831D+313]
	content::GpuChildThread::~GpuChildThread [0x6862C786+236]
	content::GpuChildThread::`scalar deleting destructor' [0x6862CFCD+11]
	content::ChildProcess::~ChildProcess [0x67F95E2A+172]
	content::GpuMain [0x6862BB2B+911]
	content::RunNamedProcessTypeMain [0x66FE9F26+266]
	content::ContentMainRunnerImpl::Run [0x66FEA48E+278]
	service_manager::Main [0x66FEFE67+675]
	content::ContentMain [0x66FE9DF5+49]
	ChromeMain [0x660C1120+288]
	MainDllLoader::Launch [0x002E5258+558]
	wWinMain [0x002E154F+1359]
	__scrt_common_main_seh [0x003C4058+246] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283)
	BaseThreadInitThunk [0x7638338A+18]
	RtlInitializeExceptionChain [0x77BE9902+99]
	RtlInitializeExceptionChain [0x77BE98D5+54]

WebglConformance_conformance2_textures_canvas_sub_rectangle_tex_2d_r8_red_unsigned_byte crashes:
Received fatal exception EXCEPTION_ACCESS_VIOLATION
Backtrace:
	(No symbol) [0x63BB856F]
	(No symbol) [0x63070FD9]
	(No symbol) [0x63CB7939]
	(No symbol) [0x63CB087D]
	gpu::gles2::GLES2DecoderImpl::DoDrawElements [0x68D1E520+1036]
	gpu::gles2::GLES2DecoderImpl::HandleDrawElements [0x68CF774C+32]
	gpu::gles2::GLES2DecoderImpl::DoCommandsImpl<0> [0x68D12506+286]
	gpu::gles2::GLES2DecoderImpl::DoCommands [0x68D11E59+33]
	gpu::CommandBufferService::Flush [0x68CF48ED+353]
	gpu::GpuCommandBufferStub::OnAsyncFlush [0x68E1C3B5+307]
	IPC::MessageT<GpuCommandBufferMsg_AsyncFlush_Meta,std::tuple<int,unsigned int,std::vector<ui::LatencyInfo,std::allocator<ui::LatencyInfo> > >,void>::Dispatch<gpu::GpuCommandBufferStub,gpu::GpuCommandBufferStub,void,void (__thiscall gpu::GpuCommandBufferSt [0x68E1C1D0+102]
	gpu::GpuCommandBufferStub::OnMessageReceived [0x68E1B2B2+1234]
	gpu::GpuChannel::HandleMessageHelper [0x68E19931+45]
	gpu::GpuChannel::HandleMessage [0x68E186B4+278]
	base::internal::Invoker<base::internal::BindState<void (__thiscall content::ResourceSchedulingFilter::*)(IPC::Message const &),base::WeakPtr<content::ResourceSchedulingFilter>,IPC::Message>,void __cdecl(void)>::RunOnce [0x68E1A267+57]
	base::RepeatingCallback<void __cdecl(void)>::Run [0x662E3A27+41]
	gpu::Scheduler::RunNextTask [0x68D3459F+825]
	base::debug::TaskAnnotator::RunTask [0x671D45B5+229]
	base::internal::IncomingTaskQueue::RunTask [0x671F140A+106]
	base::MessageLoop::RunTask [0x67188AC9+457]
	base::MessageLoop::DeferOrRunPendingTask [0x67188DF4+164]
	base::MessageLoop::DoWork [0x67189028+504]
	base::MessagePumpDefault::Run [0x671F4B31+177]
	base::MessageLoop::Run [0x671884B7+167]
	base::RunLoop::Run [0x6717EDE9+201]
	content::GpuMain [0x6878BAFB+863]
	content::RunNamedProcessTypeMain [0x67149F26+266]
	content::ContentMainRunnerImpl::Run [0x6714A48E+278]
	service_manager::Main [0x6714FE67+675]
	content::ContentMain [0x67149DF5+49]
	ChromeMain [0x66221120+288]
	MainDllLoader::Launch [0x00DE5258+558]
	wWinMain [0x00DE154F+1359]
	__scrt_common_main_seh [0x00EC4058+246] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283)
	BaseThreadInitThunk [0x75A5336A+18]
	RtlInitializeExceptionChain [0x77CF9902+99]
	RtlInitializeExceptionChain [0x77CF98D5+54]

Comment 7 by kbr@chromium.org, Nov 14 2017

Argh, sorry I didn't see that during the WebGL conformance roll.

Should we add ANGLE's tryservers to CQ_INCLUDE_TRYBOTS during these rolls? There would be some redundancy but at least it would prevent breakage like this. Or perhaps should we de-duplicate ANGLE's tryservers first a little bit?

Let me de-duplicate the 32/64 bit configs. After that, I think it would be appreciated by the ANGLE team to add our main configs to the WebGL rolls.
Project Member

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

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

commit f460d814f52912754487bc2064e9e30e122fbf59
Author: Yuly Novikov <ynovikov@chromium.org>
Date: Wed Nov 15 01:42:57 2017

Update WebGL2 CTS expectations on Win NVIDIA OpenGL

Remove Fail expectation for
conformance2/textures/canvas_sub_rectangle/tex-2d-rg16f-rg-float.html
Add Fail expectations for
conformance2/textures/canvas_sub_rectangle/tex-2d-rg16f-rg-half_float.html
conformance2/textures/canvas_sub_rectangle/tex-2d-r8-red-unsigned_byte.html

BUG=784849
TBR=zmo@chromium.org

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: I3e55c4b5b75906191e5cc2b10fc5828821812f59
Reviewed-on: https://chromium-review.googlesource.com/769828
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#516551}
[modify] https://crrev.com/f460d814f52912754487bc2064e9e30e122fbf59/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py

Labels: -Pri-1 Pri-2
Lowering priority now that suppressions are landed.

Sign in to add a comment