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

Stack overflow in QFontEngine (due to infinite recursion)

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P1: Critical
    • None
    • 6.8.3
    • GUI: Font handling
    • None
    • Windows

    Description

      Stack overflow in QFontEngine due to infinite recursion.

      Observing this when analyzing our users' crashes in Sentry.
      It's never reproduced in our testing environment, so I have no idea about step/preconditions.. Perhaps this can be reproduced with specific font.

      OS Version: Windows 10.0.26100 (4061)
      Report Version: 104
      
      Crashed Thread: 8228
      
      Application Specific Information:
      Fatal Error: EXCEPTION_STACK_OVERFLOW / 0x7ff9ccc25597
      
      Thread 8228 Crashed:
      0   DWrite.dll                      0x7ff9ccc25597      FontFragmentPtr<T>::Initialize
      1   DWrite.dll                      0x7ff9ccc25532      FontFileReference::ReadIntoBuffer
      2   DWrite.dll                      0x7ff9ccc252e0      OpenTypeTableDirectory::GetTableCount
      3   DWrite.dll                      0x7ff9ccc251b7      OpenTypeTableDirectory::OpenTypeTableDirectory
      4   DWrite.dll                      0x7ff9cccaab50      DWriteFontFace::TryGetFontTable
      5   Qt6Gui.dll                      0x7ff96bdb4322      QWindowsFontEngineDirectWrite::getSfntTableData (qwindowsfontenginedirectwrite.cpp:416)
      6   Qt6Gui.dll                      0x7ff96bbdf91c      [inlined] QFontEngine::getSfntTable (qfontengine.cpp:979)
      7   Qt6Gui.dll                      0x7ff96bbdf91c      QFontEngine::initializeHeightMetrics (qfontengine.cpp:416)
      8   DWrite.dll                      0x7ff9cccaab78      DWriteFontFace::TryGetFontTable
      9   <unknown>                       0x60f051b2d494      <unknown>
      10  Qt6Gui.dll                      0x7ff96bbdbb88      QFontEngine::ascent (qfontengine.cpp:497)
      11  Qt6Gui.dll                      0x7ff96bdb3ed0      [inlined] QFontEngine::emSquareSize (qfontengine_p.h:162)
      12  Qt6Gui.dll                      0x7ff96bdb3ed0      QWindowsFontEngineDirectWrite::emSquareSize (qwindowsfontenginedirectwrite.cpp:440)
      13  Qt6Gui.dll                      0x7ff96bbe0a85      QFontEngine::processHheaTable (qfontengine.cpp:398)
      14  Qt6Gui.dll                      0x7ff96bbdfaf5      QFontEngine::initializeHeightMetrics (qfontengine.cpp:422)
      15  Qt6Gui.dll                      0x7ff96bdb51ba      QWindowsFontEngineDirectWrite::initializeHeightMetrics (qwindowsfontenginedirectwrite.cpp:360)
      16  Qt6Gui.dll                      0x7ff96bbdbb88      QFontEngine::ascent (qfontengine.cpp:497)
      17  Qt6Gui.dll                      0x7ff96bdb3ed0      [inlined] QFontEngine::emSquareSize (qfontengine_p.h:162)
      18  Qt6Gui.dll                      0x7ff96bdb3ed0      QWindowsFontEngineDirectWrite::emSquareSize (qwindowsfontenginedirectwrite.cpp:440)
      19  Qt6Gui.dll                      0x7ff96bbe0a85      QFontEngine::processHheaTable (qfontengine.cpp:398)
      20  Qt6Gui.dll                      0x7ff96bbdfaf5      QFontEngine::initializeHeightMetrics (qfontengine.cpp:422)
      21  Qt6Gui.dll                      0x7ff96bdb51ba      QWindowsFontEngineDirectWrite::initializeHeightMetrics (qwindowsfontenginedirectwrite.cpp:360)
      22  Qt6Gui.dll                      0x7ff96bbdbb88      QFontEngine::ascent (qfontengine.cpp:497)
      ....
      <repeats>
      ...
      

      Attachments

        For Gerrit Dashboard: QTBUG-137277
        # Subject Branch Project Status CR V

        Activity

          People

            esabraha Eskil Abrahamsen Blomfeldt
            studiosus Vladimir Belyavsky
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There is 1 open Gerrit change