** Changed in: oxide/1.7
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
WebApps bug tracking, which is subscribed to Oxide.
https://bugs.launchpad.net/bugs/1442413

Title:
  Render process deadlock at shutdown

Status in Oxide Webview:
  Triaged
Status in Oxide 1.7 series:
  Fix Released

Bug description:
  Running the tests occasionally leaves deadlocked render processes
  around. Attaching GDB shows the main thread is waiting here:

  Thread 1 (Thread 0x7f8ff2588940 (LWP 18290)):
  #0  pthread_cond_wait@@GLIBC_2.3.2 () at 
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  #1  0x00007f8fee70144b in base::WaitableEvent::TimedWait 
(this=this@entry=0x7fff1638c2c0, max_time=...) at 
../../../../third_party/chromium/src/base/synchronization/waitable_event_posix.cc:214
  #2  0x00007f8fee701504 in base::WaitableEvent::Wait 
(this=this@entry=0x7fff1638c2c0) at 
../../../../third_party/chromium/src/base/synchronization/waitable_event_posix.cc:154
  #3  0x00007f8fef00cab7 in Wait (this=0x7fff1638c2c0) at 
../../../../third_party/chromium/src/cc/base/completion_event.h:41
  #4  cc::ThreadProxy::Stop (this=0x2ad0d7361a80) at 
../../../../third_party/chromium/src/cc/trees/thread_proxy.cc:621
  #5  0x00007f8feefdb764 in cc::LayerTreeHost::~LayerTreeHost 
(this=this@entry=0x2ad0d7351400, __in_chrg=<optimised out>) at 
../../../../third_party/chromium/src/cc/trees/layer_tree_host.cc:186
  #6  0x00007f8feefdbc49 in cc::LayerTreeHost::~LayerTreeHost 
(this=0x2ad0d7351400, __in_chrg=<optimised out>) at 
../../../../third_party/chromium/src/cc/trees/layer_tree_host.cc:198
  #7  0x00007f8ff108e2a9 in 
content::RenderWidgetCompositor::~RenderWidgetCompositor (this=0x2ad0d7399140, 
__in_chrg=<optimised out>) at 
../../../../third_party/chromium/src/content/renderer/gpu/render_widget_compositor.cc:478
  #8  0x00007f8ff10fddd3 in operator() (this=0x2ad0d73a4c30, ptr=<optimised 
out>) at ../../../../third_party/chromium/src/base/memory/scoped_ptr.h:128
  #9  reset (p=0x0, this=0x2ad0d73a4c30) at 
../../../../third_party/chromium/src/base/memory/scoped_ptr.h:248
  #10 reset (p=0x0, this=0x2ad0d73a4c30) at 
../../../../third_party/chromium/src/base/memory/scoped_ptr.h:377
  #11 content::RenderWidget::Close (this=this@entry=0x2ad0d73a4c00) at 
../../../../third_party/chromium/src/content/renderer/render_widget.cc:1575
  #12 0x00007f8ff10fa91a in content::RenderViewImpl::Close 
(this=0x2ad0d73a4c00) at 
../../../../third_party/chromium/src/content/renderer/render_view_impl.cc:3064
  #13 0x00007f8fee6bfaa9 in Run (this=0x7fff1638c5a8) at 
../../../../third_party/chromium/src/base/callback.h:396
  #14 base::debug::TaskAnnotator::RunTask (this=this@entry=0x2ad0d735588c, 
queue_function=queue_function@entry=0x7f8ff14c4f70 
"TaskQueueManager::PostTask", run_function=run_function@entry=0x7f8ff14c4feb 
"TaskQueueManager::RunTask", pending_task=...) at 
../../../../third_party/chromium/src/base/debug/task_annotator.cc:63
  #15 0x00007f8ff100da5e in content::TaskQueueManager::ProcessTaskFromWorkQueue 
(this=this@entry=0x2ad0d7355870, queue_index=<optimised out>, 
has_previous_task=<optimised out>, 
previous_task=previous_task@entry=0x7fff1638c650) at 
../../../../third_party/chromium/src/content/child/scheduler/task_queue_manager.cc:642
  #16 0x00007f8ff100dc97 in content::TaskQueueManager::DoWork 
(this=0x2ad0d7355870, posted_from_main_thread=<optimised out>) at 
../../../../third_party/chromium/src/content/child/scheduler/task_queue_manager.cc:599
  #17 0x00007f8fee6bfaa9 in Run (this=0x7fff1638c898) at 
../../../../third_party/chromium/src/base/callback.h:396
  #18 base::debug::TaskAnnotator::RunTask (this=this@entry=0x2ad0d7388d50, 
queue_function=queue_function@entry=0x7f8ff14405a1 "MessageLoop::PostTask", 
run_function=run_function@entry=0x7f8ff14405c0 "MessageLoop::RunTask", 
pending_task=...) at 
../../../../third_party/chromium/src/base/debug/task_annotator.cc:63
  #19 0x00007f8fee6e15a4 in base::MessageLoop::RunTask 
(this=this@entry=0x2ad0d7388c00, pending_task=...) at 
../../../../third_party/chromium/src/base/message_loop/message_loop.cc:445
  #20 0x00007f8fee6e1881 in base::MessageLoop::DeferOrRunPendingTask 
(this=this@entry=0x2ad0d7388c00, pending_task=...) at 
../../../../third_party/chromium/src/base/message_loop/message_loop.cc:454
  #21 0x00007f8fee6e1d7b in base::MessageLoop::DoWork (this=0x2ad0d7388c00) at 
../../../../third_party/chromium/src/base/message_loop/message_loop.cc:566
  #22 0x00007f8fee6e23d9 in base::MessagePumpDefault::Run (this=0x2ad0d735aa20, 
delegate=0x2ad0d7388c00) at 
../../../../third_party/chromium/src/base/message_loop/message_pump_default.cc:32
  #23 0x00007f8fee6f47f8 in base::RunLoop::Run (this=this@entry=0x7fff1638ca40) 
at ../../../../third_party/chromium/src/base/run_loop.cc:55
  #24 0x00007f8fee6de5b5 in base::MessageLoop::Run (this=<optimised out>) at 
../../../../third_party/chromium/src/base/message_loop/message_loop.cc:303
  #25 0x00007f8ff110de5a in content::RendererMain (parameters=...) at 
../../../../third_party/chromium/src/content/renderer/renderer_main.cc:220
  #26 0x00007f8ff0fb3fa0 in content::RunZygote (main_function_params=..., 
delegate=0x7fff1638ce70) at 
../../../../third_party/chromium/src/content/app/content_main_runner.cc:307
  #27 0x00007f8ff0fb433a in content::ContentMainRunnerImpl::Run 
(this=0x2ad0d73562d0) at 
../../../../third_party/chromium/src/content/app/content_main_runner.cc:775
  #28 0x00007f8ff0fb2db1 in content::ContentMain (params=...) at 
../../../../third_party/chromium/src/content/app/content_main.cc:19
  #29 0x00007f8fee66f6dc in oxide::OxideMain (params=...) at 
../../../../shared/app/oxide_main.cc:33
  #30 0x00007f8fee650567 in oxide::qt::OxideMain (argc=5, argv=0x7fff1638cff8, 
release_free_memory_function=<optimised out>) at 
../../../../qt/core/app/oxide_qt_main.cc:40
  #31 0x00007f8fed4a0ec5 in __libc_start_main (main=0x4022f0 <main(int, char 
const**)>, argc=5, argv=0x7fff1638cff8, init=<optimised out>, fini=<optimised 
out>, rtld_fini=<optimised out>, stack_end=0x7fff1638cfe8) at libc-start.c:287
  #32 0x0000000000402561 in _start ()

  The main thread is blocked on the compositor impl thread, which
  appears to be stuck in a sync call to the now non-existant GPU
  service:

  Thread 3 (Thread 0x7f8fdc1ff700 (LWP 18305)):
  #0  pthread_cond_wait@@GLIBC_2.3.2 () at 
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  #1  0x00007f8fee7021a8 in base::WaitableEvent::WaitMany 
(raw_waitables=raw_waitables@entry=0x7f8fdc1fe630, count=count@entry=2) at 
../../../../third_party/chromium/src/base/synchronization/waitable_event_posix.cc:276
  #2  0x00007f8fef31d125 in IPC::SyncMessageFilter::Send (this=0x2ad0d7355b40, 
message=0x2ad0d76369b0) at 
../../../../third_party/chromium/src/ipc/ipc_sync_message_filter.cc:59
  #3  0x00007f8ff0fc2294 in content::ChildThreadImpl::AllocateSharedMemory 
(buf_size=<optimised out>, sender=0x2ad0d735a720) at 
../../../../third_party/chromium/src/content/child/child_thread_impl.cc:573
  #4  0x00007f8ff10df300 in HostAllocateSharedMemoryBuffer (size=<optimised 
out>, this=<optimised out>) at 
../../../../third_party/chromium/src/content/renderer/render_thread_impl.cc:1147
  #5  content::RenderThreadImpl::AllocateSharedMemory (this=<optimised out>, 
size=<optimised out>) at 
../../../../third_party/chromium/src/content/renderer/render_thread_impl.cc:1465
  #6  0x00007f8feeb061a9 in 
content::CommandBufferProxyImpl::CreateTransferBuffer (this=0x2ad0d73906c0, 
size=1048576, id=0x7f8fdc1fe78c) at 
../../../../third_party/chromium/src/content/common/gpu/client/command_buffer_proxy_impl.cc:309
  #7  0x00007f8fef010e1b in gpu::CommandBufferHelper::AllocateRingBuffer 
(this=0x2ad0d73e6600) at 
../../../../third_party/chromium/src/gpu/command_buffer/client/cmd_buffer_helper.cc:99
  #8  0x00007f8fef0113e8 in gpu::CommandBufferHelper::WaitForAvailableEntries 
(this=this@entry=0x2ad0d73e6600, count=count@entry=1) at 
../../../../third_party/chromium/src/gpu/command_buffer/client/cmd_buffer_helper.cc:254
  #9  0x00007f8fef60ceea in gpu::CommandBufferHelper::GetSpace 
(this=0x2ad0d73e6600, entries=1) at 
../../../../third_party/chromium/src/gpu/command_buffer/client/cmd_buffer_helper.h:127
  #10 0x00007f8fef616d93 in GetCmdSpace<gpu::gles2::cmds::Finish> 
(this=<optimised out>) at 
../../../../third_party/chromium/src/gpu/command_buffer/client/cmd_buffer_helper.h:163
  #11 Finish (this=<optimised out>) at 
../../../../third_party/chromium/src/gpu/command_buffer/client/gles2_cmd_helper_autogen.h:576
  #12 gpu::gles2::GLES2Implementation::FinishHelper (this=0x2ad0d73cdc00) at 
../../../../third_party/chromium/src/gpu/command_buffer/client/gles2_implementation.cc:906
  #13 0x00007f8fef00a226 in cc::ThreadProxy::FinishGLOnImplThread 
(this=0x2ad0d7361a80, completion=0x7fff1638c2c0) at 
../../../../third_party/chromium/src/cc/trees/thread_proxy.cc:1250
  #14 0x00007f8fee6bfaa9 in Run (this=0x7f8fdc1fead8) at 
../../../../third_party/chromium/src/base/callback.h:396
  #15 base::debug::TaskAnnotator::RunTask (this=this@entry=0x2ad0d750ced0, 
queue_function=queue_function@entry=0x7f8ff14405a1 "MessageLoop::PostTask", 
run_function=run_function@entry=0x7f8ff14405c0 "MessageLoop::RunTask", 
pending_task=...) at 
../../../../third_party/chromium/src/base/debug/task_annotator.cc:63
  #16 0x00007f8fee6e15a4 in base::MessageLoop::RunTask 
(this=this@entry=0x2ad0d750cd80, pending_task=...) at 
../../../../third_party/chromium/src/base/message_loop/message_loop.cc:445
  #17 0x00007f8fee6e1881 in base::MessageLoop::DeferOrRunPendingTask 
(this=this@entry=0x2ad0d750cd80, pending_task=...) at 
../../../../third_party/chromium/src/base/message_loop/message_loop.cc:454
  #18 0x00007f8fee6e1d7b in base::MessageLoop::DoWork (this=0x2ad0d750cd80) at 
../../../../third_party/chromium/src/base/message_loop/message_loop.cc:566
  #19 0x00007f8fee6e23d9 in base::MessagePumpDefault::Run (this=0x2ad0d73ed6a0, 
delegate=0x2ad0d750cd80) at 
../../../../third_party/chromium/src/base/message_loop/message_pump_default.cc:32
  #20 0x00007f8fee6f47f8 in base::RunLoop::Run (this=this@entry=0x7f8fdc1fec80) 
at ../../../../third_party/chromium/src/base/run_loop.cc:55
  #21 0x00007f8fee6de5b5 in base::MessageLoop::Run (this=<optimised out>) at 
../../../../third_party/chromium/src/base/message_loop/message_loop.cc:303
  #22 0x00007f8fee70e505 in Run (message_loop=<optimised out>, 
this=0x2ad0d74dcb80) at 
../../../../third_party/chromium/src/base/threading/thread.cc:185
  #23 base::Thread::ThreadMain (this=0x2ad0d74dcb80) at 
../../../../third_party/chromium/src/base/threading/thread.cc:239
  #24 0x00007f8fee70ad1f in base::(anonymous namespace)::ThreadFunc 
(params=<optimised out>) at 
../../../../third_party/chromium/src/base/threading/platform_thread_posix.cc:77
  #25 0x00007f8fed84b0a5 in start_thread (arg=0x7f8fdc1ff700) at 
pthread_create.c:309
  #26 0x00007f8fed578cfd in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

To manage notifications about this bug go to:
https://bugs.launchpad.net/oxide/+bug/1442413/+subscriptions

-- 
Mailing list: https://launchpad.net/~ubuntu-webapps-bugs
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~ubuntu-webapps-bugs
More help   : https://help.launchpad.net/ListHelp

Reply via email to