New issue
Advanced search Search tips

Issue 754164 link

Starred by 1 user

Issue metadata

Status: Duplicate
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug



Sign in to add a comment

Chrome: Crash Report - [GPU hang] ANGLE: sw::optimize

Project Member Reported by cr...@system.gserviceaccount.com, Aug 10 2017

Issue description

reporter:jmukthavaram@google.com

crash_analysis_section:start
crash_analysis_section:end

Magic Signature: [GPU hang] ANGLE: sw::optimize

Crash link: https://crash.corp.google.com/browse?q=product.name%3D'Chrome'%20AND%20product.version%3D'62.0.3180.0'%20AND%20custom_data.ChromeCrashProto.channel%3D'canary'%20AND%20custom_data.ChromeCrashProto.ptype%3D'gpu-process'%20AND%20custom_data.ChromeCrashProto.magic_signature_1.name%3D'%5BGPU%20hang%5D%20ANGLE%3A%20sw%3A%3Aoptimize'%20AND%20ReportID%3D'5129e0a41e776bd8'&ignore_case=false&enable_rewrite=true&omit_field_name=&omit_field_value=&omit_field_opt=%3D#3

-------------------------------------------------------------------------------
Sample Report
-------------------------------------------------------------------------------
Product name: Chrome
Magic Signature : [GPU hang] ANGLE: sw::optimize
Product Version: 62.0.3180.0
Report ID: 5129e0a41e776bd8
Report Url: https://crash.corp.google.com/5129e0a41e776bd8
Report Time: 2017-08-09T17:25:50-07:00
Upload Time: 2017-08-09T17:26:05.603-07:00
Uptime: 4563000 ms
CumulativeProductUptime: 0 ms
OS Name: Windows NT
OS Version: 6.1.7601 18409
CPU Architecture: x86
CPU Info: GenuineIntel family 6 model 22 stepping 1

-------------------------------------------------------------------------------
Crashing thread: Thread index: 0. Stack Quality: 82%. Thread id: 3628.
-------------------------------------------------------------------------------
0x56178eb4 (libglesv2.dll - Optimizer.cpp: 622)	sw::optimize(Ice::Cfg *)
0x5617a379 (libglesv2.dll - SubzeroReactor.cpp: 583)	sw::Nucleus::acquireRoutine(wchar_t const *,bool)
0x5629e11f (libglesv2.dll - Reactor.hpp: 2719)	sw::Function<sw::Void (sw::Pointer<sw::Byte>, sw::Pointer<sw::Byte>, sw::Pointer<sw::Byte>)>::operator()
0x56196cfd (libglesv2.dll - PixelProcessor.cpp: 1179)	sw::PixelProcessor::routine(sw::PixelProcessor::State const &)
0x5619b221 (libglesv2.dll - Renderer.cpp: 248)	sw::Renderer::draw(sw::DrawType,unsigned int,unsigned int,bool)
0x5612af8e (libglesv2.dll - Device.cpp: 338)	es2::Device::drawPrimitive(sw::DrawType,unsigned int)
0x561264c7 (libglesv2.dll - Context.cpp: 3456)	es2::Context::drawArrays(unsigned int,int,int,int)
0x5613e528 (libglesv2.dll - libGLESv2.cpp: 1568)	es2::DrawArrays(unsigned int,int,int)
0x56149371 (libglesv2.dll - main.cpp: 602)	glDrawArrays
0x592aa079 (chrome_child.dll - gles2_cmd_decoder.cc: 10308)	gpu::gles2::GLES2DecoderImpl::DoDrawArrays(char const *,bool,unsigned int,int,int,int)
0x59288078 (chrome_child.dll - gles2_cmd_decoder.cc: 10334)	gpu::gles2::GLES2DecoderImpl::HandleDrawArrays(unsigned int,void const volatile *)
0x592a0198 (chrome_child.dll - gles2_cmd_decoder.cc: 5310)	gpu::gles2::GLES2DecoderImpl::DoCommandsImpl<0>(unsigned int,void const volatile *,int,int *)
0x5929fbe2 (chrome_child.dll - gles2_cmd_decoder.cc: 5361)	gpu::gles2::GLES2DecoderImpl::DoCommands(unsigned int,void const volatile *,int,int *)
0x59285a37 (chrome_child.dll - command_buffer_service.cc: 90)	gpu::CommandBufferService::Flush(int,gpu::AsyncAPIInterface *)
0x5937a3c6 (chrome_child.dll - gpu_command_buffer_stub.cc: 987)	gpu::GpuCommandBufferStub::OnAsyncFlush(int,unsigned int,std::vector<ui::LatencyInfo,std::allocator<ui::LatencyInfo> > const &,std::vector<gpu::SyncToken,std::allocator<gpu::SyncToken> > const &)
0x5937a232 (chrome_child.dll - ipc_message_templates.h: 120)	IPC::MessageT<GpuCommandBufferMsg_AsyncFlush_Meta, std::tuple<int, unsigned int, std::vector<ui::LatencyInfo, std::allocator<ui::LatencyInfo> >, std::vector<gpu::SyncToken, std::allocator<gpu::SyncToken> > >, void>::Dispatch<gpu::GpuCommandBufferStub,gpu::GpuCommandBufferStub,void,void (gpu::GpuCommandBufferStub::*)(int, unsigned int, const std::vector<ui::LatencyInfo,std::allocator<ui::LatencyInfo> > &, const std::vector<gpu::SyncToken,std::allocator<gpu::SyncToken> > &) __attribute__((thiscall))>
0x593795f9 (chrome_child.dll - gpu_command_buffer_stub.cc: 307)	gpu::GpuCommandBufferStub::OnMessageReceived(IPC::Message const &)
0x571c3104 (chrome_child.dll - message_router.cc: 56)	IPC::MessageRouter::RouteMessage(IPC::Message const &)
0x593769e4 (chrome_child.dll - gpu_channel.cc: 1004)	gpu::GpuChannel::HandleMessageHelper(IPC::Message const &)
0x59372f6a (chrome_child.dll - gpu_channel.cc: 979)	gpu::GpuChannel::HandleMessageOnQueue()
0x57136715 (chrome_child.dll - task_annotator.cc: 57)	base::debug::TaskAnnotator::RunTask(char const *,base::PendingTask *)
0x57135fba (chrome_child.dll - message_loop.cc: 410)	base::MessageLoop::RunTask(base::PendingTask *)
0x57fe2223 (chrome_child.dll - message_loop.cc: 421)	base::MessageLoop::DeferOrRunPendingTask(base::PendingTask)
0x5712fc64 (chrome_child.dll - message_loop.cc: 528)	base::MessageLoop::DoWork()
0x5712fb06 (chrome_child.dll - message_pump_default.cc: 33)	base::MessagePumpDefault::Run(base::MessagePump::Delegate *)
0x5712fa70 (chrome_child.dll - message_loop.cc: 350)	base::MessageLoop::Run()
0x5712f6e4 (chrome_child.dll - run_loop.cc: 123)	base::RunLoop::Run()
0x58e09948 (chrome_child.dll - gpu_main.cc: 301)	content::GpuMain(content::MainFunctionParams const &)
0x5711f54e (chrome_child.dll - content_main_runner.cc: 408)	content::RunNamedProcessTypeMain(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,content::MainFunctionParams const &,content::ContentMainDelegate *)
0x57119329 (chrome_child.dll - content_main_runner.cc: 690)	content::ContentMainRunnerImpl::Run()
0x570f52f2 (chrome_child.dll - main.cc: 469)	service_manager::Main(service_manager::MainParams const &)
0x570f4fcf (chrome_child.dll - content_main.cc: 19)	content::ContentMain(content::ContentMainParams const &)
0x570f1f57 (chrome_child.dll - chrome_main.cc: 122)	ChromeMain
0x00ab35a2 (chrome.exe - main_dll_loader_win.cc: 199)	MainDllLoader::Launch(HINSTANCE__ *,base::TimeTicks)
0x00ab1518 (chrome.exe - chrome_exe_main_win.cc: 275)	wWinMain
0x00b643a7 (chrome.exe - exe_common.inl: 253)	__scrt_common_main_seh
0x7617ee1b (kernel32.dll + 0x0004ee1b)	BaseThreadInitThunk
0x76f137ea (ntdll.dll + 0x000637ea)	__RtlUserThreadStart
0x76f137bd (ntdll.dll + 0x000637bd)	_RtlUserThreadStart

 
Cc: ajha@chromium.org
Components: Internals>GPU
Labels: -Type-Bug -Pri-2 TE-Reported M-62 Pri-1 Type-Bug-Regression
Owner: capn@chromium.org
Status: Assigned (was: Untriaged)
1.This is GPU Process crash seen on latest Canary-62.0.3180.0 & seeing 4 instances from 4 clients so far.
2.This crash started from M59 & inconsistently seen till M62
3.This crash is seen only on Windows OS

Link to the list of builds:
---------------------------
https://crash.corp.google.com/browse?q=product.name%3D%27Chrome%27%20AND%20custom_data.ChromeCrashProto.ptype%3D%27gpu-process%27%20AND%20custom_data.ChromeCrashProto.magic_signature_1.name%3D%27%5BGPU%20hang%5D%20ANGLE%3A%20sw%3A%3Aoptimize%27&ignore_case=false&enable_rewrite=true&omit_field_name=&omit_field_value=&omit_field_opt=%3D#samplereports:5,productversion:1000,+author

As per the recent changes from source & through code search for the file 'Optimizer.cpp' suspecting Nicolas Capens@ for further investigation.

Suspected CL:
-------------
https://swiftshader.googlesource.com/SwiftShader.git/+/8772202b4bf74c5e8e00da32edc74e147d439f49%5E%21/

Nicolas Capens@,Could you please take a look & reassign to the respective owner if it is not related to your change.

Thanks..!!

Comment 2 by capn@chromium.org, Aug 10 2017

Labels: -Pri-1 -Stability-Crash -Restrict-View-EditIssue -Type-Bug-Regression Stability-Hang Pri-3 Type-Bug
Mergedinto: 736213
Status: Duplicate (was: Assigned)
The GPU process watchdog deliberately crashes the process when it think it's hanging. In this case, our shader compiler just takes a while. There are known inefficiencies which we could address, but there's always going to be cases which take longer than allowed to avoid DOS attacks (which is why we have the watchdog).

Dupe of Issue 736213, but with stack trace working now (yay).

Sign in to add a comment