Details
-
Bug
-
Resolution: Unresolved
-
P1: Critical
-
None
-
6.9.1
Description
A GridView in QML is used to display a list of items, each with an image loaded from Azure Blob Storage (behind Azure Front Door). Everything works fine at first — the images load and scroll smoothly — but after a while, image loading completely stops. No new images appear, and the only way to recover is by restarting the app. This seems to occur more frequently when scrolling quickly. Cache is not disabled, and asynchronous loading hasn't been changed.
In the console, errors like the following are consistently seen:
qt.network.http2: stream XXXX error: “HEADERS on invalid stream”
qt.network.http2: stream XXXX finished with error: “HTTP/2 protocol error”
After these errors appear, no further image content is loaded.
This issue didn't occur in earlier versions of Qt, or at least it wasn't this severe. It is suspected that something may have changed in Qt’s HTTP/2 handling, possibly causing the connection to get into an unrecoverable state.
Additional context:
Nothing unusual is done in the delegate — just using a standard Image element with its source bound to a URL.
The same image URLs load fine in a browser.
Restarting the app resolves the issue immediately, but only temporarily.
The images load perfectly fine as long as scrolling isn't done too quickly or for too long in the GridView.
A C++ QAbstractItemModel is used to load the model.
The attached example project could help reproducing the issue.