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 closing after DevTools popup #3736

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

Comments

@magreenblatt
Copy link
Collaborator

To Reproduce
Steps to reproduce the behavior:

  1. Run cefsimple
  2. Right click, select "Inspect"
  3. Close the DevTools window and the main window

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

[18193:259:0712/171441.464791: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                           0x00000001008753c4 cef_log + 60
9   cefsimple                           0x000000010074b514 cef::logging::LogMessage::~LogMessage() + 136
10  cefsimple                           0x000000010074b574 cef::logging::LogMessage::~LogMessage() + 28
11  cefsimple                           0x0000000100752660 shutdown_checker::AssertNotShutdown() + 188
12  cefsimple                           0x0000000100770cb8 CefBrowserViewDelegateCppToC::~CefBrowserViewDelegateCppToC() + 44
13  cefsimple                           0x0000000100770d18 CefBrowserViewDelegateCppToC::~CefBrowserViewDelegateCppToC() + 28
14  cefsimple                           0x0000000100770d44 CefBrowserViewDelegateCppToC::~CefBrowserViewDelegateCppToC() + 28
15  cefsimple                           0x0000000100770ee0 CefCppToCRefCounted<CefBrowserViewDelegateCppToC, CefBrowserViewDelegate, _cef_browser_view_delegate_t>::Release() const + 76
16  cefsimple                           0x0000000100771824 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                           0x0000000100873998 cef_shutdown + 24
73  cefsimple                           0x0000000100752d88 CefShutdown() + 16
74  cefsimple                           0x000000010062bc20 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 the problem reproduce with the cefclient or cefsimple sample application at the same version?
Don't know yet if this reproduces with cefclient given issue #3602.

@magreenblatt magreenblatt added bug Bug report macos MacOS platform SampleApps Related to sample apps labels Jul 12, 2024
@magreenblatt
Copy link
Collaborator Author

Duplicate of #3737

@magreenblatt magreenblatt marked this as a duplicate of #3737 Jul 12, 2024
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