When scrolling the content of a WebEngineView while it resizes, it is possible to cause the embedding application to crash in the render thread. The stack trace when this occurs is seemingly different based on the website that is being viewed...
This issue can be reproduced with the following QML file. Load this file via qmlscene or your favorite `main.cpp` (I used the one that was created with a default QMake project in Qt Creator), wait for the WebView to load, then scroll up and down vigorously using the scroll bar (the mouse wheel does not trigger a crash):
(Epilepsy warning: depending on the content of the website, this could cause annoying or dangerous flashing as the WebView reflows constantly)
Again, the observed stack trace changes based on the site that is being viewed at the time of the crash. For example, when https://github.com is open:
But when https://secure.endless.horse is open:
On some sites, it is very difficult to trigger the bug. But with enough attempts, you can most likely get it to occur.
I've triggered this issue with QWE 5.14.2 on top of QtBase 5.9.5 on Ubuntu 16.04, QWE 5.12.8 on Qt 5.12.8 on Ubuntu 20.04, and QWE 5.12.9 on Qt 5.12.9 downloaded with Qt Creator on Ubuntu 20.04. It's been triggered on x86_64 and arm64 platforms.
I've been unable to trigger this issue on any of the following Qt versions, all downloaded from Qt Creator:
- 5.15.0 on Ubuntu 20.04
- 5.14.2 on Ubuntu 20.04
- 5.15.0, 5.14.2, 5.12.9 on macOS Catalina
This is potentially related to https://bugreports.qt.io/browse/QTBUG-76181, at least I have been able to trigger it under a disturbingly similar yet seemingly unrelated scenario: https://github.com/ubports/qtwebengine-opensource-src-packaging/issues/38
|For Gerrit Dashboard: QTBUG-85802|
|331620,2||Match render pass structures check to actual tree traversal loop||5.12||qt/qtwebengine||Status: MERGED||+2||0|