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

QtQuick apps crash when font antialiasing is disabled (developer build)

    XMLWordPrintable

Details

    • a4e2f2e687ca7aec88ecf82f72d42ac61e17a5b9

    Description

      Disable font antialiasing by creating a file fonts.conf in ~/.config/fontconfig/ with the following content:

      <?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd">
      <fontconfig>
       <match target="font">
        <edit name="antialias" mode="assign">
         <bool>false</bool>
        </edit>
       </match>
      </fontconfig>
      

      Run a QtQuick application, e.g. window example from examples/quick/window/. It will crash with the following message:
      ASSERT failure in QVector<T>::at: "index out of range", file ../../include/QtCore/../../src/corelib/tools/qvector.h, line 419

      Stacktrace:

      Program received signal SIGABRT, Aborted.
      0x00007ffff476fbe5 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
      64      ../nptl/sysdeps/unix/sysv/linux/raise.c: Нет такого файла или каталога.
      (gdb) bt
      #0  0x00007ffff476fbe5 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
      #1  0x00007ffff4773238 in __GI_abort () at abort.c:91
      #2  0x00007ffff58814a3 in qt_message_fatal (context=..., message=...) at global/qlogging.cpp:1610
      #3  0x00007ffff587d9c0 in QMessageLogger::fatal (this=0x7fffffffa7a0, msg=0x7ffff5c08278 "ASSERT failure in %s: \"%s\", file %s, line %d")
          at global/qlogging.cpp:784
      #4  0x00007ffff5876ac9 in qt_assert_x (where=0x7ffff726bdb9 "QVector<T>::at", what=0x7ffff726bd8f "index out of range",
          file=0x7ffff726bd58 "../../include/QtCore/../../src/corelib/tools/qvector.h", line=419) at global/qglobal.cpp:3002
      #5  0x00007ffff6e3058b in QVector<unsigned int>::at (this=0xc49d90, i=1) at ../../include/QtCore/../../src/corelib/tools/qvector.h:419
      #6  0x00007ffff6e26e1b in QImage::pixel (this=0x7fffffffa920, x=0, y=20) at image/qimage.cpp:2235
      #7  0x00007ffff6f85f0b in imageHasNarrowOutlines (im=...) at text/qdistancefield.cpp:700
      #8  0x00007ffff6f8631a in qt_fontHasNarrowOutlines (f=...) at text/qdistancefield.cpp:759
      #9  0x00007ffff7802445 in QSGDistanceFieldGlyphCache::QSGDistanceFieldGlyphCache (this=0xc48750, man=0xc48730, c=0x84ad40, font=...)
          at scenegraph/qsgadaptationlayer.cpp:62
      #10 0x00007ffff781264d in QSGDefaultDistanceFieldGlyphCache::QSGDefaultDistanceFieldGlyphCache (this=0xc48750, man=0xc48730, c=0x84ad40, font=...)
          at scenegraph/qsgdefaultdistancefieldglyphcache.cpp:66
      #11 0x00007ffff78080c0 in QSGRenderContext::distanceFieldGlyphCache (this=0x7a4ce0, font=...) at scenegraph/qsgcontext.cpp:572
      #12 0x00007ffff7817878 in QSGDistanceFieldGlyphNode::setGlyphs (this=0xc484a0, position=..., glyphs=...) at scenegraph/qsgdistancefieldglyphnode.cpp:108
      #13 0x00007ffff78c6f27 in QQuickTextNode::addGlyphs (this=0xc47e10, position=..., glyphs=..., color=..., style=QQuickText::Normal, styleColor=..., parentNode=0x0)
          at items/qquicktextnode.cpp:105
      #14 0x00007ffff78cd60f in QQuickTextNodeEngine::addToSceneGraph (this=0x7fffffffae10, parentNode=0xc47e10, style=QQuickText::Normal, styleColor=...)
          at items/qquicktextnodeengine.cpp:768
      #15 0x00007ffff78c7a83 in QQuickTextNode::addTextLayout (this=0xc47e10, position=..., textLayout=0x75bc60, color=..., style=QQuickText::Normal, styleColor=...,
          anchorColor=..., selectionColor=..., selectedTextColor=..., selectionStart=-1, selectionEnd=-1, lineStart=0, lineCount=1) at items/qquicktextnode.cpp:259
      #16 0x00007ffff78c3566 in QQuickText::updatePaintNode (this=0x75b6f0, oldNode=0x0, data=0x75a240) at items/qquicktext.cpp:2269
      #17 0x00007ffff7873920 in QQuickWindowPrivate::updateDirtyNode (this=0x75a090, item=0x75b6f0) at items/qquickwindow.cpp:2988
      #18 0x00007ffff78726ff in QQuickWindowPrivate::updateDirtyNodes (this=0x75a090) at items/qquickwindow.cpp:2733
      #19 0x00007ffff7865ae4 in QQuickWindowPrivate::syncSceneGraph (this=0x75a090) at items/qquickwindow.cpp:346
      #20 0x00007ffff78288a6 in QSGGuiThreadRenderLoop::renderWindow (this=0x7a1b40, window=0x75a050) at scenegraph/qsgrenderloop.cpp:390
      #21 0x00007ffff7828e54 in QSGGuiThreadRenderLoop::exposureChanged (this=0x7a1b40, window=0x75a050) at scenegraph/qsgrenderloop.cpp:441
      #22 0x00007ffff786545c in QQuickWindow::exposeEvent (this=0x75a050) at items/qquickwindow.cpp:206
      #23 0x00007ffff6dd6b4d in QWindow::event (this=0x75a050, ev=0x7fffffffdbf0) at kernel/qwindow.cpp:2070
      #24 0x00007ffff786a8d6 in QQuickWindow::event (this=0x75a050, e=0x7fffffffdbf0) at items/qquickwindow.cpp:1436
      #25 0x00007ffff5acefeb in QCoreApplicationPrivate::notify_helper (receiver=0x75a050, event=0x7fffffffdbf0) at kernel/qcoreapplication.cpp:1149
      #26 0x00007ffff5acec53 in doNotify (receiver=0x75a050, event=0x7fffffffdbf0) at kernel/qcoreapplication.cpp:1090
      #27 0x00007ffff5acebc6 in QCoreApplication::notify (this=0x7fffffffe0b0, receiver=0x75a050, event=0x7fffffffdbf0) at kernel/qcoreapplication.cpp:1076
      #28 0x00007ffff6dc4ec6 in QGuiApplication::notify (this=0x7fffffffe0b0, object=0x75a050, event=0x7fffffffdbf0) at kernel/qguiapplication.cpp:1608
      #29 0x00007ffff5aceb54 in QCoreApplication::notifyInternal2 (receiver=0x75a050, event=0x7fffffffdbf0) at kernel/qcoreapplication.cpp:1015
      #30 0x00007ffff6dcd10a in QCoreApplication::sendSpontaneousEvent (receiver=0x75a050, event=0x7fffffffdbf0)
          at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:230
      #31 0x00007ffff6dc9e96 in QGuiApplicationPrivate::processExposeEvent (e=0x848c40) at kernel/qguiapplication.cpp:2723
      #32 0x00007ffff6dc5199 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x848c40) at kernel/qguiapplication.cpp:1715
      #33 0x00007ffff6da8941 in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:638
      #34 0x00007fffed3d7ef4 in userEventSourceDispatch (source=0x6532b0) at eventdispatchers/qeventdispatcher_glib.cpp:70
      ---Type <return> to continue, or q <return> to quit---
      #35 0x00007ffff1a363f5 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
      #36 0x00007ffff1a36728 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
      #37 0x00007ffff1a367e4 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
      #38 0x00007ffff5b4b42b in QEventDispatcherGlib::processEvents (this=0x653320, flags=...) at kernel/qeventdispatcher_glib.cpp:417
      #39 0x00007fffed3d810a in QPAEventDispatcherGlib::processEvents (this=0x653320, flags=...) at eventdispatchers/qeventdispatcher_glib.cpp:115
      #40 0x00007ffff5acb40e in QEventLoop::processEvents (this=0x7fffffffdfb0, flags=...) at kernel/qeventloop.cpp:128
      #41 0x00007ffff5acb703 in QEventLoop::exec (this=0x7fffffffdfb0, flags=...) at kernel/qeventloop.cpp:204
      #42 0x00007ffff5acf2c5 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1285
      #43 0x00007ffff6dc4e76 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1599
      #44 0x0000000000401795 in main (argc=1, argv=0x7fffffffe258) at main.cpp:63
      

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            esabraha Eskil Abrahamsen Blomfeldt
            avolkov Alexander Volkov
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes