Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mac: cefsimple: AssertNotShutdown when exiting #3738

Closed
magreenblatt opened this issue Jul 12, 2024 · 0 comments
Closed

mac: cefsimple: AssertNotShutdown when exiting #3738

magreenblatt opened this issue Jul 12, 2024 · 0 comments
Labels
bug Bug report macos MacOS platform SampleApps Related to sample apps

Comments

@magreenblatt
Copy link
Collaborator

magreenblatt commented Jul 12, 2024

To Reproduce
Steps to reproduce the behavior:

  1. Run cefsimple Debug build
  2. Exit the application

Expected behavior
Application should exit cleanly. Instead, it crashes with the following:

[18600:259:0712/172342.775215:FATAL:shutdown_checker.cc(30)] Check failed: !IsCefShutdown(). Object reference incorrectly held at CefShutdown
0   Chromium Embedded Framework         0x00000003d48c3a9c base::debug::CollectStackTrace(void const**, unsigned long) + 48
1   Chromium Embedded Framework         0x00000003d48917f4 base::debug::StackTrace::StackTrace(unsigned long) + 112
2   Chromium Embedded Framework         0x00000003d489189c base::debug::StackTrace::StackTrace(unsigned long) + 36
3   Chromium Embedded Framework         0x00000003d4891868 base::debug::StackTrace::StackTrace() + 40
4   Chromium Embedded Framework         0x00000003d45b28e8 logging::LogMessage::Flush() + 216
5   Chromium Embedded Framework         0x00000003d45b27f4 logging::LogMessage::~LogMessage() + 44
6   Chromium Embedded Framework         0x00000003d45b2e44 logging::LogMessage::~LogMessage() + 28
7   Chromium Embedded Framework         0x00000003bfda4c88 cef_log + 96
8   cefsimple                           0x0000000104eb13c4 cef_log + 60
9   cefsimple                           0x0000000104d87514 cef::logging::LogMessage::~LogMessage() + 136
10  cefsimple                           0x0000000104d87574 cef::logging::LogMessage::~LogMessage() + 28
11  cefsimple                           0x0000000104d8e660 shutdown_checker::AssertNotShutdown() + 188
12  cefsimple                           0x0000000104daccb8 CefBrowserViewDelegateCppToC::~CefBrowserViewDelegateCppToC() + 44
13  cefsimple                           0x0000000104dacd18 CefBrowserViewDelegateCppToC::~CefBrowserViewDelegateCppToC() + 28
14  cefsimple                           0x0000000104dacd44 CefBrowserViewDelegateCppToC::~CefBrowserViewDelegateCppToC() + 28
15  cefsimple                           0x0000000104dacee0 CefCppToCRefCounted<CefBrowserViewDelegateCppToC, CefBrowserViewDelegate, _cef_browser_view_delegate_t>::Release() const + 76
16  cefsimple                           0x0000000104dad824 CefCppToCRefCounted<CefBrowserViewDelegateCppToC, CefBrowserViewDelegate, _cef_browser_view_delegate_t>::struct_release(_cef_base_ref_counted_t*) + 348
17  Chromium Embedded Framework         0x00000003bf8e20b0 CefCToCppRefCounted<CefBrowserViewDelegateCToCpp, CefBrowserViewDelegate, _cef_browser_view_delegate_t>::UnderlyingRelease() const + 88
18  Chromium Embedded Framework         0x00000003bf8e5190 CefCToCppRefCounted<CefBrowserViewDelegateCToCpp, CefBrowserViewDelegate, _cef_browser_view_delegate_t>::Release() const + 44
19  Chromium Embedded Framework         0x00000003bf8e2398 scoped_refptr<CefBrowserViewDelegate>::Release(CefBrowserViewDelegate*) + 68
20  Chromium Embedded Framework         0x00000003bf8e2340 scoped_refptr<CefBrowserViewDelegate>::~scoped_refptr() + 56
21  Chromium Embedded Framework         0x00000003bf8e20fc scoped_refptr<CefBrowserViewDelegate>::~scoped_refptr() + 28
22  Chromium Embedded Framework         0x00000003bfd4b1a4 CefViewImpl<views::View, CefBrowserView, CefBrowserViewDelegate>::~CefViewImpl() + 80
23  Chromium Embedded Framework         0x00000003bfd4b0d8 CefBrowserViewImpl::~CefBrowserViewImpl() + 156
24  Chromium Embedded Framework         0x00000003bfd46798 CefBrowserViewImpl::~CefBrowserViewImpl() + 28
25  Chromium Embedded Framework         0x00000003bfd467c4 CefBrowserViewImpl::~CefBrowserViewImpl() + 28
26  Chromium Embedded Framework         0x00000003bfd4b3d4 void content::BrowserThread::DeleteOnThread<(content::BrowserThread::ID)0>::Destruct<CefBrowserViewImpl>(CefBrowserViewImpl const*) + 80
27  Chromium Embedded Framework         0x00000003bfd48d10 CefBrowserViewImpl::Release() const + 48
28  Chromium Embedded Framework         0x00000003bfae97e4 scoped_refptr<CefBrowserViewImpl>::Release(CefBrowserViewImpl*) + 56
29  Chromium Embedded Framework         0x00000003bfae9798 scoped_refptr<CefBrowserViewImpl>::~scoped_refptr() + 56
30  Chromium Embedded Framework         0x00000003bfae6064 scoped_refptr<CefBrowserViewImpl>::~scoped_refptr() + 28
31  Chromium Embedded Framework         0x00000003bfb1df18 CefBrowserPlatformDelegateChromeViews::~CefBrowserPlatformDelegateChromeViews() + 56
32  Chromium Embedded Framework         0x00000003bfb1ec34 CefBrowserPlatformDelegateChromeViews::~CefBrowserPlatformDelegateChromeViews() + 28
33  Chromium Embedded Framework         0x00000003bfb1ec60 CefBrowserPlatformDelegateChromeViews::~CefBrowserPlatformDelegateChromeViews() + 28
34  Chromium Embedded Framework         0x00000003bfa48df0 std::__Cr::default_delete<CefBrowserPlatformDelegate>::operator()(CefBrowserPlatformDelegate*) const + 52
35  Chromium Embedded Framework         0x00000003bfa48d64 std::__Cr::unique_ptr<CefBrowserPlatformDelegate, std::__Cr::default_delete<CefBrowserPlatformDelegate>>::reset(CefBrowserPlatformDelegate*) + 104
36  Chromium Embedded Framework         0x00000003bfa94be4 CefBrowserHostBase::DestroyBrowser() + 304
37  Chromium Embedded Framework         0x00000003bfb02080 ChromeBrowserHostImpl::DestroyBrowser() + 364
38  Chromium Embedded Framework         0x00000003bfb0291c void base::internal::DecayedFunctorTraits<void (ChromeBrowserHostImpl::*)(), ChromeBrowserHostImpl*&&>::Invoke<void (ChromeBrowserHostImpl::*)(), scoped_refptr<ChromeBrowserHostImpl>>(void (ChromeBrowserHostImpl::*)(), scoped_refptr<ChromeBrowserHostImpl>&&) + 140
39  Chromium Embedded Framework         0x00000003bfb02884 void base::internal::InvokeHelper<false, base::internal::FunctorTraits<void (ChromeBrowserHostImpl::*&&)(), ChromeBrowserHostImpl*&&>, void, 0ul>::MakeItSo<void (ChromeBrowserHostImpl::*)(), std::__Cr::tuple<scoped_refptr<ChromeBrowserHostImpl>>>(void (ChromeBrowserHostImpl::*&&)(), std::__Cr::tuple<scoped_refptr<ChromeBrowserHostImpl>>&&) + 88
40  Chromium Embedded Framework         0x00000003bfb02820 void base::internal::Invoker<base::internal::FunctorTraits<void (ChromeBrowserHostImpl::*&&)(), ChromeBrowserHostImpl*&&>, base::internal::BindState<true, true, false, void (ChromeBrowserHostImpl::*)(), scoped_refptr<ChromeBrowserHostImpl>>, void ()>::RunImpl<void (ChromeBrowserHostImpl::*)(), std::__Cr::tuple<scoped_refptr<ChromeBrowserHostImpl>>, 0ul>(void (ChromeBrowserHostImpl::*&&)(), std::__Cr::tuple<scoped_refptr<ChromeBrowserHostImpl>>&&, std::__Cr::integer_sequence<unsigned long, 0ul>) + 32
41  Chromium Embedded Framework         0x00000003bfb027a8 base::internal::Invoker<base::internal::FunctorTraits<void (ChromeBrowserHostImpl::*&&)(), ChromeBrowserHostImpl*&&>, base::internal::BindState<true, true, false, void (ChromeBrowserHostImpl::*)(), scoped_refptr<ChromeBrowserHostImpl>>, void ()>::RunOnce(base::internal::BindStateBase*) + 52
42  Chromium Embedded Framework         0x00000003bfa6636c base::OnceCallback<void ()>::Run() && + 236
43  Chromium Embedded Framework         0x00000003d471b268 base::TaskAnnotator::RunTaskImpl(base::PendingTask&) + 492
44  Chromium Embedded Framework         0x00000003d4796d80 _ZN4base13TaskAnnotator7RunTaskIJZNS_16sequence_manager8internal35ThreadControllerWithMessagePumpImpl10DoWorkImplEPNS_7LazyNowEE3$_3EEEvN8perfetto12StaticStringERNS_11PendingTaskEDpOT_ + 144
45  Chromium Embedded Framework         0x00000003d4796798 base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::LazyNow*) + 1552
46  Chromium Embedded Framework         0x00000003d4795e3c base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() + 244
47  Chromium Embedded Framework         0x00000003d48f079c base::MessagePumpCFRunLoopBase::RunWork() + 236
48  Chromium Embedded Framework         0x00000003d48f08c4 ___ZN4base24MessagePumpCFRunLoopBase13RunWorkSourceEPv_block_invoke + 36
49  Chromium Embedded Framework         0x00000003d48ee498 base::apple::CallWithEHFrame(void () block_pointer) + 16
50  Chromium Embedded Framework         0x00000003d48ef474 base::MessagePumpCFRunLoopBase::RunWorkSource(void*) + 112
51  CoreFoundation                      0x000000018664e4d8 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
52  CoreFoundation                      0x000000018664e46c __CFRunLoopDoSource0 + 176
53  CoreFoundation                      0x000000018664e1dc __CFRunLoopDoSources0 + 244
54  CoreFoundation                      0x000000018664cdc8 __CFRunLoopRun + 828
55  CoreFoundation                      0x000000018664c434 CFRunLoopRunSpecific + 608
56  HIToolbox                           0x0000000190df019c RunCurrentEventLoopInMode + 292
57  HIToolbox                           0x0000000190defe2c ReceiveNextEventCommon + 220
58  HIToolbox                           0x0000000190defd30 _BlockUntilNextEventMatchingListInModeWithFilter + 76
59  AppKit                              0x0000000189eabd68 _DPSNextEvent + 660
60  AppKit                              0x000000018a6a1808 -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 700
61  AppKit                              0x0000000189e9f09c -[NSApplication run] + 476
62  Chromium Embedded Framework         0x00000003d48f1c10 base::MessagePumpNSApplication::DoRun(base::MessagePump::Delegate*) + 268
63  Chromium Embedded Framework         0x00000003d48ee574 base::MessagePumpCFRunLoopBase::Run(base::MessagePump::Delegate*) + 204
64  Chromium Embedded Framework         0x00000003d4797580 base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool, base::TimeDelta) + 680
65  Chromium Embedded Framework         0x00000003d46a4b84 base::RunLoop::Run(base::Location const&) + 724
66  Chromium Embedded Framework         0x00000003cb4aa434 content::BrowserTaskExecutor::RunAllPendingTasksOnThreadForTesting(content::BrowserThread::ID) + 452
67  Chromium Embedded Framework         0x00000003bfb95f3c CefMainRunner::StartShutdownOnUIThread(base::OnceCallback<void ()>) + 156
68  Chromium Embedded Framework         0x00000003bfb95d70 CefMainRunner::Shutdown(base::OnceCallback<void ()>, base::OnceCallback<void ()>) + 436
69  Chromium Embedded Framework         0x00000003bfb3bb60 CefContext::Shutdown() + 344
70  Chromium Embedded Framework         0x00000003bfb3b964 CefShutdown() + 284
71  Chromium Embedded Framework         0x00000003bf8b1bfc cef_shutdown + 16
72  cefsimple                           0x0000000104eaf998 cef_shutdown + 24
73  cefsimple                           0x0000000104d8ed88 CefShutdown() + 16
74  cefsimple                           0x0000000104c67c20 main + 1028
75  dyld                                0x00000001861e60e0 start + 2360
Task trace:
0   Chromium Embedded Framework         0x00000003bfaff980 ChromeBrowserHostImpl::OnWebContentsDestroyed(content::WebContents*) + 136

Versions (please complete the following information):

  • OS: MacOS Sonoma 14.5
  • CEF Version: M127 master

Additional context
Does not reproduce with cefclient or cefsimple --use-alloy-style

@magreenblatt magreenblatt added bug Bug report macos MacOS platform SampleApps Related to sample apps labels Jul 12, 2024
magreenblatt added a commit that referenced this issue Jul 16, 2024
Delay shutdown checking until after CefInitialize has drained existing
task pools.
magreenblatt added a commit that referenced this issue Jul 16, 2024
Delay shutdown checking until after CefInitialize has drained existing
task pools.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Bug report macos MacOS platform SampleApps Related to sample apps
Projects
None yet
Development

No branches or pull requests

1 participant