Disclosure Statement: This site contains affiliate links, which means that I may receive a commission if you make a purchase using these links. As an eBay Partner, I earn from qualifying purchases.
If you find these projects useful please consider becoming a sponsor with Patreon, GitHub or Liberapay.

Update to CEF 75.1.14

Post Reply
User avatar
salvadordf
Posts: 4565
Joined: Thu Feb 02, 2017 12:24 pm
Location: Spain
Contact:

Update to CEF 75.1.14

Post by salvadordf »

Hi,

CEF4Delphi has been updated to CEF 75.1.14 at GitHub.

These are the changes in the CEF binaries : These are the CEF binaries :
User avatar
Paulo França
Posts: 17
Joined: Mon Jul 15, 2019 2:22 am
Location: Brazil
Contact:

Re: Update to CEF 75.1.14

Post by Paulo França »

Hi, Salvador.
I'm not sure I should post it here. It's just to let you know...

I've just installed this version and my app now crashes miserably upon termination (in both single/multi-process modes).
No specific error message; it just hangs and gets forcibly terminated by the OS. By the way, I'm running Delphi 10.3.2 (the latest one) on Windows 7/64-bit.

So I reverted to v75.1.8 (both Chromium binaries and CEF4Delphi sources), recompiled all, and my app is back to the normal state, i.e., it terminates smoothly again (even in single-process mode).

Screenshot:
Image
User avatar
salvadordf
Posts: 4565
Joined: Thu Feb 02, 2017 12:24 pm
Location: Spain
Contact:

Re: Update to CEF 75.1.14

Post by salvadordf »

I tested all the Delphi demos using Delphi 10.3 in Windows 7 (64 bits) and I couldn't reproduce this issue. I would need a code sample to reproduce it.

This is usually caused by :
  • The application is not following the destruction steps. These steps are described in the code comments inside the demo you used as a template for your application. This is the most frequent cause by far.
  • An unreleased interface. Perhaps the application has some global variables with CEF interfaces that are not set to nil before closing the main form.
User avatar
Paulo França
Posts: 17
Joined: Mon Jul 15, 2019 2:22 am
Location: Brazil
Contact:

Re: Update to CEF 75.1.14

Post by Paulo França »

But the same application runs and finalizes fine on v75.1.8, from inside or outside the Delphi IDE, compiled for 32-bit/64-bit platforms, under single- and multi-process models.
The app only hangs with v75.1.14. Very odd.
I'm sticking with v75.1.8 for now, until I find the possible cause, if any.
Thank you.
User avatar
salvadordf
Posts: 4565
Joined: Thu Feb 02, 2017 12:24 pm
Location: Spain
Contact:

Re: Update to CEF 75.1.14

Post by salvadordf »

Please, try adding this code before the GlobalCEFApp.StartMainProcess call in the DPR file :

Code: Select all

GlobalCEFApp.DisableFeatures := 'NetworkService';
If your application uses browsers in OSR mode then try this code instead :

Code: Select all

GlobalCEFApp.DisableFeatures := 'NetworkService,VizDisplayCompositor';
Even when an app is not destroying all the browsers following the "destruction sequence", CEF will try to destroy them when it detects that the application is closing.

However, this automatic destruction is not always successful and it may fail on some configurations. That's why it's recommended to destroy all the browsers before closing the application.

Right now, the "Network Service" still has some issues and it may also cause this problem in some configurations when the application closes.
User avatar
Paulo França
Posts: 17
Joined: Mon Jul 15, 2019 2:22 am
Location: Brazil
Contact:

Re: Update to CEF 75.1.14

Post by Paulo França »

salvadordf wrote: Tue Jul 30, 2019 9:36 am Please, try adding this code before the GlobalCEFApp.StartMainProcess call in the DPR file :

Code: Select all

GlobalCEFApp.DisableFeatures := 'NetworkService';
Already using this. Apparently, this is not affecting my case.
If your application uses browsers in OSR mode then try this code instead :

Code: Select all

GlobalCEFApp.DisableFeatures := 'NetworkService,VizDisplayCompositor';
Not using OSR mode, but just tried with 'VizDisplayCompositor' in the disabling string. Still crashes.

Interesting to notice, the following are the unusual entries I see in the "debug.log" file, when using v75.1.14:

Code: Select all

[0730/141652.459:ERROR:gpu_process_host.cc(539)] !GpuDataManagerImpl::GpuProcessStartAllowed()
[0730/141837.427:ERROR:broker_win.cc(137)] Error sending sync broker message: The pipe is being closed. (0xE8)
[0730/141837.427:FATAL:handle.h(99)] Check failed: handle_.is_valid().
I don't see those lines when using v75.1.8 (which works and terminates normally).
Post Reply