Process deadlock at shutdown (during crash?)

Having problems with building or using CEF's C/C++ APIs? This forum is here to help. Please do not post bug reports or feature requests here.

Process deadlock at shutdown (during crash?)

Postby fddima » Fri Mar 25, 2016 9:02 am

Hello!

CEF 3.2623.1395.g3034273 x64:

There is .NET process.
Process hangs or may be no, unfortunately it is impossible to reverse from dump in current state.
But debug diagnosis shows some weird exceptions like OutOfMemoryException, StackOverflowException, ThreadAbortException, ExecutionEngineException without additional info. They just happens. So i'm think that process crashed and tried to shutdown (and this is why ThreadAbortException appear, i'm never abort threads).
But, unfortunately process actually did not finishes for a long time. It is just exists, renderers exists, no-one consume CPU / etc. Browser process have exactly one thread (looks like main thread), and callstack of this thread is. Can someone give me pointers or insights to what it can be / how it is better to handle?
I'm potentially can call CefQuitMessageLoop with living browsers, but feel that i'm do not do that.

Code: Select all
ntdll!NtReleaseKeyedEvent+0xa:
00000000`7795265a c3              ret
0:000> cdb: Reading initial command '.ecxr;k100;q'
Minidump doesn't have an exception context
Unable to get exception context, HRESULT 0x80004002
Child-SP          RetAddr           Call Site
00000000`005ae728 00000000`779b6040 ntdll!NtReleaseKeyedEvent+0xa
00000000`005ae730 00000000`779bbb07 ntdll!RtlpWakeConditionVariable+0x130
*** WARNING: Unable to verify checksum for libcef.dll
00000000`005ae770 000007fe`df519713 ntdll!RtlWakeConditionVariable+0x47
00000000`005ae7a0 000007fe`df51cdb9 libcef!mojo::edk::Waiter::Awake+0x3f
00000000`005ae7d0 000007fe`df51963a libcef!mojo::edk::AwakableList::AwakeForStateChange+0x45
00000000`005ae800 000007fe`df519001 libcef!mojo::edk::WaitSetDispatcher::WakeDispatcher+0x7a
00000000`005ae840 000007fe`df51cdb9 libcef!mojo::edk::WaitSetDispatcher::Waiter::Awake+0xd
00000000`005ae870 000007fe`df50a528 libcef!mojo::edk::AwakableList::AwakeForStateChange+0x45
00000000`005ae8a0 000007fe`df500c0b libcef!mojo::system::LocalMessagePipeEndpoint::EnqueueMessage+0x58
00000000`005ae8d0 000007fe`df500e8f libcef!mojo::system::MessagePipe::EnqueueMessageNoLock+0x93
00000000`005ae910 000007fe`df50143b libcef!mojo::system::MessagePipe::WriteMessage+0x6f
00000000`005ae970 000007fe`df4ffb89 libcef!mojo::system::MessagePipeDispatcher::WriteMessageImplNoLock+0x3b
00000000`005ae9b0 000007fe`df4fc0d6 libcef!mojo::system::Dispatcher::WriteMessage+0x55
00000000`005aea00 000007fe`df4fad0f libcef!mojo::system::Core::WriteMessage+0x6e
00000000`005aea90 000007fe`df4f8077 libcef!MojoWriteMessage+0x5f
(Inline Function) --------`-------- libcef!mojo::WriteMessageRaw+0x25
00000000`005aeae0 000007fe`dda1d304 libcef!mojo::common::MessagePumpMojo::SignalControlPipe+0x2b
(Inline Function) --------`-------- libcef!base::MessageLoop::ScheduleWork+0xe
(Inline Function) --------`-------- libcef!base::internal::IncomingTaskQueue::ScheduleWork+0xe
00000000`005aeb20 000007fe`dda1d03a libcef!base::internal::IncomingTaskQueue::PostPendingTask+0xe4
00000000`005aeb50 000007fe`dda1d3fa libcef!base::internal::IncomingTaskQueue::AddToIncomingQueue+0x16a
00000000`005aec10 000007fe`df4f59ad libcef!base::internal::MessageLoopTaskRunner::PostDelayedTask+0x1a
00000000`005aec60 000007fe`df4f6123 libcef!mojo::common::`anonymous namespace'::WatcherThreadManager::AddRequest+0xb9
00000000`005aece0 000007fe`df4f5621 libcef!mojo::common::`anonymous namespace'::WatcherThreadManager::StopWatching+0xe3
00000000`005aedb0 000007fe`df4f5850 libcef!mojo::common::HandleWatcher::SecondaryThreadWatchingState::~SecondaryThreadWatchingState+0x29
00000000`005aede0 000007fe`df4f5576 libcef!mojo::common::HandleWatcher::SecondaryThreadWatchingState::`scalar deleting destructor'+0x14
(Inline Function) --------`-------- libcef!std::default_delete<mojo::common::HandleWatcher::StateBase>::operator()+0xe
(Inline Function) --------`-------- libcef!base::internal::scoped_ptr_impl<mojo::common::HandleWatcher::StateBase,std::default_delete<mojo::common::HandleWatcher::StateBase> >::reset+0x1a
(Inline Function) --------`-------- libcef!scoped_ptr<mojo::common::HandleWatcher::StateBase,std::default_delete<mojo::common::HandleWatcher::StateBase> >::reset+0x1a
00000000`005aee10 000007fe`df4f493a libcef!mojo::common::HandleWatcher::Stop+0x1e
00000000`005aee40 000007fe`df4f9869 libcef!mojo::internal::`anonymous namespace'::CancelWait+0x12
00000000`005aee70 000007fe`df4f988b libcef!mojo::internal::Connector::CancelWait+0x19
00000000`005aeea0 000007fe`dfa70177 libcef!mojo::internal::Connector::CloseMessagePipe+0x17
(Inline Function) --------`-------- libcef!mojo::internal::Router::CloseMessagePipe+0x9
(Inline Function) --------`-------- libcef!mojo::internal::BindingState<mojo::ServiceProvider,0>::Close+0x9
00000000`005aeed0 000007fe`e05c8da5 libcef!mojo::internal::BindingState<mojo::ServiceProvider,0>::~BindingState<mojo::ServiceProvider,0>+0x23
(Inline Function) --------`-------- libcef!mojo::Binding<mojo::ServiceProvider>::{dtor}+0x9
00000000`005aef00 000007fe`e05c8e84 libcef!content::ServiceRegistryImpl::~ServiceRegistryImpl+0x149
00000000`005aef30 000007fe`df977045 libcef!content::ServiceRegistryImpl::`scalar deleting destructor'+0x14
(Inline Function) --------`-------- libcef!std::default_delete<content::ServiceRegistryImpl>::operator()+0x7
(Inline Function) --------`-------- libcef!base::internal::scoped_ptr_impl<content::ServiceRegistryImpl,std::default_delete<content::ServiceRegistryImpl> >::reset+0x1a
(Inline Function) --------`-------- libcef!base::internal::scoped_ptr_impl<content::ServiceRegistryImpl,std::default_delete<content::ServiceRegistryImpl> >::{dtor}+0x1a
00000000`005aef60 000007fe`df977830 libcef!content::RenderFrameHostImpl::~RenderFrameHostImpl+0x375
00000000`005aefe0 000007fe`dfa3c69d libcef!content::RenderFrameHostImpl::`scalar deleting destructor'+0x14
(Inline Function) --------`-------- libcef!std::default_delete<content::RenderFrameHostImpl>::operator()+0x9
(Inline Function) --------`-------- libcef!base::internal::scoped_ptr_impl<content::RenderFrameHostImpl,std::default_delete<content::RenderFrameHostImpl> >::reset+0x13
(Inline Function) --------`-------- libcef!base::internal::scoped_ptr_impl<content::RenderFrameHostImpl,std::default_delete<content::RenderFrameHostImpl> >::{dtor}+0x13
00000000`005af010 000007fe`dfa40e7e libcef!content::RenderFrameHostManager::~RenderFrameHostManager+0xa1
00000000`005af050 000007fe`dfa41c59 libcef!content::FrameTreeNode::~FrameTreeNode+0x1f6
00000000`005af0a0 000007fe`dfa415fe libcef!base::internal::scoped_ptr_impl<content::FrameTreeNode,std::default_delete<content::FrameTreeNode> >::reset+0x19
(Inline Function) --------`-------- libcef!base::internal::scoped_ptr_impl<content::FrameTreeNode,std::default_delete<content::FrameTreeNode> >::{dtor}+0xa
(Inline Function) --------`-------- libcef!std::allocator<scoped_ptr<content::FrameTreeNode,std::default_delete<content::FrameTreeNode> > >::destroy+0xa
(Inline Function) --------`-------- libcef!std::allocator_traits<std::allocator<scoped_ptr<content::FrameTreeNode,std::default_delete<content::FrameTreeNode> > > >::destroy+0xa
(Inline Function) --------`-------- libcef!std::_Wrap_alloc<std::allocator<scoped_ptr<content::FrameTreeNode,std::default_delete<content::FrameTreeNode> > > >::destroy+0xa
(Inline Function) --------`-------- libcef!std::_Destroy_range+0xf
(Inline Function) --------`-------- libcef!std::_Destroy_range+0x12
(Inline Function) --------`-------- libcef!std::vector<scoped_ptr<content::FrameTreeNode,std::default_delete<content::FrameTreeNode> >,std::allocator<scoped_ptr<content::FrameTreeNode,std::default_delete<content::FrameTreeNode> > > >::_Destroy+0x12
(Inline Function) --------`-------- libcef!std::vector<scoped_ptr<content::FrameTreeNode,std::default_delete<content::FrameTreeNode> >,std::allocator<scoped_ptr<content::FrameTreeNode,std::default_delete<content::FrameTreeNode> > > >::_Tidy+0x17
(Inline Function) --------`-------- libcef!std::vector<scoped_ptr<content::FrameTreeNode,std::default_delete<content::FrameTreeNode> >,std::allocator<scoped_ptr<content::FrameTreeNode,std::default_delete<content::FrameTreeNode> > > >::{dtor}+0x17
00000000`005af0d0 000007fe`df964614 libcef!content::FrameTreeNode::ResetForNewProcess+0x6a
00000000`005af190 000007fe`df96519c libcef!content::WebContentsImpl::~WebContentsImpl+0x1cc
00000000`005af210 000007fe`ded3aebb libcef!content::WebContentsImpl::`scalar deleting destructor'+0x14
(Inline Function) --------`-------- libcef!std::default_delete<content::WebContents>::operator()+0x8
(Inline Function) --------`-------- libcef!base::internal::scoped_ptr_impl<content::WebContents,std::default_delete<content::WebContents> >::reset+0x1b
(Inline Function) --------`-------- libcef!scoped_ptr<content::WebContents,std::default_delete<content::WebContents> >::reset+0x1b
00000000`005af240 000007fe`ded67a52 libcef!CefBrowserHostImpl::DestroyBrowser+0x1f3
00000000`005af2a0 000007fe`ded29ac8 libcef!CefBrowserInfoManager::DestroyAllBrowsers+0xce
00000000`005af400 000007fe`ded2a332 libcef!CefContext::FinishShutdownOnUIThread+0x4c
00000000`005af430 000007fe`e08b6497 libcef!CefContext::Shutdown+0xc6
(Inline Function) --------`-------- libcef!`anonymous-namespace'::CefForceShutdown::{dtor}+0x11
00000000`005af4a0 000007fe`e014cf77 libcef!`anonymous namespace'::`dynamic atexit destructor for 'g_force_shutdown''+0x17
00000000`005af4d0 000007fe`e01481b2 libcef!doexit+0xd3
00000000`005af540 000007fe`e014837b libcef!_CRT_INIT+0xb6
00000000`005af570 00000000`779243a1 libcef!__DllMainCRTStartup+0xdf
00000000`005af5e0 00000000`779241b0 ntdll!LdrShutdownProcess+0x1db
00000000`005af700 000007fe`f9033067 ntdll!RtlExitUserProcess+0x90
00000000`005af730 000007fe`f9033300 mscoreei!RuntimeDesc::ShutdownAllActiveRuntimes+0x27b
00000000`005afa20 000007fe`f4f26ffd mscoreei!CLRRuntimeHostInternalImpl::ShutdownAllRuntimesThenExit+0x14
00000000`005afa50 000007fe`f4f26f69 clr!EEPolicy::ExitProcessViaShim+0x6d
00000000`005afaa0 000007fe`f4ee781e clr!SafeExitProcess+0x9d
00000000`005afd10 000007fe`f4ec78b1 clr!HandleExitProcessHelper+0x3e
00000000`005afd40 000007fe`f4ec4174 clr!_CorExeMainInternal+0xf9
00000000`005afdd0 000007fe`f90272fd clr!CorExeMain+0x14
00000000`005afe10 000007fe`f90c5b21 mscoreei!CorExeMain+0xe0
00000000`005afe60 00000000`776f59ed mscoree!CorExeMain_Exported+0x57
00000000`005afe90 00000000`7792c541 kernel32!BaseThreadInitThunk+0xd
00000000`005afec0 00000000`00000000 ntdll!RtlUserThreadStart+0x1d
quit:
fddima
Master
 
Posts: 788
Joined: Tue Dec 07, 2010 6:10 am

Return to Support Forum

Who is online

Users browsing this forum: Google [Bot] and 173 guests