Bug 1281742
| Summary: | plasma-desktop sometimes crashes while hovering over application icon in taskbar | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Siteshwar Vashisht <svashisht> | ||||
| Component: | kdelibs | Assignee: | Jan Grulich <jgrulich> | ||||
| Status: | CLOSED ERRATA | QA Contact: | Desktop QE <desktop-qa-list> | ||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | medium | ||||||
| Version: | 6.7 | CC: | alanm, andreas.luik, ayadav, jkoten, lkolacek, tpelka | ||||
| Target Milestone: | rc | Keywords: | ZStream | ||||
| Target Release: | --- | ||||||
| Hardware: | x86_64 | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | |||||||
| : | 1293573 (view as bug list) | Environment: | |||||
| Last Closed: | 2016-05-10 19:36:54 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Bug Depends On: | |||||||
| Bug Blocks: | 1271696, 1293573 | ||||||
| Attachments: |
|
||||||
|
Description
Siteshwar Vashisht
2015-11-13 11:18:58 UTC
This the backtrace of crash
#0 0x0000003e4ec0f65b in raise (sig=11) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:42
#1 0x0000003e5aa55735 in KCrash::defaultCrashHandler (sig=11) at /usr/src/debug/kdelibs-4.3.4/kdeui/util/kcrash.cpp:258
#2 <signal handler called>
#3 0x0000003e622ffc42 in Plasma::PaintUtils::transition (from=..., to=..., amount=0.125) at /usr/src/debug/kdelibs-4.3.4/plasma/paintutils.cpp:161
#4 0x00007f64382a73e4 in AbstractTaskItem::drawTask (this=0x18afc90, painter=0x7ffd10979b60, option=<value optimized out>)
at /usr/src/debug/kdebase-workspace-4.3.4/plasma/applets/tasks/abstracttaskitem.cpp:614
#5 0x0000003e5e75870a in _q_paintItem (item=<value optimized out>, painter=0x7ffd10979b60, option=0x15c1fb8, widget=0x1acc150, useWindowOpacity=<value optimized out>, painterStateProtection=true)
at graphicsview/qgraphicsscene.cpp:4243
#6 0x0000003e5e7691c4 in QGraphicsScenePrivate::drawItemHelper (this=0x15c1d60, item=0x18afca0, painter=0x7ffd10979b60, option=0x15c1fb8, widget=0x1acc150, painterStateProtection=true)
at graphicsview/qgraphicsscene.cpp:4311
#7 0x0000003e5e76b295 in QGraphicsScenePrivate::draw (this=0x15c1d60, item=0x18afca0, painter=0x7ffd10979b60, viewTransform=0x7ffd10979910, transformPtr=0x7ffd10978280, exposedRegion=0x19d34b0,
widget=0x1acc150, opacity=1, effectTransform=0x0, wasDirtyParentSceneTransform=false, drawItem=true) at graphicsview/qgraphicsscene.cpp:4827
#8 0x0000003e5e76bee2 in QGraphicsScenePrivate::drawSubtreeRecursive (this=0x15c1d60, item=0x18afca0, painter=0x7ffd10979b60, viewTransform=0x7ffd10979910, exposedRegion=0x19d34b0, widget=
0x1acc150, parentOpacity=<value optimized out>, effectTransform=0x0) at graphicsview/qgraphicsscene.cpp:4749
#9 0x0000003e5e76b330 in QGraphicsScenePrivate::draw (this=0x15c1d60, item=0x1961860, painter=0x7ffd10979b60, viewTransform=0x7ffd10979910, transformPtr=0x7ffd109788c0, exposedRegion=0x19d34b0,
widget=0x1acc150, opacity=1, effectTransform=0x0, wasDirtyParentSceneTransform=false, drawItem=true) at graphicsview/qgraphicsscene.cpp:4841
#10 0x0000003e5e76bee2 in QGraphicsScenePrivate::drawSubtreeRecursive (this=0x15c1d60, item=0x1961860, painter=0x7ffd10979b60, viewTransform=0x7ffd10979910, exposedRegion=0x19d34b0, widget=
0x1acc150, parentOpacity=<value optimized out>, effectTransform=0x0) at graphicsview/qgraphicsscene.cpp:4749
#11 0x0000003e5e76b330 in QGraphicsScenePrivate::draw (this=0x15c1d60, item=0x19204b0, painter=0x7ffd10979b60, viewTransform=0x7ffd10979910, transformPtr=0x7ffd10978f00, exposedRegion=0x19d34b0,
widget=0x1acc150, opacity=1, effectTransform=0x0, wasDirtyParentSceneTransform=false, drawItem=true) at graphicsview/qgraphicsscene.cpp:4841
#12 0x0000003e5e76bee2 in QGraphicsScenePrivate::drawSubtreeRecursive (this=0x15c1d60, item=0x19204b0, painter=0x7ffd10979b60, viewTransform=0x7ffd10979910, exposedRegion=0x19d34b0, widget=
0x1acc150, parentOpacity=<value optimized out>, effectTransform=0x0) at graphicsview/qgraphicsscene.cpp:4749
#13 0x0000003e5e76b330 in QGraphicsScenePrivate::draw (this=0x15c1d60, item=0x18b34c0, painter=0x7ffd10979b60, viewTransform=0x7ffd10979910, transformPtr=0x7ffd10979540, exposedRegion=0x19d34b0,
widget=0x1acc150, opacity=1, effectTransform=0x0, wasDirtyParentSceneTransform=false, drawItem=true) at graphicsview/qgraphicsscene.cpp:4841
#14 0x0000003e5e76bee2 in QGraphicsScenePrivate::drawSubtreeRecursive (this=0x15c1d60, item=0x18b34c0, painter=0x7ffd10979b60, viewTransform=0x7ffd10979910, exposedRegion=0x19d34b0, widget=
0x1acc150, parentOpacity=<value optimized out>, effectTransform=0x0) at graphicsview/qgraphicsscene.cpp:4749
#15 0x0000003e5e76c8a4 in QGraphicsScenePrivate::drawItems (this=0x15c1d60, painter=0x7ffd10979b60, viewTransform=0x7ffd10979910, exposedRegion=0x19d34b0, widget=0x1acc150)
at graphicsview/qgraphicsscene.cpp:4619
#16 0x0000003e5e789eb5 in QGraphicsView::paintEvent (this=0x19dae40, event=<value optimized out>) at graphicsview/qgraphicsview.cpp:3393
#17 0x0000003e5b2411c6 in PanelView::paintEvent (this=0x19dae40, event=<value optimized out>) at /usr/src/debug/kdebase-workspace-4.3.4/plasma/shells/desktop/panelview.cpp:1291
#18 0x0000003e5e1f586a in QWidget::event (this=0x19dae40, event=0x7ffd1097a4b0) at kernel/qwidget.cpp:8144
#19 0x0000003e5e570576 in QFrame::event (this=0x19dae40, e=0x7ffd1097a4b0) at widgets/qframe.cpp:557
#20 0x0000003e5e78699b in QGraphicsView::viewportEvent (this=0x19dae40, event=0x7ffd1097a4b0) at graphicsview/qgraphicsview.cpp:2787
#21 0x0000003e59157127 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized out>, receiver=0x1acc150, event=0x7ffd1097a4b0) at kernel/qcoreapplication.cpp:819
#22 0x0000003e5e1aa9dc in QApplicationPrivate::notify_helper (this=0x15ca700, receiver=0x1acc150, e=0x7ffd1097a4b0) at kernel/qapplication.cpp:4299
#23 0x0000003e5e1b094b in QApplication::notify (this=<value optimized out>, receiver=0x1acc150, e=0x7ffd1097a4b0) at kernel/qapplication.cpp:4186
#24 0x0000003e5a9f81f6 in KApplication::notify (this=0x15ba4f0, receiver=0x1acc150, event=0x7ffd1097a4b0) at /usr/src/debug/kdelibs-4.3.4/kdeui/kernel/kapplication.cpp:302
#25 0x0000003e59157d0c in QCoreApplication::notifyInternal (this=0x15ba4f0, receiver=0x1acc150, event=0x7ffd1097a4b0) at kernel/qcoreapplication.cpp:704
#26 0x0000003e5e1fd43c in sendSpontaneousEvent (this=0x19d7f30, pdev=0x17fd5d0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x19d4590)
at ../../src/corelib/kernel/qcoreapplication.h:218
#27 QWidgetPrivate::drawWidget (this=0x19d7f30, pdev=0x17fd5d0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x19d4590) at kernel/qwidget.cpp:5339
#28 0x0000003e5e1fe0c8 in QWidgetPrivate::paintSiblingsRecursive (this=0x19d2ff0, pdev=0x17fd5d0, siblings=<value optimized out>, index=<value optimized out>, rgn=..., offset=..., flags=4,
sharedPainter=0x0, backingStore=0x19d4590) at kernel/qwidget.cpp:5452
#29 0x0000003e5e1fd19a in QWidgetPrivate::drawWidget (this=0x19d2ff0, pdev=0x17fd5d0, rgn=..., offset=..., flags=<value optimized out>, sharedPainter=0x0, backingStore=0x19d4590)
at kernel/qwidget.cpp:5388
#30 0x0000003e5e3a07d5 in QWidgetBackingStore::sync (this=0x19d4590) at painting/qbackingstore.cpp:1291
#31 0x0000003e5e1ef820 in QWidgetPrivate::syncBackingStore (this=0x19d2ff0) at kernel/qwidget.cpp:1672
#32 0x0000003e5e1f5f73 in QWidget::event (this=0x19dae40, event=0x2194e80) at kernel/qwidget.cpp:8291
#33 0x0000003e5e570576 in QFrame::event (this=0x19dae40, e=0x2194e80) at widgets/qframe.cpp:557
#34 0x0000003e5e5ef9ab in QAbstractScrollArea::event (this=0x19dae40, e=0x2194e80) at widgets/qabstractscrollarea.cpp:989
#35 0x0000003e5b242d30 in PanelView::event (this=0x19dae40, event=0x2194e80) at /usr/src/debug/kdebase-workspace-4.3.4/plasma/shells/desktop/panelview.cpp:1314
#36 0x0000003e5e1aaa0c in QApplicationPrivate::notify_helper (this=0x15ca700, receiver=0x19dae40, e=0x2194e80) at kernel/qapplication.cpp:4303
#37 0x0000003e5e1b094b in QApplication::notify (this=<value optimized out>, receiver=0x19dae40, e=0x2194e80) at kernel/qapplication.cpp:4186
#38 0x0000003e5a9f81f6 in KApplication::notify (this=0x15ba4f0, receiver=0x19dae40, event=0x2194e80) at /usr/src/debug/kdelibs-4.3.4/kdeui/kernel/kapplication.cpp:302
#39 0x0000003e59157d0c in QCoreApplication::notifyInternal (this=0x15ba4f0, receiver=0x19dae40, event=0x2194e80) at kernel/qcoreapplication.cpp:704
#40 0x0000003e59158a57 in sendEvent (receiver=0x19dae40, event_type=77, data=0x15a3d90) at kernel/qcoreapplication.h:215
#41 QCoreApplicationPrivate::sendPostedEvents (receiver=0x19dae40, event_type=77, data=0x15a3d90) at kernel/qcoreapplication.cpp:1345
#42 0x0000003e5e77377a in dispatchPendingUpdateRequests (this=0x15c1d60) at ../../src/gui/graphicsview/qgraphicsview_p.h:184
#43 QGraphicsScenePrivate::_q_processDirtyItems (this=0x15c1d60) at graphicsview/qgraphicsscene.cpp:509
#44 0x0000003e5e773cea in QGraphicsScene::qt_metacall (this=0x169a960, _c=QMetaObject::InvokeMetaMethod, _id=14, _a=0x18aafc0) at .moc/release-shared/moc_qgraphicsscene.cpp:130
#45 0x0000003e622e6075 in Plasma::Corona::qt_metacall (this=0x169a960, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x18aafc0)
at /usr/src/debug/kdelibs-4.3.4/x86_64-redhat-linux-gnu/plasma/corona.moc:107
#46 0x0000003e5b235630 in DesktopCorona::qt_metacall (this=0x169a960, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x18aafc0)
at /usr/src/debug/kdebase-workspace-4.3.4/x86_64-redhat-linux-gnu/plasma/shells/desktop/desktopcorona.moc:71
#47 0x0000003e59166ca1 in QObject::event (this=0x169a960, e=0x1d0a530) at kernel/qobject.cpp:1248
#48 0x0000003e5e76f990 in QGraphicsScene::event (this=0x169a960, event=0x1d0a530) at graphicsview/qgraphicsscene.cpp:3500
#49 0x0000003e5e1aaa0c in QApplicationPrivate::notify_helper (this=0x15ca700, receiver=0x169a960, e=0x1d0a530) at kernel/qapplication.cpp:4303
#50 0x0000003e5e1b094b in QApplication::notify (this=<value optimized out>, receiver=0x169a960, e=0x1d0a530) at kernel/qapplication.cpp:4186
#51 0x0000003e5a9f81f6 in KApplication::notify (this=0x15ba4f0, receiver=0x169a960, event=0x1d0a530) at /usr/src/debug/kdelibs-4.3.4/kdeui/kernel/kapplication.cpp:302
#52 0x0000003e59157d0c in QCoreApplication::notifyInternal (this=0x15ba4f0, receiver=0x169a960, event=0x1d0a530) at kernel/qcoreapplication.cpp:704
#53 0x0000003e59158a57 in sendEvent (receiver=0x0, event_type=0, data=0x15a3d90) at kernel/qcoreapplication.h:215
#54 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x15a3d90) at kernel/qcoreapplication.cpp:1345
#55 0x0000003e5917dad3 in sendPostedEvents (s=<value optimized out>) at kernel/qcoreapplication.h:220
#56 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:276
#57 0x0000003e4fc40642 in g_main_dispatch (context=0x15ccdb0) at gmain.c:2441
#58 g_main_context_dispatch (context=0x15ccdb0) at gmain.c:3014
#59 0x0000003e4fc44c98 in g_main_context_iterate (context=0x15ccdb0, block=1, dispatch=1, self=<value optimized out>) at gmain.c:3092
#60 0x0000003e4fc44e4c in g_main_context_iteration (context=0x15ccdb0, may_block=1) at gmain.c:3155
#61 0x0000003e5917d613 in QEventDispatcherGlib::processEvents (this=0x15a3b40, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#62 0x0000003e5e249b5e in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#63 0x0000003e59156752 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#64 0x0000003e59156a1c in QEventLoop::exec (this=0x7ffd1097c500, flags=...) at kernel/qeventloop.cpp:201
#65 0x0000003e59158d09 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#66 0x0000003e5b23a80f in kdemain (argc=1, argv=0x7ffd1097c818) at /usr/src/debug/kdebase-workspace-4.3.4/plasma/shells/desktop/main.cpp:50
#67 0x0000003e4e81ed5d in __libc_start_main (main=0x400840 <main(int, char**)>, argc=1, ubp_av=0x7ffd1097c818, init=<value optimized out>, fini=<value optimized out>,
rtld_fini=<value optimized out>, stack_end=0x7ffd1097c808) at libc-start.c:226
#68 0x0000000000400779 in _start ()
plasma-desktop seems to be crashing while calling from.paintEngine()->hasFeature() :
#3 0x0000003e622ffc42 in Plasma::PaintUtils::transition (from=..., to=..., amount=0.125) at /usr/src/debug/kdelibs-4.3.4/plasma/paintutils.cpp:161
161 if (from.paintEngine()->hasFeature(QPaintEngine::PorterDuff) &&
(gdb) l
156 //paint to in the center of from
157 QRect toRect = to.rect();
158 toRect.moveCenter(from.rect().center());
159
160 // If the native paint engine supports Porter/Duff compositing and CompositionMode_Plus
161 if (from.paintEngine()->hasFeature(QPaintEngine::PorterDuff) &&
162 from.paintEngine()->hasFeature(QPaintEngine::BlendModes)) {
163 QPixmap under = from;
164 QPixmap over = to;
165
Application seems to be crashing while calling from.paintEngine() in frame 3 :
(gdb) frame 3
#3 0x0000003a146ffc42 in Plasma::PaintUtils::transition (from=..., to=..., amount=0.40000000000000002) at /usr/src/debug/kdelibs-4.3.4/plasma/paintutils.cpp:161
161 if (from.paintEngine()->hasFeature(QPaintEngine::PorterDuff) &&
(gdb) p from
$17 = (const QPixmap &) @0x7fffe524ce60: {<QPaintDevice> = {_vptr.QPaintDevice = 0x3a0abf1a30, painters = 0}, data = {d = 0xc14080}}
In 'src/gui/image/qpixmap.cpp' :
1864 QPaintEngine *QPixmap::paintEngine() const
1865 {
1866 return data ? data->paintEngine() : 0;
1867 }
(gdb) p from.data
$31 = {d = 0xc14080}
(gdb) ptype from.data
type = class QExplicitlySharedDataPointer<QPixmapData> {
(gdb) p from.data.d
$1 = (QPixmapData *) 0xc14080
(gdb) p /a (*(void ***)from.data.d)
$2 = 0x3a0abf2210 <_ZTV17QRasterPixmapData+16>
Line 1866 in 'src/gui/image/qpixmap.cpp' is calling below method from 'src/gui/image/qpixmap_raster.cpp' :
355 QPaintEngine* QRasterPixmapData::paintEngine() const
356 {
357 return image.paintEngine();
358 }
In 'src/gui/image/qimage.cpp' :
5308 QPaintEngine *QImage::paintEngine() const
5309 {
5310 if (!d)
5311 return 0;
5312
5313 if (!d->paintEngine) {
5314 d->paintEngine = new QRasterPaintEngine(const_cast<QImage *>(this));
5315 }
5316
5317 return d->paintEngine;
5318 }
line 5317 seems to be returning NULL which is causing the crash :
(gdb) p ((QRasterPixmapData*)from.data.d)->image->d->paintEngine
$12 = (QPaintEngine *) 0x0
So I suspect this crash is caused by NULL value returned from new operator at line 5314.
This bug seems to be fixed by https://quickgit.kde.org/?p=kdelibs.git&a=commitdiff&h=2c3dec2b2c512e68605dc9a250a1f7bd7a9683fe Upstream fix → granting dev_ack+. Created attachment 1099199 [details] Backported patch Backported patch from https://quickgit.kde.org/?p=kdelibs.git&a=commitdiff&h=2c3dec2b2c512e68605dc9a250a1f7bd7a9683fe Fixed in kdelibs-4.3.4-28.el6. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2016-0744.html |