Fix intermittent startup crash on Windows: honor disableHttpsFeatures in Welcome Tab#1905
Open
SatyamAgarwl wants to merge 1 commit into
Open
Fix intermittent startup crash on Windows: honor disableHttpsFeatures in Welcome Tab#1905SatyamAgarwl wants to merge 1 commit into
SatyamAgarwl wants to merge 1 commit into
Conversation
… in Welcome Tab The Windows/macOS WelcomeTab created its QWebEngineView unconditionally, so the embedded Chromium always started even with disableHttpsFeatures enabled - and its startup intermittently crashes the whole app with an access violation in Qt5WebEngineCore.dll on newer Windows builds. Skip creating the web view when disableHttpsFeatures is set, consistent with the Welcome Tab menu action gating in MainWindow and with the Linux implementation, so the embedded Chromium never initializes. Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Problem
On Windows 11, Robo 3T 1.4.4 intermittently crashes ~30–60 seconds after startup. It typically takes 4–5 launch attempts before an instance stays open. The Windows Event Log shows the same signature every time:
Crash-dump analysis shows the faulting thread entirely inside
Qt5WebEngineCore.dll(Chromium 69) during embedded-browser startup — a timing race between the bundled 2018-era Chromium and current Windows builds.Investigation
The crash is triggered purely by the Welcome Tab's
QWebEngineViewstarting the embedded Chromium. In 17 instrumented launches, the crash reproduced regardless of every external mitigation:%LOCALAPPDATA%\robo3t)QTWEBENGINE_CHROMIUM_FLAGS:--disable-gpu,--no-sandbox,--disable-http-cache,--proxy-serverblackhole,--host-resolver-rulesblocking the feed host"disableHttpsFeatures": trueinrobo3t.jsondisableHttpsFeatures=truenot helping is the notable one:MainWindow.cppgates the Welcome Tab menu action on this setting, and the Linux implementation ofWelcomeTabhonors it too — but the Windows/macOS implementation creates theQWebEngineViewunconditionally, so the embedded Chromium always starts and the setting cannot prevent the crash.Fix
Make the Windows/macOS
WelcomeTabrespectdisableHttpsFeatures, consistent with the menu action and the Linux implementation: when the setting is enabled, skip creating theQWebEngineViewentirely. No WebEngine object is ever instantiated, so the embedded Chromium never initializes and the crash cannot occur. Users hitting this crash get a working opt-out (Options → Disable HTTPS features, or"disableHttpsFeatures": trueinrobo3t.json).The Welcome Tab simply renders empty in that case, matching the existing intent of the setting.
Note: I don't have a Qt 5.12/MSVC build environment to produce a Windows binary, so this is compile-untested but mirrors the exact
AppRegistry::instance().settingsManager()->disableHttpsFeatures()usage already present inMainWindow.cppand the Linux section of this same file.