New issue
Advanced search Search tips

Issue 830690 link

Starred by 1 user

Issue metadata

Status: Duplicate
Owner: ----
Closed: Apr 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

Hang in CommandBufferProxyImpl::WaitForGetOffsetInRange

Project Member Reported by bauerb@chromium.org, Apr 9 2018

Issue description

I just encountered the following hang:
Call graph:
    1574 Thread_16426726   DispatchQueue_1: com.apple.main-thread  (serial)
    + 1574 start  (in libdyld.dylib) + 1  [0x7fff59813115]
    +   1574 main  (in Google Chrome) + 404  [chrome_exe_main_mac.cc:169]
    +     1574 ChromeMain  (in Google Chrome Framework) + 186  [chrome_main.cc:0]
    +       1574 content::ContentMain(content::ContentMainParams const&)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x19c5344  [content_main.cc:19]
    +         1574 service_manager::Main(service_manager::MainParams const&)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x32dc01b  [main.cc:456]
    +           1574 content::ContentMainRunnerImpl::Run()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x19c5e00  [content_main_runner.cc:717]
    +             1574 content::BrowserMain(content::MainFunctionParams const&)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x78015c  [browser_main.cc:46]
    +               1574 content::BrowserMainRunnerImpl::Run()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x786532  [memory:2564]
    +                 1574 content::BrowserMainLoop::RunMainMessageLoopParts()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x783b64  [browser_main_loop.cc:1238]
    +                   1574 ChromeBrowserMainParts::MainMessageLoopRun(int*)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1a12fd8  [chrome_browser_main.cc:1977]
    +                     1574 <name omitted>  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1dfb5e5  [run_loop.cc:136]
    +                       1574 base::MessagePumpCFRunLoopBase::Run(base::MessagePump::Delegate*)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1dd747e  [message_pump_mac.mm:302]
    +                         1574 base::MessagePumpNSApplication::DoRun(base::MessagePump::Delegate*)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1dd88fc  [message_pump_mac.mm:822]
    +                           1574 -[NSApplication run]  (in AppKit) + 764  [0x7fff2f4ebd6d]
    +                             1574 -[BrowserCrApplication nextEventMatchingMask:untilDate:inMode:dequeue:]  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1a0d0e4  [chrome_browser_application_mac.mm:179]
    +                               1574 base::mac::CallWithEHFrame(void () block_pointer)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1dc9afa  []
    +                                 1574 __71-[BrowserCrApplication nextEventMatchingMask:untilDate:inMode:dequeue:]_block_invoke  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1a0d1a0  [chrome_browser_application_mac.mm:174]
    +                                   1574 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:]  (in AppKit) + 3044  [0x7fff2fc8cb4c]
    +                                     1574 _DPSNextEvent  (in AppKit) + 2085  [0x7fff2f4f6f5f]
    +                                       1574 _BlockUntilNextEventMatchingListInModeWithFilter  (in HIToolbox) + 64  [0x7fff3122b914]
    +                                         1574 ReceiveNextEventCommon  (in HIToolbox) + 613  [0x7fff3122bb96]
    +                                           1574 RunCurrentEventLoopInMode  (in HIToolbox) + 286  [0x7fff3122be26]
    +                                             1574 CFRunLoopRunSpecific  (in CoreFoundation) + 483  [0x7fff31f13d23]
    +                                               1574 __CFRunLoopRun  (in CoreFoundation) + 1293  [0x7fff31f144bd]
    +                                                 1574 __CFRunLoopDoSources0  (in CoreFoundation) + 208  [0x7fff31f15040]
    +                                                   1574 __CFRunLoopDoSource0  (in CoreFoundation) + 108  [0x7fff31fec35c]
    +                                                     1574 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__  (in CoreFoundation) + 17  [0x7fff31f325a1]
    +                                                       1574 base::MessagePumpCFRunLoopBase::RunWorkSource(void*)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1dd795f  [message_pump_mac.mm:432]
    +                                                         1574 base::mac::CallWithEHFrame(void () block_pointer)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1dc9afa  []
    +                                                           1574 base::MessagePumpCFRunLoopBase::RunWork()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1dd803a  [message_pump_mac.mm:453]
    +                                                             1574 base::MessageLoop::DoWork()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1dd6219  [message_loop.cc:455]
    +                                                               1574 base::MessageLoop::RunTask(base::PendingTask*)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1dd5d14  [vector:639]
    +                                                                 1574 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1db11cc  [callback_forward.h:11]
    +                                                                   1574 content::(anonymous namespace)::ReleaseSpareCompositors()  (in Google Chrome Framework)  load address 0x10af6d000 + 0xbe71bb  [memory:0]
    +                                                                     1574 content::RecyclableCompositorMac::~RecyclableCompositorMac()  (in Google Chrome Framework)  load address 0x10af6d000 + 0xbe6c4e  [browser_compositor_view_mac.mm:120]
    +                                                                       1574 content::RecyclableCompositorMac::~RecyclableCompositorMac()  (in Google Chrome Framework)  load address 0x10af6d000 + 0xbe6bb6  [memory:2592]
    +                                                                         1574 ui::Compositor::~Compositor()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x3701ae9  [compositor.cc:236]
    +                                                                           1574 cc::LayerTreeHost::~LayerTreeHost()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x2d9b9de  [layer_tree_host.cc:171]
    +                                                                             1574 cc::LayerTreeHost::~LayerTreeHost()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x2d9b3d7  [memory:2592]
    +                                                                               1574 cc::SingleThreadProxy::Stop()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x2de31db  [memory:2592]
    +                                                                                 1574 cc::LayerTreeHostImpl::ReleaseLayerTreeFrameSink()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x2dae67c  [layer_tree_host_impl.cc:2742]
    +                                                                                   1574 cc::LayerTreeResourceProvider::~LayerTreeResourceProvider()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x2d4c42e  [layer_tree_resource_provider.cc:158]
    +                                                                                     1574 cc::LayerTreeResourceProvider::~LayerTreeResourceProvider()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x2d4c30f  [memory:2592]
    +                                                                                       1574 gpu::gles2::GLES2Implementation::FinishHelper()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x2e016f5  [gles2_implementation.cc:1507]
    +                                                                                         1574 gpu::CommandBufferHelper::Finish()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x2f55ef  [cmd_buffer_helper.cc:155]
    +                                                                                           1574 gpu::CommandBufferProxyImpl::WaitForGetOffsetInRange(unsigned int, int, int)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x48dd05  [command_buffer_proxy_impl.cc:715]
    +                                                                                             1574 gpu::GpuChannelHost::Send(IPC::Message*)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x490ad1  [gpu_channel_host.cc:85]
    +                                                                                               1574 base::WaitableEvent::Wait()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1e0f3ef  [waitable_event_mac.cc:107]
    +                                                                                                 1574 base::WaitableEvent::TimedWaitUntil(base::TimeTicks const&)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1e0f4c5  [waitable_event_mac.cc:149]
    +                                                                                                   1574 mach_msg  (in libsystem_kernel.dylib) + 60  [0x7fff59958cdc]
    +                                                                                                     1574 mach_msg_trap  (in libsystem_kernel.dylib) + 10  [0x7fff599597c2]


It looks like CommandBufferProxyImpl::WaitForGetOffsetInRange is sending a sync IPC message (to the GPU process I guess?). If the GPU process then hangs, this blocks the whole browser.
 
Slightly more readable and inverted stack trace:
mach_msg_trap  (in libsystem_kernel.dylib) + 10  [0x7fff599597c2]
mach_msg  (in libsystem_kernel.dylib) + 60  [0x7fff59958cdc]
base::WaitableEvent::TimedWaitUntil(base::TimeTicks const&)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1e0f4c5  [waitable_event_mac.cc:149]
base::WaitableEvent::Wait()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1e0f3ef  [waitable_event_mac.cc:107]
gpu::GpuChannelHost::Send(IPC::Message*)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x490ad1  [gpu_channel_host.cc:85]
gpu::CommandBufferProxyImpl::WaitForGetOffsetInRange(unsigned int, int, int)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x48dd05  [command_buffer_proxy_impl.cc:715]
gpu::CommandBufferHelper::Finish()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x2f55ef  [cmd_buffer_helper.cc:155]
gpu::gles2::GLES2Implementation::FinishHelper()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x2e016f5  [gles2_implementation.cc:1507]
cc::LayerTreeResourceProvider::~LayerTreeResourceProvider()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x2d4c30f  [memory:2592]
cc::LayerTreeResourceProvider::~LayerTreeResourceProvider()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x2d4c42e  [layer_tree_resource_provider.cc:158]
cc::LayerTreeHostImpl::ReleaseLayerTreeFrameSink()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x2dae67c  [layer_tree_host_impl.cc:2742]
cc::SingleThreadProxy::Stop()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x2de31db  [memory:2592]
cc::LayerTreeHost::~LayerTreeHost()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x2d9b3d7  [memory:2592]
cc::LayerTreeHost::~LayerTreeHost()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x2d9b9de  [layer_tree_host.cc:171]
ui::Compositor::~Compositor()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x3701ae9  [compositor.cc:236]
content::RecyclableCompositorMac::~RecyclableCompositorMac()  (in Google Chrome Framework)  load address 0x10af6d000 + 0xbe6bb6  [memory:2592]
content::RecyclableCompositorMac::~RecyclableCompositorMac()  (in Google Chrome Framework)  load address 0x10af6d000 + 0xbe6c4e  [browser_compositor_view_mac.mm:120]
content::(anonymous namespace)::ReleaseSpareCompositors()  (in Google Chrome Framework)  load address 0x10af6d000 + 0xbe71bb  [memory:0]
base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1db11cc  [callback_forward.h:11]
base::MessageLoop::RunTask(base::PendingTask*)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1dd5d14  [vector:639]
base::MessageLoop::DoWork()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1dd6219  [message_loop.cc:455]
base::MessagePumpCFRunLoopBase::RunWork()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1dd803a  [message_pump_mac.mm:453]
base::mac::CallWithEHFrame(void () block_pointer)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1dc9afa  []
base::MessagePumpCFRunLoopBase::RunWorkSource(void*)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1dd795f  [message_pump_mac.mm:432]
__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__  (in CoreFoundation) + 17  [0x7fff31f325a1]
__CFRunLoopDoSource0  (in CoreFoundation) + 108  [0x7fff31fec35c]
__CFRunLoopDoSources0  (in CoreFoundation) + 208  [0x7fff31f15040]
__CFRunLoopRun  (in CoreFoundation) + 1293  [0x7fff31f144bd]
CFRunLoopRunSpecific  (in CoreFoundation) + 483  [0x7fff31f13d23]
RunCurrentEventLoopInMode  (in HIToolbox) + 286  [0x7fff3122be26]
ReceiveNextEventCommon  (in HIToolbox) + 613  [0x7fff3122bb96]
_BlockUntilNextEventMatchingListInModeWithFilter  (in HIToolbox) + 64  [0x7fff3122b914]
_DPSNextEvent  (in AppKit) + 2085  [0x7fff2f4f6f5f]
-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:]  (in AppKit) + 3044  [0x7fff2fc8cb4c]
__71-[BrowserCrApplication nextEventMatchingMask:untilDate:inMode:dequeue:]_block_invoke  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1a0d1a0  [chrome_browser_application_mac.mm:174]
base::mac::CallWithEHFrame(void () block_pointer)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1dc9afa  []
-[BrowserCrApplication nextEventMatchingMask:untilDate:inMode:dequeue:]  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1a0d0e4  [chrome_browser_application_mac.mm:179]
-[NSApplication run]  (in AppKit) + 764  [0x7fff2f4ebd6d]
base::MessagePumpNSApplication::DoRun(base::MessagePump::Delegate*)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1dd88fc  [message_pump_mac.mm:822]
base::MessagePumpCFRunLoopBase::Run(base::MessagePump::Delegate*)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1dd747e  [message_pump_mac.mm:302]
<name omitted>  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1dfb5e5  [run_loop.cc:136]
ChromeBrowserMainParts::MainMessageLoopRun(int*)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x1a12fd8  [chrome_browser_main.cc:1977]
content::BrowserMainLoop::RunMainMessageLoopParts()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x783b64  [browser_main_loop.cc:1238]
content::BrowserMainRunnerImpl::Run()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x786532  [memory:2564]
content::BrowserMain(content::MainFunctionParams const&)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x78015c  [browser_main.cc:46]
content::ContentMainRunnerImpl::Run()  (in Google Chrome Framework)  load address 0x10af6d000 + 0x19c5e00  [content_main_runner.cc:717]
service_manager::Main(service_manager::MainParams const&)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x32dc01b  [main.cc:456]
content::ContentMain(content::ContentMainParams const&)  (in Google Chrome Framework)  load address 0x10af6d000 + 0x19c5344  [content_main.cc:19]
ChromeMain  (in Google Chrome Framework) + 186  [chrome_main.cc:0]
main  (in Google Chrome) + 404  [chrome_exe_main_mac.cc:169]
start  (in libdyld.dylib) + 1  [0x7fff59813115]


Full hang dump is at https://paste.googleplex.com/6524940681478144.
Status: WontFix (was: Untriaged)
This hang was fixed in 65.0.3325.181. You're one version behind. See issue 797137. If you can still reproduce after updating, please reopen this issue.
Blockedon: 797137

Comment 4 by bauerb@chromium.org, Apr 16 2018

Blockedon: -797137
Mergedinto: 797137
Status: Duplicate (was: WontFix)
Thanks!

Comment 5 by bauerb@chromium.org, Apr 16 2018

Blockedon: 797137

Comment 6 by bauerb@chromium.org, Apr 16 2018

Blockedon: -797137

Sign in to add a comment