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

Segfault loading FreeType on ARM

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • P1: Critical
    • None
    • 4.7.0
    • None
    • GCC 4.3.2
      Qt 4.7 RC1
      ARM PXA27x

    Description

      Consistent segfaults occur running the supplied qws examples on an ARM target. Both the simpledecoration and mousecalibration examples exhibit this behavior. The framebuffer example works fine. I tested this on the latest stable release (4.6.3) and I could not reproduce this problem. Additionally, I tested 4.7 RC1 configured with -no-freetype and could successfully execute the simpledecoration example. This is a potential workaround if you don't need freetype. My configure command looked something like:

      ./configure -embedded arm -xplatform qws/linux-arm-gnueabi-g++ -little-endian -qt-gfx-transformed -qt-gfx-linuxfb -nomake demos -nomake examples -no-svg -no-phonon -no-qt3support -debug

      Here is the BT:
      #0 0x41222068 in _HB_GDEF_LoadMarkAttachClassDef_From_LookupFlags (gdef=0x5a5, stream=0x5a310, lo=0x5bbb8, num_lookups=28) at ../3rdparty/harfbuzz/src/harfbuzz-gdef.c:1141
      #1 0x41222850 in HB_Load_GSUB_Table (stream=0x5a7b8, retptr=0x5a2c5, gdef=0x5a5, gdefStream=0x5a310) at ../3rdparty/harfbuzz/src/harfbuzz-gsub.c:116
      #2 0x41272d64 in HB_NewFace (font=0x55278, tableFunc=0x406f7268 <hb_getSFntTable>) at ../3rdparty/harfbuzz/src/harfbuzz-shaper.cpp:989
      #3 0x41273da4 in qHBNewFace (font=0x55278, tableFunc=0x406f7268 <hb_getSFntTable>) at tools/qharfbuzz.cpp:125
      #4 0x406f8c5c in QFreetypeFace::getFace (face_id=@0x4fc6c) at text/qfontengine_ft.cpp:239
      #5 0x406f9280 in QFontEngineFT::init (this=0x4f7c8, faceId=
      {filename = {static shared_null = {ref = {_q_value = 3}, alloc = 0, size = 0, data = 0x41546564 "", array = ""}, static shared_empty = {ref = {_q_value = 2}, alloc = 0, size = 0, data = 0x41546578 "", array = ""}, d = 0xbeac4eac}, index = 325576, encoding = 1073797772}, antialias=true, format=QFontEngineFT::Format_A8) at text/qfontengine_ft.cpp:663
      #6 0x405dac1c in loadSingleEngine (script=0, fp=0x4e6f8, request=@0xbeac5140, family=0x28f10, foundry=0x28f50, style=0x291f0, size=0x29208) at text/qfontdatabase_qws.cpp:636
      #7 0x405db55c in loadEngine (script=0, fp=0x4e6f8, request=@0xbeac5140, family=0x28f10, foundry=0x28f50, style=0x291f0, size=0x29208) at text/qfontdatabase_qws.cpp:690
      #8 0x405e3750 in QFontDatabase::findFont (script=0, fp=0x4e6f8, request=@0xbeac5140) at text/qfontdatabase_qws.cpp:830
      #9 0x405e43d4 in QFontDatabase::load (d=0x4e6f8, script=0) at text/qfontdatabase_qws.cpp:955
      #10 0x405b0968 in QFontPrivate::engineForScript (this=0x4e6f8, script=0) at text/qfont.cpp:270
      #11 0x405d1c00 in QFontMetricsF::leading (this=0xbeac7bcc) at text/qfontmetrics.cpp:1215
      #12 0x4041d2fc in qt_format_text (fnt=@0x4ebf8, _r=@0xbeac7d3c, tf=134217860, option=0x0, str=@0xbeac7e74, brect=0x0, tabstops=0, tabarraylen=0, painter=0xbeac7f04) at painting/qpainter.cpp:7966
      #13 0x4041e300 in QPainter::drawText (this=0xbeac7f04, r=@0xbeac7e48, flags=132, str=@0xbeac7e74, br=0x0) at painting/qpainter.cpp:6036
      #14 0x0000d6c4 in MyDecoration::paint (this=0x2d4a8, painter=0xbeac7f04, widget=0xbeac8c48, decorationRegion=2147483647, state=QDecoration::Normal) at mydecoration.cpp:307
      #15 0x405977a0 in QWidgetBackingStore::paintWindowDecoration (this=0x350f0) at painting/qbackingstore.cpp:822
      #16 0x40597984 in QWidgetBackingStore::flush (this=0x350f0, widget=0x0, surface=0x0) at painting/qbackingstore.cpp:1383
      #17 0x4059cf14 in QWidgetBackingStore::beginPaint (this=0x350f0, toClean=@0xbeac81d4, widget=0xbeac8c48, windowSurface=0x35c80, returnInfo=0xbeac81d0, toCleanIsInTopLevelCoordinates=true) at painting/qbackingstore.cpp:332
      #18 0x4059ddb8 in QWidgetBackingStore::sync (this=0x350f0) at painting/qbackingstore.cpp:1264
      #19 0x402c6bfc in QWidgetPrivate::syncBackingStore (this=0x33488) at kernel/qwidget.cpp:1776
      #20 0x402d75ec in QWidget::event (this=0xbeac8c48, event=0x35f60) at kernel/qwidget.cpp:8451
      #21 0x4023c1f0 in QApplicationPrivate::notify_helper (this=0x1ff08, receiver=0xbeac8c48, e=0x35f60) at kernel/qapplication.cpp:4396
      #22 0x4023f72c in QApplication::notify (this=0xbeac8c5c, receiver=0xbeac8c48, e=0x35f60) at kernel/qapplication.cpp:4361
      #23 0x41340914 in QCoreApplication::notifyInternal (this=0xbeac8c5c, receiver=0xbeac8c48, event=0x35f60) at kernel/qcoreapplication.cpp:732
      #24 0x40237f4c in QCoreApplication::sendEvent (receiver=0xbeac8c48, event=0x35f60) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
      #25 0x41341080 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x1eae8) at kernel/qcoreapplication.cpp:1370
      #26 0x413412f4 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1266
      #27 0x401df900 in QCoreApplication::sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
      #28 0x4031f9cc in QEventDispatcherQWS::processEvents (this=0x1fc30, flags=

      {i = -1095988360}

      ) at kernel/qeventdispatcher_qws.cpp:92
      #29 0x4133bc90 in QEventLoop::processEvents (this=0xbeac8bf4, flags=

      {i = -1095988300}

      ) at kernel/qeventloop.cpp:149
      #30 0x4133bfd0 in QEventLoop::exec (this=0xbeac8bf4, flags=

      {i = -1095988228}

      ) at kernel/qeventloop.cpp:197
      #31 0x413414cc in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
      #32 0x4023f76c in QApplication::exec () at kernel/qapplication.cpp:3672
      #33 0x0000cd4c in main (argc=1, argv=0xbeac8de4) at main.cpp:64

      Attachments

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

        Activity

          People

            jolind Jorgen Lind
            sbrams Scott Brams
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes