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

Crash when drawing scrollbar when QGtkStyle is used

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • Not Evaluated
    • None
    • 4.8.1
    • GUI: Look'n'Feel
    • None
    • Linux/CentOS 5.8 32-bit. Gtk release is gtk2-2.10.4-21.el5_7.7

    Description

      After upgrading to Qt 4.8.1 on a CentOS 5 system, most applications will trigger a segmentation fault just after startup. Closer inspection reveals that the crash occurs in QGtkStyle while drawing a slider/scrollbar. One way to reproduce is:

      1. Log into the GNOME desktop
      2. Make sure GUI Style is set to "Desktop Settings (Default)" in Qt Configuration.
      3. /usr/lib/qt4/examples/dialogs/tabdialog/tabdialog (but substitute your Qt root for /usr/lib/qt4 as appropriate.)
      4. Select the "Applications" tab.

      This leads to a segmentation fault at the location shown in the below stack trace. The problem presumably also occurs if selecting "GTK+" for the GUI style, but this actually causes Qt Config to crash in a similar manner. (That may be an alternative way to reproduce the problem, actually...)

      Stack trace:

      #0 0x00000000 in ?? ()
      #1 0x0707f1cd in QGtkStyle::drawComplexControl (this=0x9198760,
      control=CC_ScrollBar, option=0xbfe11e34, painter=0xbfe11e9c,
      widget=0x92fa0a8) at styles/qgtkstyle.cpp:1714
      #2 0x071c36c1 in QScrollBar::paintEvent (this=0x92fa0a8)
      at widgets/qscrollbar.cpp:565
      #3 0x06c446e6 in QWidget::event (this=0x92fa0a8, event=0xbfe126f8)
      at kernel/qwidget.cpp:8508
      #4 0x070eb0d4 in QAbstractSlider::event (this=0x92fa0a8, e=0xbfe126f8)
      at widgets/qabstractslider.cpp:952
      #5 0x071c45c3 in QScrollBar::event (this=0x92fa0a8, event=0xbfe126f8)
      at widgets/qscrollbar.cpp:545
      #6 0x06bc329e in QApplicationPrivate::notify_helper (this=0x9159720, receiver=
      0x92fa0a8, e=0xbfe126f8) at kernel/qapplication.cpp:4554
      #7 0x06bc6307 in QApplication::notify (this=0xbfe13508, receiver=0x92fa0a8,
      e=0xbfe126f8) at kernel/qapplication.cpp:4519
      #8 0x003f95e2 in QCoreApplication::notifyInternal (this=0xbfe13508,
      receiver=0x92fa0a8, event=0xbfe126f8) at kernel/qcoreapplication.cpp:876
      #9 0x06bd8c65 in QCoreApplication::sendSpontaneousEvent (receiver=0x92fa0a8,
      event=0xbfe126f8) at ../../src/corelib/kernel/qcoreapplication.h:234
      #10 0x06c4113b in QWidgetPrivate::drawWidget (this=0x933e750, pdev=0x930b3d8,
      rgn=..., offset=..., flags=68, sharedPainter=0x0, backingStore=0x91870d8)
      at kernel/qwidget.cpp:5585
      #11 0x06e8f61f in QWidgetBackingStore::sync (this=0x91870d8)
      at painting/qbackingstore.cpp:1365
      #12 0x06c365ed in QWidgetPrivate::syncBackingStore (this=0x92d3bc0)
      at kernel/qwidget.cpp:1891
      #13 0x06c44cae in QWidget::event (this=0xbfe134e8, event=0x930f550)
      at kernel/qwidget.cpp:8655
      #14 0x06bc329e in QApplicationPrivate::notify_helper (this=0x9159720,
      receiver=0xbfe134e8, e=0x930f550) at kernel/qapplication.cpp:4554
      #15 0x06bc6307 in QApplication::notify (this=0xbfe13508, receiver=0xbfe134e8,
      e=0x930f550) at kernel/qapplication.cpp:4519
      #16 0x003f95e2 in QCoreApplication::notifyInternal (this=0xbfe13508,
      receiver=0xbfe134e8, event=0x930f550) at kernel/qcoreapplication.cpp:876
      #17 0x06bbfbc3 in QCoreApplication::sendEvent (receiver=0xbfe134e8,
      event=0x930f550) at ../../src/corelib/kernel/qcoreapplication.h:231
      #18 0x003f9b4a in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0,
      event_type=0, data=0x9159800) at kernel/qcoreapplication.cpp:1500
      #19 0x003f9dbf in QCoreApplication::sendPostedEvents (receiver=0x0,
      event_type=0) at kernel/qcoreapplication.cpp:1393
      #20 0x06cade52 in QCoreApplication::sendPostedEvents ()
      at ../../src/corelib/kernel/qcoreapplication.h:236
      #21 0x004390c1 in postEventSourceDispatch (s=0x915c510)
      at kernel/qeventdispatcher_glib.cpp:279
      #22 0x00d491a2 in g_main_dispatch (context=0x915c490) at gmain.c:2045
      #23 IA__g_main_context_dispatch (context=0x915c490) at gmain.c:2596
      #24 0x00d4c196 in g_main_context_iterate (context=0x915c490, block=1,
      dispatch=1, self=0x915a2a0) at gmain.c:2677
      #25 0x00d4c6ee in IA__g_main_context_iteration (context=0x915c490, may_block=1)
      at gmain.c:2736
      #26 0x004384f8 in QEventDispatcherGlib::processEvents (this=0x915a1e8,
      flags=...) at kernel/qeventdispatcher_glib.cpp:424
      #27 0x06cb8c46 in QGuiEventDispatcherGlib::processEvents (this=0x915a1e8,
      flags=...) at kernel/qguieventdispatcher_glib.cpp:204
      #28 0x003f5860 in QEventLoop::processEvents (this=0xbfe1348c, flags=...)
      at kernel/qeventloop.cpp:149
      #29 0x003f5b2f in QEventLoop::exec (this=0xbfe1348c, flags=...)
      at kernel/qeventloop.cpp:204
      #30 0x003f9ef4 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
      #31 0x06bc634c in QApplication::exec () at kernel/qapplication.cpp:3815
      #32 0x0804afdb in main (argc=1, argv=0xbfe135b4) at main.cpp:62

      Attachments

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

        Activity

          People

            Unassigned Unassigned
            toralf.lund@pgs.com Toralf Lund
            Votes:
            2 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes