CEF 5005: Crash Logs !is_bound(). Receiver is already bound

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.

CEF 5005: Crash Logs !is_bound(). Receiver is already bound

Postby leeroy » Wed May 04, 2022 7:06 pm

Windows 8.1 and 10
CEF: cef_binary_102.0.2+gc41ac52+chromium-102.0.5005.27

Upon first launch of the application and navigating around, we get a hard crash it would appear. Haven't been able to pick this up while hooked to the debugger yet. But noticed the following logged in the debug log. Curious if it rings a bell for anyone? Also doesn't appear to be happening on subsequent launches.
Code: Select all
[0504/165441.430:FATAL:receiver.h(158)] Check failed: !is_bound(). Receiver is already bound
leeroy
Expert
 
Posts: 103
Joined: Mon Jan 06, 2020 6:27 pm

Re: CEF 5005: Crash Logs !is_bound(). Receiver is already bo

Postby leeroy » Thu May 05, 2022 5:43 pm

This is looking like the same issue recorded in viewtopic.php?f=6&t=18319 and the same solution works fine.
leeroy
Expert
 
Posts: 103
Joined: Mon Jan 06, 2020 6:27 pm

Re: CEF 5005: Crash Logs !is_bound(). Receiver is already bo

Postby leeroy » Tue May 10, 2022 3:44 pm

Looks like we are running into this issue in another scenario that causes this crash:


Code: Select all
    libcef.dll!logging::LogMessage::~LogMessage() Line 910   C++
    libcef.dll!logging::LogMessage::~LogMessage() Line 594   C++
    libcef.dll!mojo::Receiver<network::mojom::TrustedHeaderClient,mojo::RawPtrImplRefTraits<network::mojom::TrustedHeaderClient>>::Bind(mojo::PendingReceiver<network::mojom::TrustedHeaderClient> pending_receiver) Line 159   C++
>   libcef.dll!net_service::InterceptedRequest::OnLoaderCreated(mojo::PendingReceiver<network::mojom::TrustedHeaderClient> receiver) Line 488   C++
    libcef.dll!net_service::ProxyURLLoaderFactory::OnLoaderCreated(int request_id, mojo::PendingReceiver<network::mojom::TrustedHeaderClient> receiver) Line 1366   C++
    libcef.dll!network::mojom::TrustedURLLoaderHeaderClientStubDispatch::Accept(network::mojom::TrustedURLLoaderHeaderClient * impl, mojo::Message * message) Line 3175   C++
    libcef.dll!mojo::InterfaceEndpointClient::HandleValidatedMessage(mojo::Message * message) Line 925   C++
    libcef.dll!mojo::MessageDispatcher::Accept(mojo::Message * message) Line 43   C++
    libcef.dll!mojo::InterfaceEndpointClient::HandleIncomingMessage(mojo::Message * message) Line 664   C++
    libcef.dll!mojo::internal::MultiplexRouter::ProcessIncomingMessage(mojo::internal::MultiplexRouter::MessageWrapper * message_wrapper, mojo::internal::MultiplexRouter::ClientCallBehavior client_call_behavior, base::SequencedTaskRunner * current_task_runner) Line 1095   C++
    libcef.dll!mojo::internal::MultiplexRouter::Accept(mojo::Message * message) Line 719   C++
    libcef.dll!mojo::MessageDispatcher::Accept(mojo::Message * message) Line 43   C++
    libcef.dll!mojo::Connector::DispatchMessageW(mojo::ScopedHandleBase<mojo::MessageHandle> handle) Line 560   C++
    libcef.dll!mojo::Connector::ReadAllAvailableMessages() Line 618   C++
    libcef.dll!mojo::Connector::OnHandleReadyInternal(unsigned int result) Line 451   C++
    [Inline Frame] libcef.dll!base::RepeatingCallback<void (unsigned int, const mojo::HandleSignalsState &)>::Run(unsigned int args, const mojo::HandleSignalsState & args) Line 242   C++
    libcef.dll!mojo::SimpleWatcher::OnHandleReady(int watch_id, unsigned int result, const mojo::HandleSignalsState & state) Line 279   C++
    libcef.dll!mojo::SimpleWatcher::Context::Notify(unsigned int result, MojoHandleSignalsState signals_state, unsigned int flags) Line 96   C++
    libcef.dll!mojo::SimpleWatcher::Context::CallNotify(const MojoTrapEvent * event) Line 65   C++
    libcef.dll!mojo::core::WatcherDispatcher::InvokeWatchCallback(unsigned __int64 context, unsigned int result, const mojo::core::HandleSignalsState & state, unsigned int flags) Line 94   C++
    libcef.dll!mojo::core::Watch::InvokeCallback(unsigned int result, const mojo::core::HandleSignalsState & state, unsigned int flags) Line 79   C++
    libcef.dll!mojo::core::RequestContext::~RequestContext() Line 73   C++
    libcef.dll!mojo::core::NodeChannel::OnChannelMessage(const void * payload, unsigned __int64 payload_size, std::__1::vector<mojo::PlatformHandle,std::__1::allocator<mojo::PlatformHandle>> handles) Line 835   C++
    libcef.dll!mojo::core::Channel::TryDispatchMessage(base::span<const char,18446744073709551615> buffer, unsigned __int64 * size_hint) Line 944   C++
    libcef.dll!mojo::core::Channel::OnReadComplete(unsigned __int64 bytes_read, unsigned __int64 * next_read_size_hint) Line 849   C++
    [Inline Frame] libcef.dll!mojo::core::`anonymous namespace'::ChannelWin::OnReadDone(unsigned __int64 bytes_read) Line 300   C++
    libcef.dll!mojo::core::`anonymous namespace'::ChannelWin::OnIOCompleted(base::MessagePumpForIO::IOContext * context, unsigned long bytes_transfered, unsigned long error) Line 286   C++
    libcef.dll!base::MessagePumpForIO::WaitForIOCompletion(unsigned long timeout) Line 787   C++
    libcef.dll!base::MessagePumpForIO::WaitForWork(base::MessagePump::Delegate::NextWorkInfo next_work_info) Line 760   C++
    libcef.dll!base::MessagePumpForIO::DoRunLoop() Line 742   C++
    libcef.dll!base::MessagePumpWin::Run(base::MessagePump::Delegate * delegate) Line 80   C++
    libcef.dll!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool application_tasks_allowed, base::TimeDelta timeout) Line 501   C++
    libcef.dll!base::RunLoop::Run(const base::Location & location) Line 143   C++
    libcef.dll!base::Thread::Run(base::RunLoop * run_loop) Line 334   C++
    libcef.dll!content::BrowserProcessIOThread::IOThreadRun(base::RunLoop * run_loop) Line 134   C++
    libcef.dll!content::BrowserProcessIOThread::Run(base::RunLoop * run_loop) Line 103   C++
    libcef.dll!base::Thread::ThreadMain() Line 408   C++
    libcef.dll!base::`anonymous namespace'::ThreadFunc(void * params) Line 122   C++

leeroy
Expert
 
Posts: 103
Joined: Mon Jan 06, 2020 6:27 pm

Re: CEF 5005: Crash Logs !is_bound(). Receiver is already bo

Postby leeroy » Tue May 10, 2022 5:39 pm

We are thinking this is related to https://bitbucket.org/chromiumembedded/ ... ot-working, but not 100% sure.

Setting --disable-request-handling-for-testing resolves the crash.
leeroy
Expert
 
Posts: 103
Joined: Mon Jan 06, 2020 6:27 pm

Re: CEF 5005: Crash Logs !is_bound(). Receiver is already bo

Postby leeroy » Thu May 26, 2022 11:03 am

After upgrading to cef_binary_102.0.8+g60bd108+chromium-102.0.5005.61

Running into this error on debug when using a proxy server, no longer receiving the original error:
Code: Select all
[0526/082144.056:FATAL:url_util.cc(488)] Check failed: !g_scheme_registries_used.load(). Trying to add a scheme after the lists have been used. Make sure that you haven't added any static GURL initializers in tests.
url_util.cc
void DoSchemeModificationPreamble() {
  // If this assert triggers, it means you've called Add*Scheme after
  // the SchemeRegistry has been used.
  //
  // This normally means you're trying to set up a new scheme too late or using
  // the SchemeRegistry too early in your application's init process.
  DCHECK(!g_scheme_registries_used.load())
      << "Trying to add a scheme after the lists have been used. "
         "Make sure that you haven't added any static GURL initializers in tests.";

  // If this assert triggers, it means you've called Add*Scheme after
  // LockSchemeRegistries has been called (see the header file for
  // LockSchemeRegistries for more).
  //
  // This normally means you're trying to set up a new scheme too late in your
  // application's init process. Locate where your app does this initialization
  // and calls LockSchemeRegistries, and add your new scheme there.
  DCHECK(!scheme_registries_locked)
      << "Trying to add a scheme after the lists have been locked.";
}


Stack:
Code: Select all
[libcef.dll] logging::LogMessage::~LogMessage() 0x00007ffaef4963c7
[libcef.dll] logging::LogMessage::~LogMessage() 0x00007ffaef496eb0
[libcef.dll] url::`anonymous namespace'::DoSchemeModificationPreamble() url_util.cc:488
[libcef.dll] url::`anonymous namespace'::DoAddSchemeWithType(const char *, SchemeType, std::vector<…> *) url_util.cc:516
[libcef.dll] content::RegisterContentSchemes(bool) url_schemes.cc:61
[libcef.dll] content::ContentMainRunnerImpl::Initialize(ContentMainParams) content_main_runner_impl.cc:805
[libcef.dll] content::ContentMainInitialize(ContentMainParams, content::ContentMainRunner *) content_main.cc:336
[libcef.dll] CefMainRunner::ContentMainInitialize(const CefMainArgs &, void *, int *) main_runner.cc:378
[libcef.dll] CefMainRunner::Initialize(CefStructBase<…> *, scoped_refptr<…>, const CefMainArgs &, void *, bool *, OnceCallback<…>) main_runner.cc:229
[libcef.dll] CefContext::Initialize(const CefMainArgs &, const CefStructBase<…> &, scoped_refptr<…>, void *) context.cc:359
[libcef.dll] CefInitialize(const CefMainArgs &, const CefStructBase<…> &, scoped_refptr<…>, void *) context.cc:215
[libcef.dll] cef_initialize(const _cef_main_args_t *, const _cef_settings_t *, _cef_app_t *, void *) libcef_dll.cc:121
[app.exe] CefInitialize(const CefMainArgs &, const CefStructBase<…> &, scoped_refptr<…>, void *) libcef_dll_wrapper.cc:102
[app.exe] client::MainContextImpl::Initialize(const CefMainArgs &, const CefStructBase<…> &, scoped_refptr<…>, void *) main_context_impl.cc:250
[app.exe] client::APP::RunMain(HINSTANCE__ *, int) cefclient_win.cc:581
[app.exe] wWinMain(HINSTANCE__ *, HINSTANCE__ *, wchar_t *, int) cefclient_win.cc:835
[app.exe] invoke_main() 0x00007ff66a1b1ec2
[app.exe] __scrt_common_main_seh() 0x00007ff66a1b1d6e
[app.exe] __scrt_common_main() 0x00007ff66a1b1c2e
[app.exe] wWinMainCRTStartup(void *) 0x00007ff66a1b1f5e
[kernel32.dll] <unknown> 0x00007ffbb1767034
[ntdll.dll] <unknown> 0x00007ffbb3302651
leeroy
Expert
 
Posts: 103
Joined: Mon Jan 06, 2020 6:27 pm


Return to Support Forum

Who is online

Users browsing this forum: No registered users and 38 guests