Wait on shutdown for docks to close on Linux ('simplest' solution) #450
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Fixes a 100% reproducible crash on shutdown when running Chromium 127.
This is likely the same crash users have been running into with current CEF with a lower hit rate.
This is a temporary/simplified solution to allow a quick CEF upgrade.
Ideally we should track open docks & count
OnBeforeClose
calls before fully closing, per CEF documentation.The same fix does not seem to be needed for browser sources, likely because they're closed earlier in the shutdown flow.
Motivation and Context
Crashes are bad, including on shutdown.
How Has This Been Tested?
Ubuntu 24.04.
Without this fix, using a DCHECK enabled CEF build to read the error message:
With additional logging in OBS, the culprit was identified as Qt not waiting long enough for browser docks to close.
Good browser dock close (such as closing a single dock with its X):
Bad browser dock close (closing the app while browser docks are loaded):
Types of changes
Checklist: