Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-107594

Crash when rendering emojis with NotoEmoji font

    XMLWordPrintable

Details

    • All
    • 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)

    Description

      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 .

      Attachments

        1. crash.log
          29 kB
        2. Deletable87g28712.zip
          8.79 MB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            manordheim Mårten Nordheim
            csnt Csaba Szigeti
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes