Bug 184730

Summary: crash after minimizing some (two) windows (blend_src_generic<RegularSpans>, deep Qt painting code)
Product: [Unmaintained] plasma4 Reporter: Nadav Kavalerchik <nadavkav>
Component: generalAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: andresbajotierra, narendra.parihar
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Nadav Kavalerchik 2009-02-17 23:58:42 UTC
Version:           unknown (using 4.2.00 (KDE 4.2.0), Debian packages)
Compiler:          cc
OS:                Linux (x86_64) release 2.6.26-1-amd64

after minimizing two windows, one after the other... plasma crashed and restarted successfully.

here  is the crash report:

Application: Plasma Workspace (plasma), signal SIGSEGV
0x00007ff952d49b51 in nanosleep () from /lib/libc.so.6
[Current thread is 1 (Thread 0x7ff95335a740 (LWP 4566))]

Thread 5 (Thread 0x7ff9309f2950 (LWP 4570)):
#0  0x00007ff94bd06c09 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007ff95005e159 in QWaitCondition::wait (this=0x1974900, mutex=0x19748f8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:82
#2  0x00007ff94d709f4c in QHostInfoAgent::run (this=0x19748e0) at kernel/qhostinfo.cpp:241
#3  0x00007ff95005d162 in QThreadPrivate::start (arg=0x19748e0) at thread/qthread_unix.cpp:185
#4  0x00007ff94bd02faa in start_thread () from /lib/libpthread.so.0
#5  0x00007ff952d7950d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7ff92f398950 (LWP 4574)):
#0  0x00007ff952d72d62 in select () from /lib/libc.so.6
#1  0x00007ff950125756 in QProcessManager::run (this=0xcf2a50) at io/qprocess_unix.cpp:301
#2  0x00007ff95005d162 in QThreadPrivate::start (arg=0xcf2a50) at thread/qthread_unix.cpp:185
#3  0x00007ff94bd02faa in start_thread () from /lib/libpthread.so.0
#4  0x00007ff952d7950d in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7ff92eb97950 (LWP 4576)):
#0  QTimerInfoList::updateCurrentTime (this=0x1a7def0) at kernel/qeventdispatcher_unix.cpp:291
#1  0x00007ff950171303 in QTimerInfoList::timerWait (this=0x1a7def0, tm=@0x7ff92eb96e80) at kernel/qeventdispatcher_unix.cpp:416
#2  0x00007ff95016d8ec in timerSourcePrepare (source=<value optimized out>, timeout=0x7ff92eb96ed4) at kernel/qeventdispatcher_glib.cpp:136
#3  0x00007ff94bf53b4a in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#4  0x00007ff94bf53f6a in ?? () from /usr/lib/libglib-2.0.so.0
#5  0x00007ff94bf5442b in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#6  0x00007ff95016d73e in QEventDispatcherGlib::processEvents (this=0x1a3fee0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:321
#7  0x00007ff950143cb2 in QEventLoop::processEvents (this=<value optimized out>, flags={i = 783904800}) at kernel/qeventloop.cpp:143
#8  0x00007ff950143e3d in QEventLoop::exec (this=0x7ff92eb97060, flags={i = 783904880}) at kernel/qeventloop.cpp:194
#9  0x00007ff95005a218 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:458
#10 0x00007ff950128f08 in QInotifyFileSystemWatcherEngine::run (this=0x1acd910) at io/qfilesystemwatcher_inotify.cpp:205
#11 0x00007ff95005d162 in QThreadPrivate::start (arg=0x1acd910) at thread/qthread_unix.cpp:185
#12 0x00007ff94bd02faa in start_thread () from /lib/libpthread.so.0
#13 0x00007ff952d7950d in clone () from /lib/libc.so.6
#14 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7ff92da0e950 (LWP 4582)):
#0  0x00007ff94bd06c09 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007ff95005e159 in QWaitCondition::wait (this=0x11daa90, mutex=0x11daa88, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:82
#2  0x00007ff9358536f0 in RenderThread::run (this=0x11daa78) at ../../../../plasma/wallpapers/image/renderthread.cpp:91
#3  0x00007ff95005d162 in QThreadPrivate::start (arg=0x11daa78) at thread/qthread_unix.cpp:185
#4  0x00007ff94bd02faa in start_thread () from /lib/libpthread.so.0
#5  0x00007ff952d7950d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ff95335a740 (LWP 4566)):
[KCrash Handler]
#5  0x0000000000000000 in ?? ()
#6  0x00007ff9509e9f64 in blend_src_generic<RegularSpans> (count=<value optimized out>, spans=0x3fde4cf8, userData=<value optimized out>) at painting/qdrawhelper.cpp:3180
#7  0x00007ff9509eaf2e in blend_transformed_bilinear_argb<RegularSpans> (count=1531495680, spans=0x7fff5b490500, userData=0x3f67a698) at painting/qdrawhelper.cpp:5307
#8  0x00007ff9509f4d67 in gray_convert_glyph (worker=0x3fde4580) at painting/qgrayraster.c:1747
#9  0x00007ff9509c8732 in QRasterPaintEnginePrivate::rasterize (this=0x3f67a4d0, outline=0x3fdcb9e0, callback=0x7ff9509dd570 <qBlendTexture(int, QT_FT_Span_ const*, void*)>, userData=0x3f67a698, 
    rasterBuffer=<value optimized out>) at painting/qpaintengine_raster.cpp:3954
#10 0x00007ff9509cfdcc in QRasterPaintEngine::fillPath (this=<value optimized out>, path=@0x7fff5b492f90, fillData=0x3f67a698) at painting/qpaintengine_raster.cpp:1626
#11 0x00007ff9509d148c in QRasterPaintEngine::drawPath (this=0x3ee3fff0, path=@0x7fff5b492f90) at painting/qpaintengine_raster.cpp:1866
#12 0x00007ff950963cb3 in QPainterPrivate::draw_helper (this=0x3f2174b0, originalPath=@0x7fff5b492f90, op=QPainterPrivate::FillDraw) at painting/qpainter.cpp:358
#13 0x00007ff9509663e7 in QPainter::drawRects (this=<value optimized out>, rects=<value optimized out>, rectCount=1) at painting/qpainter.cpp:2955
#14 0x00007ff950967e18 in QPainter::drawPixmap (this=0x7fff5b4940b0, r=<value optimized out>, pm=@0x7fff5b493160, sr=<value optimized out>)
    at ../../include/QtGui/../../src/gui/painting/qpainter.h:576
#15 0x00007ff9529c5264 in Plasma::Svg::paint (this=<value optimized out>, painter=0x7fff5b4940b0, rect=@0x7fff5b493220, elementID=<value optimized out>) at ../../plasma/svg.cpp:457
#16 0x00007ff9366d29ff in Battery::paintBattery (this=0x11d8e20, p=0x7fff5b4940b0, contentsRect=@0x7fff5b493580, batteryPercent=100, plugState=true)
    at ../../../../plasma/applets/battery/battery.cpp:826
#17 0x00007ff9366d3058 in Battery::paintInterface (this=0x11d8e20, p=0x7fff5b4940b0, option=<value optimized out>, contentsRect=@0x7fff5b493930) at ../../../../plasma/applets/battery/battery.cpp:862
#18 0x00007ff952965a35 in Plasma::Applet::paint (this=0x11d8e20, painter=0x7fff5b4940b0, option=0x7fff5b493ba0, widget=0x0) at ../../plasma/applet.cpp:1102
#19 0x00007ff950d989f5 in _q_paintItem (item=<value optimized out>, painter=0x7fff5b4940b0, option=0x7fff5b493ba0, widget=0x0, useWindowOpacity=false, painterStateProtection=true)
    at graphicsview/qgraphicsscene.cpp:3783
#20 0x00007ff950d9c218 in QGraphicsScenePrivate::drawItemHelper (item=0x11d8e30, painter=0x7fff5b495090, option=<value optimized out>, widget=0x1201580, painterStateProtection=true)
    at graphicsview/qgraphicsscene.cpp:3948
#21 0x00007ff950d9c67a in QGraphicsScene::drawItems (this=<value optimized out>, painter=0x7fff5b495090, numItems=29, items=<value optimized out>, options=<value optimized out>, widget=0x1201580)
    at graphicsview/qgraphicsscene.cpp:4036
#22 0x00007ff950dba86b in QGraphicsView::paintEvent (this=0x1a5af30, event=0x7fff5b494c50) at graphicsview/qgraphicsview.cpp:3096
#23 0x00007ff95303e596 in PanelView::paintEvent (this=0x7fff5b48c500, event=0x7fff5b490500) at ../../../../plasma/shells/desktop/panelview.cpp:1119
#24 0x00007ff9508b8f24 in QWidget::event (this=0x1a5af30, event=0x7fff5b495800) at kernel/qwidget.cpp:7301
#25 0x00007ff950db524b in QGraphicsView::viewportEvent (this=0x1a5af30, event=0x7fff5b495800) at graphicsview/qgraphicsview.cpp:2337
#26 0x00007ff950144668 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized out>, receiver=0x1201580, event=0x7fff5b495800) at kernel/qcoreapplication.cpp:694
#27 0x00007ff950866a2c in QApplicationPrivate::notify_helper (this=0xcef090, receiver=0x1201580, e=0x7fff5b495800) at kernel/qapplication.cpp:3799
#28 0x00007ff95086e7da in QApplication::notify (this=0xcdb070, receiver=0x1201580, e=0x7fff5b495800) at kernel/qapplication.cpp:3768
#29 0x00007ff95187bfab in KApplication::notify (this=0xcdb070, receiver=0x1201580, event=0x7fff5b495800) at ../../kdeui/kernel/kapplication.cpp:307
#30 0x00007ff950145391 in QCoreApplication::notifyInternal (this=0xcdb070, receiver=0x1201580, event=0x7fff5b495800) at kernel/qcoreapplication.cpp:587
#31 0x00007ff9508b795f in QWidgetPrivate::drawWidget (this=0x1a55d60, pdev=0x1a56748, rgn=@0x7fff5b495a60, offset=@0x7fff5b495a50, flags=4, sharedPainter=0x3fbf1e50) at kernel/qwidget.cpp:4636
#32 0x00007ff9508b8042 in QWidgetPrivate::paintSiblingsRecursive (this=0x1a5b370, pdev=0x1a56748, siblings=@0x7fff5b495fb0, index=27615360, rgn=@0x7fff5b495b40, offset=@0x1a5b948, flags=4, 
    sharedPainter=0x3fbf1e50) at kernel/qwidget.cpp:4735
#33 0x00007ff9508b7f6b in QWidgetPrivate::paintSiblingsRecursive (this=0x1a5b370, pdev=0x1a56748, siblings=@0x7fff5b495fb0, index=3, rgn=@0x7fff5b495c20, offset=@0x1a5b948, flags=4, sharedPainter=
    0x3fbf1e50) at kernel/qwidget.cpp:4725
#34 0x00007ff9508b7f6b in QWidgetPrivate::paintSiblingsRecursive (this=0x1a5b370, pdev=0x1a56748, siblings=@0x7fff5b495fb0, index=4, rgn=@0x7fff5b495d00, offset=@0x1a5b948, flags=4, sharedPainter=
    0x3fbf1e50) at kernel/qwidget.cpp:4725
#35 0x00007ff9508b7f6b in QWidgetPrivate::paintSiblingsRecursive (this=0x1a5b370, pdev=0x1a56748, siblings=@0x7fff5b495fb0, index=5, rgn=@0x7fff5b495de0, offset=@0x1a5b948, flags=4, sharedPainter=
    0x3fbf1e50) at kernel/qwidget.cpp:4725
#36 0x00007ff9508b7f6b in QWidgetPrivate::paintSiblingsRecursive (this=0x1a5b370, pdev=0x1a56748, siblings=@0x7fff5b495fb0, index=6, rgn=@0x7fff5b4961c0, offset=@0x1a5b948, flags=4, sharedPainter=
    0x3fbf1e50) at kernel/qwidget.cpp:4725
#37 0x00007ff9508b7618 in QWidgetPrivate::drawWidget (this=0x1a5b370, pdev=0x1a56748, rgn=@0x7fff5b4961c0, offset=@0x1a5b948, flags=4, sharedPainter=0x3fbf1e50) at kernel/qwidget.cpp:4677
#38 0x00007ff950a10724 in QWidgetBackingStore::cleanRegion (this=0x1a5b930, rgn=@0x7fff5b496230, widget=0x1a5af30, recursiveCopyToScreen=true) at painting/qbackingstore.cpp:1039
#39 0x00007ff950a10bd7 in qt_syncBackingStore (widget=0x1a5af30) at painting/qbackingstore.cpp:313
#40 0x00007ff9508b8d45 in QWidget::event (this=0x1a5af30, event=0x3fcc7550) at kernel/qwidget.cpp:7447
#41 0x00007ff950c3f529 in QAbstractScrollArea::event (this=0x1a5af30, e=0x3fcc7550) at widgets/qabstractscrollarea.cpp:899
#42 0x00007ff95303df00 in PanelView::event (this=0x1a5af30, event=0x3fcc7550) at ../../../../plasma/shells/desktop/panelview.cpp:1142
#43 0x00007ff950866a5d in QApplicationPrivate::notify_helper (this=0xcef090, receiver=0x1a5af30, e=0x3fcc7550) at kernel/qapplication.cpp:3803
#44 0x00007ff95086e7da in QApplication::notify (this=0xcdb070, receiver=0x1a5af30, e=0x3fcc7550) at kernel/qapplication.cpp:3768
#45 0x00007ff95187bfab in KApplication::notify (this=0xcdb070, receiver=0x1a5af30, event=0x3fcc7550) at ../../kdeui/kernel/kapplication.cpp:307
#46 0x00007ff950145391 in QCoreApplication::notifyInternal (this=0xcdb070, receiver=0x1a5af30, event=0x3fcc7550) at kernel/qcoreapplication.cpp:587
#47 0x00007ff95014602a in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0xca7930) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:209
#48 0x00007ff95016da93 in postEventSourceDispatch (s=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:214
#49 0x00007ff94bf50aab in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#50 0x00007ff94bf5426d in ?? () from /usr/lib/libglib-2.0.so.0
#51 0x00007ff94bf5442b in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#52 0x00007ff95016d71f in QEventDispatcherGlib::processEvents (this=0xceafc0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:319
#53 0x00007ff9508f847f in QGuiEventDispatcherGlib::processEvents (this=0x7fff5b48c500, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:198
#54 0x00007ff950143cb2 in QEventLoop::processEvents (this=<value optimized out>, flags={i = 1531538320}) at kernel/qeventloop.cpp:143
#55 0x00007ff950143e3d in QEventLoop::exec (this=0x7fff5b496bd0, flags={i = 1531538400}) at kernel/qeventloop.cpp:194
#56 0x00007ff9501462ed in QCoreApplication::exec () at kernel/qcoreapplication.cpp:845
#57 0x00007ff95303751b in kdemain (argc=1, argv=0x7fff5b496ed8) at ../../../../plasma/shells/desktop/main.cpp:54
#58 0x00007ff952cc95a6 in __libc_start_main () from /lib/libc.so.6
#59 0x0000000000400629 in _start ()
Comment 1 Dario Andres 2009-03-10 19:06:17 UTC
*** Bug 186725 has been marked as a duplicate of this bug. ***
Comment 2 Dario Andres 2009-03-10 19:07:25 UTC
This seems to be related to bug 182482 / bug 176014
What is your Qt version ? Thanks
Comment 3 Narendra 2009-03-11 10:00:57 UTC
(In reply to comment #2)
> This seems to be related to bug 182482 / bug 176014
> What is your Qt version ? Thanks

For me, QT Version - 4.4.3
Comment 4 Dario Andres 2009-03-15 14:09:07 UTC
Please, try with the Qt4.5 packages once they are available in your distribution. Thanks!
Comment 5 Nadav Kavalerchik 2009-03-15 15:49:12 UTC
i have upgraded to qt 4.5 and kde 4.2.1 (debian experimental) and i no longer experience these issues.