Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

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: kdelibsAssignee: Jan Grulich <jgrulich>
Status: CLOSED ERRATA QA Contact: Desktop QE <desktop-qa-list>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.7CC: alanm, andreas.luik, ayadav, jkoten, lkolacek, tpelka
Target Milestone: rcKeywords: 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 Flags
Backported patch none

Description Siteshwar Vashisht 2015-11-13 11:18:58 UTC
Description of problem:
plasma-desktop crashes randmoly while hovering over application in task switcher

Version-Release number of selected component (if applicable):
kdebase-workspace-4.3.4-30.el6_6.x86_64

How reproducible:
Sometimes

Steps to Reproduce:
1. plasma-desktop sometimes crashes while hovering over generic X icon in task switcher

Additional info:

This bug is somewhat similar to https://bugzilla.redhat.com/show_bug.cgi?id=1098949 but has a different backtrace.

Comment 1 Siteshwar Vashisht 2015-11-13 12:04:10 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

Comment 2 Siteshwar Vashisht 2015-11-24 11:02:03 UTC
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.

Comment 3 Siteshwar Vashisht 2015-11-24 11:35:04 UTC
This bug seems to be fixed by https://quickgit.kde.org/?p=kdelibs.git&a=commitdiff&h=2c3dec2b2c512e68605dc9a250a1f7bd7a9683fe

Comment 4 Jan Grulich 2015-11-24 11:37:30 UTC
Upstream fix → granting dev_ack+.

Comment 5 Siteshwar Vashisht 2015-11-26 09:44:49 UTC
Created attachment 1099199 [details]
Backported patch

Backported patch from https://quickgit.kde.org/?p=kdelibs.git&a=commitdiff&h=2c3dec2b2c512e68605dc9a250a1f7bd7a9683fe

Comment 7 Jan Grulich 2015-11-30 13:25:55 UTC
Fixed in kdelibs-4.3.4-28.el6.

Comment 15 errata-xmlrpc 2016-05-10 19:36:54 UTC
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