** Also affects: oxide/1.7
Importance: Undecided
Status: New
** Changed in: oxide/1.7
Importance: Undecided => High
** Changed in: oxide/1.7
Status: New => Triaged
--
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:
Triaged
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