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

Issue 825413 link

Starred by 4 users

Issue metadata

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

Blocked on:
issue 825416



Sign in to add a comment

Intermittent crash in GLContextEGL::MakeCurrent during browser shutdown

Project Member Reported by kbr@chromium.org, Mar 23 2018

Issue description

In this tryjob:
https://ci.chromium.org/buildbot/tryserver.chromium.win/win_optional_gpu_tests_rel/22756

from this Skia roll:
https://chromium-review.googlesource.com/c/chromium/src/+/978832/1

the test WebglConformance_conformance_glsl_variables_gl_frontfacing failed flakily in "webgl_conformance_d3d9_passthrough_tests on NVIDIA GPU on Windows (with patch) on Windows-10".

The error log is as follows:

[7840:1452:0323/142904.634:ERROR:gles2_cmd_decoder_passthrough.cc(1092)]   GLES2DecoderPassthroughImpl: Context lost during MakeCurrent.
[7840:1452:0323/142904.634:ERROR:command_buffer_stub.cc(442)] Context lost because MakeCurrent failed.
[7840:1452:0323/142904.634:ERROR:gpu_channel_manager.cc(206)] Exiting GPU process because some drivers cannot recover from problems.
[7840:1452:0323/142904.634:ERROR:gpu_channel_manager.cc(206)] Exiting GPU process because some drivers cannot recover from problems.
[7840:1452:0323/142904.634:ERROR:gl_context_egl.cc(209)] eglDestroyContext failed with error EGL_CONTEXT_LOST
[7840:1452:0323/142904.634:ERROR:gl_surface_egl.cc(1057)] eglDestroySurface failed with error EGL_CONTEXT_LOST
[7840:1452:0323/142904.635:ERROR:gl_context_egl.cc(209)] eglDestroyContext failed with error EGL_CONTEXT_LOST
[7840:1452:0323/142904.635:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1
[7840:1452:0323/142904.635:ERROR:gl_context_egl.cc(209)] eglDestroyContext failed with error EGL_CONTEXT_LOST
[7840:1452:0323/142904.635:ERROR:gl_context_egl.cc(209)] eglDestroyContext failed with error EGL_CONTEXT_LOST
[7840:1452:0323/142904.635:ERROR:gl_context_egl.cc(209)] eglDestroyContext failed with error EGL_CONTEXT_LOST
[7084:2448:0323/142904.635:INFO:CONSOLE(197)] "should be 255,0,0
at (2, 2) expected: 255,0,0 was 0,0,0", source:  (197)
[7840:1452:0323/142904.636:ERROR:gl_context_egl.cc(209)] eglDestroyContext failed with error EGL_CONTEXT_LOST
[7084:2448:0323/142904.636:INFO:CONSOLE(197)] "FAIL should be 255,0,0
at (2, 2) expected: 255,0,0 was 0,0,0", source:  (197)
[7840:1452:0323/142904.636:FATAL:gl_context_egl.cc(281)] Check failed: !native_context_is_current || (GetRealCurrent() == this). 
Backtrace:
	base::debug::StackTrace::StackTrace [0x6C100A90+32]
	base::debug::StackTrace::StackTrace [0x6C0EF28D+13]
	logging::LogMessage::~LogMessage [0x6C07F3D3+83]
	gl::GLContextEGL::IsCurrent [0x6CB06C36+170]
	gl::GLContextEGL::MakeCurrent [0x6CB068D1+99]
	gpu::CommandBufferStub::Destroy [0x6DD5E139+261]
	gpu::CommandBufferStub::~CommandBufferStub [0x6DD5DF2E+64]
	gpu::GLES2CommandBufferStub::`scalar deleting destructor' [0x6DD63F37+11]
	gpu::GpuChannel::~GpuChannel [0x6DD5DBF2+52]
	gpu::GpuChannel::`scalar deleting destructor' [0x6DD5CFD3+11]
	std::list<std::pair<int const ,std::unique_ptr<gpu::GpuChannel,std::default_delete<gpu::GpuChannel> > >,std::allocator<std::pair<int const ,std::unique_ptr<gpu::GpuChannel,std::default_delete<gpu::GpuChannel> > > > >::clear [0x6CF4976E+46]
	std::_Hash<std::_Umap_traits<int,std::unique_ptr<gpu::GpuChannel,std::default_delete<gpu::GpuChannel> >,std::_Uhash_compare<int,std::hash<int>,std::equal_to<int> >,std::allocator<std::pair<int const ,std::unique_ptr<gpu::GpuChannel,std::default_delete<gpu [0x6DD5963E+28]
	gpu::GpuChannelManager::~GpuChannelManager [0x6DD594DD+13]
	viz::GpuServiceImpl::~GpuServiceImpl [0x6CED2B2E+686]
	viz::GpuServiceImpl::`scalar deleting destructor' [0x6CECE32B+11]
	viz::VizMainImpl::~VizMainImpl [0x6B532AD2+504]
	content::GpuChildThread::~GpuChildThread [0x6D802ACA+238]
	content::GpuChildThread::`scalar deleting destructor' [0x6D803357+11]
	content::ChildProcess::~ChildProcess [0x6D0BBE8D+179]
	content::GpuMain [0x6D8020C7+967]
	content::RunNamedProcessTypeMain [0x6C072CF8+268]
	content::ContentMainRunnerImpl::Run [0x6C073231+279]
	service_manager::Main [0x6C079089+677]
	content::ContentMain [0x6C072BC3+51]
	ChromeMain [0x6ADA111E+286]
	MainDllLoader::Launch [0x011154B2+560]
	wWinMain [0x01111543+1347]
	__scrt_common_main_seh [0x011F49D8+246] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283)
	BaseThreadInitThunk [0x75D28654+36]
	RtlGetAppContainerNamedObjectPath [0x77CE4A77+311]
	RtlGetAppContainerNamedObjectPath [0x77CE4A47+263]


It's not clear what the first error was which triggered these cascading failures. It looks like one call to eglMakeCurrent probably failed, the GPU process was torn down in response, and the GLSurface had already been torn down somehow.

This is mainly just a bug sighting. It looks like this test is a bit flaky and that one of the failures caused this crash during browser shutdown.

 

Comment 1 by kbr@chromium.org, Mar 23 2018

Blockedon: 825416

Sign in to add a comment