Details
-
Bug
-
Resolution: Unresolved
-
P1: Critical
-
None
-
6.8.3
-
None
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
Gerrit Reviews
For Gerrit Dashboard: QTBUG-137277 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
649161,2 | DirectWrite: Avoid infinite recursion with broken font data | dev | qt/qtbase | Status: NEW | +2 | +1 |