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

Issue 617173 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Jun 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug

Blocking:
issue 604568



Sign in to add a comment

[FATAL:synchronous_compositor_output_surface.cc(107)] Check failed: CalledOnValidThread().

Project Member Reported by boliu@chromium.org, Jun 3 2016

Issue description

https://build.chromium.org/p/chromium.linux/builders/Android%20Tests%20%28dbg%29/builds/34699

[FATAL:synchronous_compositor_output_surface.cc(107)] Check failed: CalledOnValidThread(). 

Stack Trace:
  RELADDR   FUNCTION                                                                                                                                                                                                                                                                                                          FILE:LINE
  0291767d  logging::LogMessage::~LogMessage()+224                                                                                                                                                                                                                                                                            /b/build/slave/Android_Builder__dbg_/build/src/base/logging.cc:523
  0278cb4d  content::SynchronousCompositorOutputSurface::SetSyncClient(content::SynchronousCompositorOutputSurfaceClient*)+56                                                                                                                                                                                                 /b/build/slave/Android_Builder__dbg_/build/src/content/renderer/android/synchronous_compositor_output_surface.cc:107
  0278e3af  content::SynchronousCompositorProxy::SetOutputSurface(content::SynchronousCompositorOutputSurface*)+258                                                                                                                                                                                                           /b/build/slave/Android_Builder__dbg_/build/src/content/renderer/android/synchronous_compositor_proxy.cc:68
  0278e415  content::SynchronousCompositorProxy::~SynchronousCompositorProxy()+28                                                                                                                                                                                                                                             /b/build/slave/Android_Builder__dbg_/build/src/content/renderer/android/synchronous_compositor_proxy.cc:59
  0278e45b  content::SynchronousCompositorProxy::~SynchronousCompositorProxy()+6                                                                                                                                                                                                                                              /b/build/slave/Android_Builder__dbg_/build/src/content/renderer/android/synchronous_compositor_proxy.cc:62
  v------>  std::__1::default_delete<media::CdmPromise>::operator()(media::CdmPromise*) const                                                                                                                                                                                                                                 /b/build/slave/Android_Builder__dbg_/build/src/third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory:2431
  v------>  std::__1::unique_ptr<media::CdmPromise, std::__1::default_delete<media::CdmPromise> >::reset(media::CdmPromise*)                                                                                                                                                                                                  /b/build/slave/Android_Builder__dbg_/build/src/third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory:2630
  00b972fd  base::ScopedPtrHashMap<char const*, std::__1::unique_ptr<content::ServiceWorkerVersion::BaseMojoServiceWrapper, std::__1::default_delete<content::ServiceWorkerVersion::BaseMojoServiceWrapper> > >::clear()+22                                                                                                   /b/build/slave/Android_Builder__dbg_/build/src/base/containers/scoped_ptr_hash_map.h:138
  v------>  base::ScopedPtrHashMap<int, std::__1::unique_ptr<content::SynchronousCompositorProxy, std::__1::default_delete<content::SynchronousCompositorProxy> > >::~ScopedPtrHashMap()                                                                                                                                      /b/build/slave/Android_Builder__dbg_/build/src/base/containers/scoped_ptr_hash_map.h:39
  0278b209  content::SynchronousCompositorFilter::~SynchronousCompositorFilter()+76                                                                                                                                                                                                                                           /b/build/slave/Android_Builder__dbg_/build/src/content/renderer/android/synchronous_compositor_filter.cc:25
  0278b26b  content::SynchronousCompositorFilter::~SynchronousCompositorFilter()+6                                                                                                                                                                                                                                            /b/build/slave/Android_Builder__dbg_/build/src/content/renderer/android/synchronous_compositor_filter.cc:25
  v------>  base::RefCountedThreadSafe<net::URLFetcherCore, base::DefaultRefCountedThreadSafeTraits<net::URLFetcherCore> >::DeleteInternal(net::URLFetcherCore const*)                                                                                                                                                        /b/build/slave/Android_Builder__dbg_/build/src/base/memory/ref_counted.h:196
  v------>  base::DefaultRefCountedThreadSafeTraits<net::URLFetcherCore>::Destruct(net::URLFetcherCore const*)                                                                                                                                                                                                                /b/build/slave/Android_Builder__dbg_/build/src/base/memory/ref_counted.h:159
  v------>  base::RefCountedThreadSafe<net::URLFetcherCore, base::DefaultRefCountedThreadSafeTraits<net::URLFetcherCore> >::Release() const                                                                                                                                                                                   /b/build/slave/Android_Builder__dbg_/build/src/base/memory/ref_counted.h:187
  v------>  scoped_refptr<net::URLFetcherCore>::Release(net::URLFetcherCore*)                                                                                                                                                                                                                                                 /b/build/slave/Android_Builder__dbg_/build/src/base/memory/ref_counted.h:407
  00a8ffd9  scoped_refptr<IPC::MessageFilter>::~scoped_refptr()+22                                                                                                                                                                                                                                                            /b/build/slave/Android_Builder__dbg_/build/src/base/memory/ref_counted.h:311
  v------>  base::internal::RetainedRefWrapper<IPC::MessageFilter>::~RetainedRefWrapper()                                                                                                                                                                                                                                     /b/build/slave/Android_Builder__dbg_/build/src/base/bind_helpers.h:332
  v------>  std::__1::__tuple_leaf<1u, base::internal::RetainedRefWrapper<IPC::MessageFilter>, false>::~__tuple_leaf()                                                                                                                                                                                                        /b/build/slave/Android_Builder__dbg_/build/src/third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/tuple:180
  v------>  std::__1::__tuple_impl<std::__1::__tuple_indices<0u, 1u>, scoped_refptr<IPC::ChannelProxy::Context>, base::internal::RetainedRefWrapper<IPC::MessageFilter> >::~__tuple_impl()                                                                                                                                    /b/build/slave/Android_Builder__dbg_/build/src/third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/tuple:383
  v------>  std::__1::tuple<scoped_refptr<IPC::ChannelProxy::Context>, base::internal::RetainedRefWrapper<IPC::MessageFilter> >::~tuple()                                                                                                                                                                                     /b/build/slave/Android_Builder__dbg_/build/src/third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/tuple:486
  v------>  base::internal::BindState<base::internal::RunnableAdapter<void (IPC::ChannelProxy::Context::*)(IPC::MessageFilter*)>, void (IPC::ChannelProxy::Context*, IPC::MessageFilter*), IPC::ChannelProxy::Context*, base::internal::RetainedRefWrapper<IPC::MessageFilter> >::~BindState()                                /b/build/slave/Android_Builder__dbg_/build/src/base/bind_internal.h:436
  00b01687  base::internal::BindState<base::internal::RunnableAdapter<void (IPC::ChannelProxy::Context::*)(IPC::MessageFilter*)>, void (IPC::ChannelProxy::Context*, IPC::MessageFilter*), IPC::ChannelProxy::Context*, base::internal::RetainedRefWrapper<IPC::MessageFilter> >::Destroy(base::internal::BindStateBase*)+10  /b/build/slave/Android_Builder__dbg_/build/src/base/bind_internal.h:439
  v------>  scoped_refptr<base::internal::BindStateBase>::Release(base::internal::BindStateBase*)                                                                                                                                                                                                                             /b/build/slave/Android_Builder__dbg_/build/src/base/memory/ref_counted.h:407
  v------>  scoped_refptr<base::internal::BindStateBase>::~scoped_refptr()                                                                                                                                                                                                                                                    /b/build/slave/Android_Builder__dbg_/build/src/base/memory/ref_counted.h:311
  02905fd5  base::internal::CallbackBase<(base::internal::CopyMode)0>::~CallbackBase()+10                                                                                                                                                                                                                                     /b/build/slave/Android_Builder__dbg_/build/src/base/callback_internal.cc:54
  v------>  base::internal::CallbackBase<(base::internal::CopyMode)1>::~CallbackBase()                                                                                                                                                                                                                                        /b/build/slave/Android_Builder__dbg_/build/src/base/callback_internal.h:108
  v------>  base::Callback<void (), (base::internal::CopyMode)1>::~Callback()                                                                                                                                                                                                                                                 /b/build/slave/Android_Builder__dbg_/build/src/base/callback.h:354
  0292c393  base::PendingTask::~PendingTask()+8                                                                                                                                                                                                                                                                               /b/build/slave/Android_Builder__dbg_/build/src/base/pending_task.cc:35
  0291c71f  base::MessageLoop::DoWork()+126                                                                                                                                                                                                                                                                                   /b/build/slave/Android_Builder__dbg_/build/src/base/message_loop/message_loop.cc:602
  0291e74d  base::MessagePumpLibevent::Run(base::MessagePump::Delegate*)+68                                                                                                                                                                                                                                                   /b/build/slave/Android_Builder__dbg_/build/src/base/message_loop/message_pump_libevent.cc:217
  0291d7ab  base::MessageLoop::RunHandler()+78                                                                                                                                                                                                                                                                                /b/build/slave/Android_Builder__dbg_/build/src/base/message_loop/message_loop.cc:439
  02931f2f  base::RunLoop::Run()+30                                                                                                                                                                                                                                                                                           /b/build/slave/Android_Builder__dbg_/build/src/base/run_loop.cc:35
  0291bd7f  base::MessageLoop::Run()+66                                                                                                                                                                                                                                                                                       /b/build/slave/Android_Builder__dbg_/build/src/base/message_loop/message_loop.cc:294
  0294c0c7  base::Thread::ThreadMain()+334                                                                                                                                                                                                                                                                                    /b/build/slave/Android_Builder__dbg_/build/src/base/threading/thread.cc:256
  0294877f  base::(anonymous namespace)::ThreadFunc(void*)+58                                                                                                                                                                                                                                                                 /b/build/slave/Android_Builder__dbg_/build/src/base/threading/platform_thread_posix.cc:70
  0000d173  <unknown>                                                                                                                                                                                                                                                                                                         /system/lib/libc.so
  0000d30b  <unknown>  
 

Comment 1 by boliu@chromium.org, Jun 3 2016

filter getting killed on main thread before compositor thread is cleaned up, hmm...

Comment 2 by boliu@chromium.org, Jun 3 2016

Cc: siev...@chromium.org
Actually, that might be the IO thread. But still, RenderThreadImpl has a ref to SynchronousCompositorFilter, which means RenderThreadImpl::Shutdown already happened but there are still compositor thread objects not cleaned up.

sievers: thoughts here? I can certainly add a deleter to ensure proxy is only deleted on the compositor thread, but feels like there is a deeper issue here

Comment 3 by boliu@chromium.org, Jun 3 2016

Status: WontFix (was: Assigned)
Can't work out anything reasonable to do here :/ If it's a real shutdown situation, it doesn't really matter if renderer crashes in that case

Sign in to add a comment