-
Bug
-
Resolution: Done
-
P1: Critical
-
6.4.0
-
-
3a7eb23c2a (qt/qtdeclarative/dev) 0b0ee235f9 (qt/qtdeclarative/6.4) 0b0ee235f9 (qt/tqtc-qtdeclarative/6.4) 3a7eb23c2a (qt/tqtc-qtdeclarative/dev) 0b0ee235f9 (qt/tqtc-qtdeclarative/tqtc/qtinsight-6.4)
Build & Run the attached example ( Deletable87g28712.zip
) in Qt Creator for Qt WebAssembly, 6.4.0 or for macOS. It produces a crash :
For WebAssembly the call stack looks like this :
Uncaught RuntimeError: memory access out of bounds
at QHash<unsigned int, QSGDistanceFieldGlyphCache::GlyphData>::find(unsigned int const&) (Deletable87g28712.wasm:0x21a457)
at QSGDistanceFieldGlyphCache::glyphData(unsigned int) (Deletable87g28712.wasm:0x21a12b)
at QSGDistanceFieldGlyphNode::updateGeometry() (Deletable87g28712.wasm:0x28581c)
at QSGDistanceFieldGlyphNode::preprocess() (Deletable87g28712.wasm:0x28556b)
at QSGRenderer::preprocess() (Deletable87g28712.wasm:0x223c32)
at QSGRenderer::renderScene() (Deletable87g28712.wasm:0x223173)
at QSGDefaultRenderContext::renderNextFrame(QSGRenderer*) (Deletable87g28712.wasm:0x2750db)
at QQuickWindowPrivate::renderSceneGraph(QSize const&, QSize const&) (Deletable87g28712.wasm:0x20e51e)
at QSGGuiThreadRenderLoop::renderWindow(QQuickWindow*) (Deletable87g28712.wasm:0x1dfa3c)
at QSGGuiThreadRenderLoop::exposureChanged(QQuickWindow*) (Deletable87g28712.wasm:0x1e0139)
+
Uncaught RuntimeError: memory access out of bounds
at QRawFont::pathForGlyph(unsigned int) const (Deletable87g28712.wasm:0xc5396e)
at QSGDistanceFieldGlyphCache::glyphData(unsigned int) (Deletable87g28712.wasm:0x21a277)
at QSGDistanceFieldGlyphNode::updateGeometry() (Deletable87g28712.wasm:0x28581c)
at QSGDistanceFieldGlyphNode::preprocess() (Deletable87g28712.wasm:0x28556b)
at QSGRenderer::preprocess() (Deletable87g28712.wasm:0x223c32)
at QSGRenderer::renderScene() (Deletable87g28712.wasm:0x223173)
at QSGDefaultRenderContext::renderNextFrame(QSGRenderer*) (Deletable87g28712.wasm:0x2750db)
at QQuickWindowPrivate::renderSceneGraph(QSize const&, QSize const&) (Deletable87g28712.wasm:0x20e51e)
at QSGGuiThreadRenderLoop::renderWindow(QQuickWindow*) (Deletable87g28712.wasm:0x1dfa3c)
at QSGGuiThreadRenderLoop::handleUpdateRequest(QQuickWindow*) (Deletable87g28712.wasm:0x1e04f2)
For macOS the crash log looks like this :
crash.log![]()
I did not try to reproduce the issue under Windows.
The exact same code works fine with Qt 6.2.2 and also with Qt 6.3.2 .
| For Gerrit Dashboard: QTBUG-107594 | ||||||
|---|---|---|---|---|---|---|
| # | Subject | Branch | Project | Status | CR | V |
| 438919,4 | Keep track of glyphs we're asked to reference | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
| 439236,2 | Keep track of glyphs we're asked to reference | 6.4 | qt/qtdeclarative | Status: MERGED | +2 | 0 |