Crash in Qt when resizing windows

Matt Rogers mattr at kde.org
Thu Aug 24 01:48:49 BST 2006


Hi,

While resizing the KDevelop main window, I've noticed that I see a lot of the 
following in my debug output:

QPixmap: Invalid pixmap parameters
QPainter::begin: Cannot paint on a null pixmap

And if I resize the window vertically, then I get a crash with the following 
backtrace:

Using host libthread_db library "/lib64/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 47203018661040 (LWP 27716)]
[New Thread 1090525504 (LWP 27745)]
[New Thread 1082132800 (LWP 27744)]
[KCrash handler]
#5  0x00002aee48e75359 in QX11PaintEngine::updatePen (this=0x108ed720, 
    pen=@0x7fff6294d4d0) at painting/qpaintengine_x11.cpp:1284
#6  0x00002aee48e7574f in QX11PaintEngine::updateState (this=0x108ed720, 
    state=@0x109b5f90) at painting/qpaintengine_x11.cpp:1123
#7  0x00002aee48e12a88 in QPainterPrivate::updateState (this=0x108f7540, 
    newState=0x109b5f90) at painting/qpainter.cpp:552
#8  0x00002aee48e1a29b in QPainter::drawPixmap (this=0x7fff6294da40, 
    r=@0x7fff6294d9d0, pm=@0x7fff6294da80, sr=@0x7fff6294d9b0)
    at painting/qpainter.cpp:4103
#9  0x00002aee4afd71d1 in QPainter::drawPixmap (this=0x7fff6294da40, 
    p=@0x7fff6294daa0, pm=@0x7fff6294da80)
    at /home/qt/4.2/include/QtGui/qpainter.h:672
#10 0x00002aee4afd6c8e in KIconEngine::pixmap (this=0xce3890, 
    size=@0x7fff6294e3c0, mode=QIcon::Disabled, state=QIcon::Off)
    at /home/kde/trunk/KDE/kdelibs/kdeui/util/kiconengine.cpp:136
#11 0x00002aee48dbe1e4 in QIcon::pixmap (this=0x7fff62952b08, 
    size=@0x7fff6294e3c0, mode=QIcon::Disabled, state=QIcon::Off)
    at image/qicon.cpp:516
#12 0x00002aee48f6e902 in QCommonStyle::drawControl (this=0x5ca920, 
    element=QStyle::CE_ToolButtonLabel, opt=0x7fff62952ac0, p=0x7fff629566e0, 
    widget=0xce34e0) at styles/qcommonstyle.cpp:1039
#13 0x00002aee48fd587b in QWindowsStyle::drawControl (this=0x5ca920, 
    ce=QStyle::CE_ToolButtonLabel, opt=0x7fff62952ac0, p=0x7fff629566e0, 
    widget=0xce34e0) at styles/qwindowsstyle.cpp:2372
#14 0x00002aee48fa7d5d in QPlastiqueStyle::drawControl (this=0x5ca920, 
    element=QStyle::CE_ToolButtonLabel, option=0x7fff62952ac0, 
    painter=0x7fff629566e0, widget=0xce34e0) at 
styles/qplastiquestyle.cpp:3557
#15 0x00002aee48f65d5a in QCommonStyle::drawComplexControl (this=0x5ca920, 
    cc=QStyle::CC_ToolButton, opt=0x7fff62956700, p=0x7fff629566e0, 
    widget=0xce34e0) at styles/qcommonstyle.cpp:2346
#16 0x00002aee48fd07fa in QWindowsStyle::drawComplexControl (this=0x5ca920, 
    cc=QStyle::CC_ToolButton, opt=0x7fff62956700, p=0x7fff629566e0, 
    widget=0xce34e0) at styles/qwindowsstyle.cpp:2841
#17 0x00002aee48f9b79c in QPlastiqueStyle::drawComplexControl (this=0x5ca920, 
    control=QStyle::CC_ToolButton, option=0x7fff62956700, 
    painter=0x7fff629566e0, widget=0xce34e0) at 
styles/qplastiquestyle.cpp:4647
#18 0x00002aee4900698e in QStylePainter::drawComplexControl (
    this=0x7fff629566e0, cc=QStyle::CC_ToolButton, opt=@0x7fff62956700)
    at ../../include/QtGui/../../src/gui/painting/qstylepainter.h:74
#19 0x00002aee490907a2 in QToolButton::paintEvent (this=0xce34e0)
    at widgets/qtoolbutton.cpp:473
#20 0x00002aee48d7db99 in QWidget::event (this=0xce34e0, event=0x7fff62957120)
    at kernel/qwidget.cpp:5661
#21 0x00002aee48fe9924 in QAbstractButton::event (this=0xce34e0, 
    e=0x7fff62957120) at widgets/qabstractbutton.cpp:1000
#22 0x00002aee4908e929 in QToolButton::event (this=0xce34e0, e=0x7fff62957120)
    at widgets/qtoolbutton.cpp:1003
#23 0x00002aee48d349e9 in QApplicationPrivate::notify_helper (this=0x50a380, 
    receiver=0xce34e0, e=0x7fff62957120) at kernel/qapplication.cpp:3429
#24 0x00002aee48d3672a in QApplication::notify (this=0x7fff62959030, 
    receiver=0xce34e0, e=0x7fff62957120) at kernel/qapplication.cpp:3370
#25 0x00002aee4a7cd1a5 in KApplication::notify (this=0x7fff62959030, 
    receiver=0xce34e0, event=0x7fff62957120)
    at /home/kde/trunk/KDE/kdelibs/kdecore/kapplication.cpp:344
#26 0x00002aee48d3d860 in QCoreApplication::sendSpontaneousEvent (
    receiver=0xce34e0, event=0x7fff62957120)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:183
#27 0x00002aee48d868a9 in qt_sendSpontaneousEvent (receiver=0xce34e0, 
    event=0x7fff62957120) at kernel/qapplication_x11.cpp:4166
#28 0x00002aee48e82769 in QWidgetPrivate::drawWidget (this=0xce3510, 
    pdev=0x68f458, rgn=@0x7fff629573a0, offset=@0x7fff62957430, flags=4)
    at painting/qbackingstore.cpp:745
#29 0x00002aee48e82e1d in QWidgetBackingStore::paintSiblingsRecursive (
    pdev=0x68f458, siblings=@0x7fff62957680, index=6, rgn=@0x7fff629574e0, 
    offset=@0x7fff62957950, flags=4) at painting/qbackingstore.cpp:668
#30 0x00002aee48e82cef in QWidgetBackingStore::paintSiblingsRecursive (
    pdev=0x68f458, siblings=@0x7fff62957680, index=7, rgn=@0x7fff629578c0, 
    offset=@0x7fff62957950, flags=4) at painting/qbackingstore.cpp:659
#31 0x00002aee48e82a6c in QWidgetPrivate::drawWidget (this=0xcb8880, 
    pdev=0x68f458, rgn=@0x7fff629578c0, offset=@0x7fff62957950, flags=4)
    at painting/qbackingstore.cpp:775
#32 0x00002aee48e82e1d in QWidgetBackingStore::paintSiblingsRecursive (
    pdev=0x68f458, siblings=@0x7fff62957a70, index=5, rgn=@0x7fff62957cb0, 
    offset=@0x7fff62957d40, flags=4) at painting/qbackingstore.cpp:668
#33 0x00002aee48e82a6c in QWidgetPrivate::drawWidget (this=0xcf21c0, 
    pdev=0x68f458, rgn=@0x7fff62957cb0, offset=@0x7fff62957d40, flags=4)
    at painting/qbackingstore.cpp:775
#34 0x00002aee48e82e1d in QWidgetBackingStore::paintSiblingsRecursive (
    pdev=0x68f458, siblings=@0x7fff629580c0, index=25, rgn=@0x7fff62957df0, 
    offset=@0x6865b8, flags=4) at painting/qbackingstore.cpp:668
#35 0x00002aee48e82cef in QWidgetBackingStore::paintSiblingsRecursive (
    pdev=0x68f458, siblings=@0x7fff629580c0, index=26, rgn=@0x7fff62957f20, 
    offset=@0x6865b8, flags=4) at painting/qbackingstore.cpp:659
#36 0x00002aee48e82cef in QWidgetBackingStore::paintSiblingsRecursive (
    pdev=0x68f458, siblings=@0x7fff629580c0, index=27, rgn=@0x7fff62958310, 
    offset=@0x6865b8, flags=4) at painting/qbackingstore.cpp:659
#37 0x00002aee48e82a6c in QWidgetPrivate::drawWidget (this=0x5d6660, 
    pdev=0x68f458, rgn=@0x7fff62958310, offset=@0x6865b8, flags=5)
    at painting/qbackingstore.cpp:775
#38 0x00002aee48e83192 in QWidgetBackingStore::cleanRegion (this=0x6865a0, 
    rgn=@0x7fff62958440, widget=0x646820, recursiveCopyToScreen=true)
    at painting/qbackingstore.cpp:589
#39 0x00002aee48e838dc in qt_syncBackingStore (rgn=@0x7fff62958440, 
    widget=0x646820, recursive=false) at painting/qbackingstore.cpp:216
#40 0x00002aee48e8391d in qt_syncBackingStore (rgn=@0x7fff62958790, 
    widget=0x646820) at painting/qbackingstore.cpp:223
#41 0x00002aee48d8b9b8 in QETWidget::translateConfigEvent (this=0x646820, 
    event=0x7fff62958c40) at kernel/qapplication_x11.cpp:4338
#42 0x00002aee48d92427 in QApplication::x11ProcessEvent (this=0x7fff62959030, 
    event=0x7fff62958c40) at kernel/qapplication_x11.cpp:2780
#43 0x00002aee48dbc2e1 in x11EventSourceDispatch (s=0x514840, callback=0, 
    user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:120
#44 0x00002aee4e2332ba in g_main_context_dispatch ()
   from /opt/gnome/lib64/libglib-2.0.so.0
#45 0x00002aee4e236345 in g_main_context_check ()
   from /opt/gnome/lib64/libglib-2.0.so.0
#46 0x00002aee4e23686e in g_main_context_iteration ()
   from /opt/gnome/lib64/libglib-2.0.so.0
#47 0x00002aee4837a1bb in QEventDispatcherGlib::processEvents (this=0x512ed0, 
    flags=@0x7fff62958eb0) at kernel/qeventdispatcher_glib.cpp:349
#48 0x00002aee48dbbbf7 in QGuiEventDispatcherGlib::processEvents (
    this=0x512ed0, flags=@0x7fff62958f00)
    at kernel/qguieventdispatcher_glib.cpp:176
#49 0x00002aee483516d9 in QEventLoop::processEvents (this=0x7fff62958fb0, 
    flags=@0x7fff62958f60) at kernel/qeventloop.cpp:125
#50 0x00002aee4835182e in QEventLoop::exec (this=0x7fff62958fb0, 
    flags=@0x7fff62958fc0) at kernel/qeventloop.cpp:167
#51 0x00002aee48354814 in QCoreApplication::exec ()
    at kernel/qcoreapplication.cpp:680
#52 0x00002aee48d345c0 in QApplication::exec () at 
kernel/qapplication.cpp:2922
#53 0x0000000000403452 in main (argc=1, argv=0x7fff62959268)
    at /home/kde/trunk/KDE/kdevelop/src/main.cpp:139


I wasn't seeing this before the newest snapshot. Can somebody provide any 
clues?

Thanks
-- 
Matt




More information about the kde-core-devel mailing list