Page 1 of 1

crash on exit using debug version of libcef.dll

Posted: Thu May 23, 2019 10:52 am
by nimq
Hi!

1. Build any of the examples provided and copy \debug\* cef binary, after the code execution 0x80000003 error appears at libcef.dll

-- debug.log

[0523/133412.607:ERROR:viz_process_transport_factory.cc(309)] Switching to software compositing.
[0523/133412.652:FATAL:scoped_com_initializer.cc(33)] Check failed: ((HRESULT)0x80010106L) != hr_ (-2147417850 vs. -2147417850)Invalid COM thread model change
[0523/133412.652:ERROR:CEF4Delphi(1)] TCefApplication.ExecuteProcess error : External exception 80000003
[0523/133412.654:FATAL:content_client.cc(192)] Check failed: !g_content_client.
[0523/133412.654:ERROR:CEF4Delphi(1)] TCefApplication.InitializeLibrary error : External exception 80000003
[0523/133412.658:FATAL:context.cc(58)] Check failed: !g_context. CefShutdown was not called
[0523/133412.714:FATAL:scoped_com_initializer.cc(33)] Check failed: ((HRESULT)0x80010106L) != hr_ (-2147417850 vs. -2147417850)Invalid COM thread model change
[0523/133412.715:ERROR:CEF4Delphi(1)] TCefApplication.ExecuteProcess error : External exception 80000003
[0523/133412.715:FATAL:content_client.cc(192)] Check failed: !g_content_client.
[0523/133412.715:ERROR:CEF4Delphi(1)] TCefApplication.InitializeLibrary error : External exception 80000003
[0523/133412.717:FATAL:context.cc(58)] Check failed: !g_context. CefShutdown was not called
[0523/133412.759:FATAL:scoped_com_initializer.cc(33)] Check failed: ((HRESULT)0x80010106L) != hr_ (-2147417850 vs. -2147417850)Invalid COM thread model change
[0523/133412.759:ERROR:CEF4Delphi(1)] TCefApplication.ExecuteProcess error : External exception 80000003
[0523/133412.760:FATAL:content_client.cc(192)] Check failed: !g_content_client.
[0523/133412.760:ERROR:CEF4Delphi(1)] TCefApplication.InitializeLibrary error : External exception 80000003
[0523/133412.761:FATAL:context.cc(58)] Check failed: !g_context. CefShutdown was not called
[0523/133412.764:ERROR:gpu_process_host.cc(539)] !GpuDataManagerImpl::GpuProcessStartAllowed()
[0523/133412.764:ERROR:gpu_process_host.cc(539)] !GpuDataManagerImpl::GpuProcessStartAllowed()
[0523/133414.733:FATAL:shutdown_checker.cc(52)] Check failed: !IsCefShutdown(). Object reference incorrectly held at CefShutdown
[0523/133414.741:FATAL:shutdown_checker.cc(52)] Check failed: !IsCefShutdown(). Object reference incorrectly held at CefShutdown


I want to use debug version of libcef.dll for extended logging

2. I'm using MSVC to see the crashed stack trace, but I can not load debug symbols (libcef.dll.pdb) "A matching symbols file was not found in this folder". Have you faced this situation? I have downloaded the debug symbols (libcef.dll.pdb) but it doesn't fit to .dll

Re: crash on exit using debug version of libcef.dll

Posted: Thu May 23, 2019 11:23 am
by salvadordf
nimq wrote: Thu May 23, 2019 10:52 am 1. Build any of the examples provided and copy \debug\* cef binary, after the code execution 0x80000003 error appears at libcef.dll
That's a known issue with the debug version of the CEF binaries. They cause unexpected errors and exceptions.
Always use the binaries in the "Release" directory.
nimq wrote: Thu May 23, 2019 10:52 am 2. I'm using MSVC to see the crashed stack trace, but I can not load debug symbols (libcef.dll.pdb) "A matching symbols file was not found in this folder". Have you faced this situation? I have downloaded the debug symbols (libcef.dll.pdb) but it doesn't fit to .dll
I have a very limited experience debugging libcef.dll with the symbols. :oops:

Check that you're using the correct symbols. Use the release symbols if you use the release binaries and use the 64 bit symbols if you use the 64 bit binaries.
Also check that you put them in the right directory with the right GUID.

You should ask that question in a MSVC forum.

Re: crash on exit using debug version of libcef.dll

Posted: Thu May 23, 2019 11:38 am
by nimq
Can I get ERROR/FATAL debug messages from release libcef.dll?

I'm tring to set LogSeverity to 0-7, but doesnt see error/fatal messages

Thanks!

Re: crash on exit using debug version of libcef.dll

Posted: Thu May 23, 2019 12:40 pm
by salvadordf
Try adding these lines before the GlobalCEFApp.StartMainProcess call in the DPR file :

Code: Select all

  GlobalCEFApp.LogFile              := 'debug.log';
  GlobalCEFApp.LogSeverity          := LOGSEVERITY_VERBOSE;
You will see lots of debug messages but some of the ERROR messages that you had were caused by the "debug" CEF binaries and they should be ignored.

Edit : LOGSEVERITY_VERBOSE is defined in uCEFConstants.pas