Plasma sucking up huge cpu seems to be a repainting problem
Shawn Starr
shawn.starr at rogers.com
Thu Oct 2 08:27:40 CEST 2008
gdb break:
Seems something is causing too many repaints when you *just* have a Panel, no
widgets, if you remove the panel the CPU drops to nothing..
Program received signal SIGINT, Interrupt.
0x00132416 in __kernel_vsyscall ()
(gdb) bt
#0 0x00132416 in __kernel_vsyscall ()
#1 0x01be1f08 in do_writev () at ../sysdeps/unix/sysv/linux/writev.c:46
#2 __libc_writev (fd=6, vector=0xbfffd13c, count=1) at
../sysdeps/unix/sysv/linux/writev.c:65
#3 0x031fa35e in ?? () from /usr/lib/libxcb.so.1
#4 0x031fa98e in ?? () from /usr/lib/libxcb.so.1
#5 0x031faab9 in ?? () from /usr/lib/libxcb.so.1
#6 0x031fbbd6 in xcb_wait_for_reply () from /usr/lib/libxcb.so.1
#7 0x01a36e99 in _XReply () from /usr/lib/libX11.so.6
#8 0x01a130d9 in XGetImage () from /usr/lib/libX11.so.6
#9 0x014105de in QX11PixmapData::toImage (this=0x8142168) at
image/qpixmap_x11.cpp:1407
#10 0x01404c3b in QPixmap::toImage (this=0x8122d78) at image/qpixmap.cpp:429
#11 0x0142ca83 in QTexturedBrushData::image (this=<value optimized out>) at
painting/qbrush.cpp:159
#12 QBrush::textureImage (this=0x815aaf8) at painting/qbrush.cpp:729
#13 0x014ba087 in QSpanData::setup (this=0x815ac18, brush=@0x815aaf8,
alpha=256)
at painting/qpaintengine_raster.cpp:5234
#14 0x014bb7fe in QRasterPaintEngine::updateState (this=0x8142450,
state=@0x813f9e8)
at painting/qpaintengine_raster.cpp:1347
#15 0x0144282b in QPainterPrivate::updateStateImpl (this=0x81420c8,
newState=0x813f9e8)
at painting/qpainter.cpp:878
#16 0x014428f8 in QPainterPrivate::updateState (this=0x81420c8,
newState=0x813f9e8) at painting/qpainter.cpp:906
#17 0x0144c041 in QPainter::drawPath (this=0xbfffdc98, path=@0xbfffdd24) at
painting/qpainter.cpp:2822
#18 0x01447259 in QPainterPrivate::draw_helper (this=0x8182820,
originalPath=@0xbfffdd24,
op=<value optimized out>) at painting/qpainter.cpp:358
#19 0x01449722 in QPainter::drawRects (this=0xbfffe120, rects=0xbfffde30,
rectCount=1)
at painting/qpainter.cpp:2955
#20 0x0144b61b in QPainter::drawRect () at
../../include/QtGui/../../src/gui/painting/qpainter.h:576
#21 QPainter::drawPixmap (this=0xbfffe120, r=@0xbfffdf20, pm=@0xbfffdf98,
sr=@0xbfffdf00)
at painting/qpainter.cpp:4634
#22 0x01dd585d in QPainter::drawPixmap () from
/usr/local/kde4/lib/kde4/plugins/styles/oxygen.so
#23 0x01dd3604 in OxygenHelper::renderWindowBackground () from
/usr/local/kde4/lib/kde4/plugins/styles/oxygen.so
#24 0x01de3eff in OxygenStyle::eventFilter () from
/usr/local/kde4/lib/kde4/plugins/styles/oxygen.so
#25 0x0235c23a in QCoreApplicationPrivate::sendThroughObjectEventFilters
(this=0x807a5b8, receiver=0x81541f0,
event=0xbfffe6ec) at kernel/qcoreapplication.cpp:694
#26 0x0135138a in QApplicationPrivate::notify_helper (this=0x807a5b8,
receiver=0x81541f0, e=0xbfffe6ec)
at kernel/qapplication.cpp:3799
#27 0x0135855a in QApplication::notify (this=0x805cb80, receiver=0x81541f0,
e=0xbfffe6ec)
at kernel/qapplication.cpp:3768
---Type <return> to continue, or q <return> to quit---
#28 0x00e0ee25 in KApplication::notify () from
/usr/local/kde4/lib/libkdeui.so.5
#29 0x0235d031 in QCoreApplication::notifyInternal (this=0x805cb80,
receiver=0x81541f0, event=0xbfffe6ec)
at kernel/qcoreapplication.cpp:583
#30 0x013aa34e in QCoreApplication::sendSpontaneousEvent (event=<value
optimized out>, receiver=0x81541f0)
at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:212
#31 qt_sendSpontaneousEvent (receiver=0x81541f0, event=0x1) at
kernel/qapplication_x11.cpp:4588
#32 0x013a04f0 in QWidgetPrivate::drawWidget (this=0x819ec30, pdev=0x818142c,
rgn=@0xbfffe8a4,
offset=@0x81813f4, flags=<value optimized out>, sharedPainter=0x811d278)
at kernel/qwidget.cpp:4636
#33 0x014f3eec in QWidgetBackingStore::cleanRegion (this=0x81813e8,
rgn=@0xbfffe8f8, widget=0x81541f0,
recursiveCopyToScreen=true) at painting/qbackingstore.cpp:1034
#34 0x014f4392 in qt_syncBackingStore (widget=0x81541f0) at
painting/qbackingstore.cpp:313
#35 0x013a3daf in QWidget::event (this=0x81541f0, event=0x81256c0) at
kernel/qwidget.cpp:7447
#36 0x01691273 in QFrame::event (this=0x81541f0, e=0x81256c0) at
widgets/qframe.cpp:651
#37 0x0171be1d in QAbstractScrollArea::event (this=0x81541f0, e=0x81256c0) at
widgets/qabstractscrollarea.cpp:899
#38 0x0187f1a4 in QGraphicsView::event (this=0x81541f0, event=0x81256c0) at
graphicsview/qgraphicsview.cpp:2276
#39 0x0015e914 in PanelView::event () from
/usr/local/kde4/lib/libkdeinit4_plasma.so
#40 0x013513ac in QApplicationPrivate::notify_helper (this=0x807a5b8,
receiver=0x81541f0, e=0x81256c0)
at kernel/qapplication.cpp:3803
#41 0x0135855a in QApplication::notify (this=0x805cb80, receiver=0x81541f0,
e=0x81256c0)
at kernel/qapplication.cpp:3768
#42 0x00e0ee25 in KApplication::notify () from
/usr/local/kde4/lib/libkdeui.so.5
#43 0x0235d031 in QCoreApplication::notifyInternal (this=0x805cb80,
receiver=0x81541f0, event=0x81256c0)
at kernel/qcoreapplication.cpp:583
#44 0x0235d983 in QCoreApplication::sendEvent () at
kernel/qcoreapplication.h:209
#45 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0,
data=0x804a6d8)
at kernel/qcoreapplication.cpp:1195
#46 0x0235db1d in QCoreApplication::sendPostedEvents (receiver=0x0,
event_type=0)
at kernel/qcoreapplication.cpp:1091
#47 0x02383aff in QCoreApplication::sendPostedEvents () at
kernel/qcoreapplication.h:214
#48 postEventSourceDispatch (s=0x807c700) at
kernel/qeventdispatcher_glib.cpp:205
#49 0x02041218 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#50 0x020448c3 in ?? () from /lib/libglib-2.0.so.0
#51 0x02044a81 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#52 0x02383758 in QEventDispatcherGlib::processEvents (this=0x805cf88,
flags={i = 4})
at kernel/qeventdispatcher_glib.cpp:319
#53 0x013dc085 in QGuiEventDispatcherGlib::processEvents (this=0x805cf88,
flags={i = 4})
at kernel/qguieventdispatcher_glib.cpp:198
---Type <return> to continue, or q <return> to quit---
#54 0x0235b79a in QEventLoop::processEvents (this=0xbffff020, flags={i = 4})
at kernel/qeventloop.cpp:143
#55 0x0235b95a in QEventLoop::exec (this=0xbffff020, flags={i = 0}) at
kernel/qeventloop.cpp:190
#56 0x0235dbdd in QCoreApplication::exec () at kernel/qcoreapplication.cpp:845
#57 0x01351227 in QApplication::exec () at kernel/qapplication.cpp:3331
#58 0x00157895 in kdemain () from /usr/local/kde4/lib/libkdeinit4_plasma.so
#59 0x08048806 in main ()
More information about the Plasma-devel
mailing list