Bug 431334

Summary: Plasma crashes in TaskManager::servicesFromPid() while installing a Windows app using WINE
Product: [Plasma] plasmashell Reporter: panos <panoskosmaoglou>
Component: Task Manager and Icons-Only Task ManagerAssignee: Eike Hein <hein>
Status: RESOLVED FIXED    
Severity: crash CC: bugseforuns, cjaushe4ka, kasper.sauramo, krystof186, michal.r.zak, nate, plasma-bugs, voicu.marius
Priority: NOR Keywords: drkonqi
Version: 5.20.4   
Target Milestone: 1.0   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 5.80
Sentry Crash Report:

Description panos 2021-01-08 21:46:21 UTC
Application: plasmashell (5.20.4)

Qt Version: 5.15.2
Frameworks Version: 5.77.0
Operating System: Linux 5.10.3-1-default x86_64
Windowing system: X11
Distribution: "openSUSE Tumbleweed"

-- Information about the crash:
- What I was doing when the application crashed: I am trying to istall  windows app (.exe) by wine

- Custom settings of the application:  Plasma crashed during installation

-- Backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault

[KCrash Handler]
#4  std::__atomic_base<int>::load (__m=<optimized out>, this=<optimized out>, this=<optimized out>, __m=<optimized out>) at /usr/include/c++/10/bits/atomic_base.h:420
#5  QAtomicOps<int>::loadRelaxed<int> (_q_value=..., _q_value=...) at /usr/include/qt5/QtCore/qatomic_cxx11.h:239
#6  QBasicAtomicInteger<int>::loadRelaxed (this=<optimized out>, this=<optimized out>) at /usr/include/qt5/QtCore/qbasicatomic.h:107
#7  QtPrivate::RefCount::ref (this=0x660066006f0053) at /usr/include/qt5/QtCore/qrefcount.h:55
#8  0x00007fc77831496a in QString::QString (other=..., this=<optimized out>, this=<optimized out>, other=...) at /usr/include/qt5/QtCore/qstring.h:1094
#9  (anonymous namespace)::getProcessInfo (procId=..., processInfo=...) at /usr/src/debug/kcoreaddons-5.77.0-1.1.x86_64/src/lib/util/kprocesslist_unix.cpp:91
#10 0x00007fc778314d42 in KProcessList::processInfo (pid=pid@entry=10704) at /usr/src/debug/kcoreaddons-5.77.0-1.1.x86_64/src/lib/util/kprocesslist_unix.cpp:150
#11 0x00007fc770156a3a in TaskManager::servicesFromPid (pid=pid@entry=10704, rulesConfig=...) at /usr/src/debug/plasma5-workspace-5.20.4-2.1.x86_64/libtaskmanager/tasktools.cpp:534
#12 0x00007fc77015737c in TaskManager::windowUrlFromMetadata (appId=..., pid=10704, rulesConfig=..., xWindowsWMClassName=...) at /usr/src/debug/plasma5-workspace-5.20.4-2.1.x86_64/libtaskmanager/tasktools.cpp:436
#13 0x00007fc77015ffc0 in TaskManager::XWindowTasksModel::Private::windowUrl (window=<optimized out>, this=0x55baff6a3f20) at /usr/src/debug/plasma5-workspace-5.20.4-2.1.x86_64/libtaskmanager/xwindowtasksmodel.cpp:543
#14 TaskManager::XWindowTasksModel::Private::appData (this=0x55baff6a3f20, window=<optimized out>) at /usr/src/debug/plasma5-workspace-5.20.4-2.1.x86_64/libtaskmanager/xwindowtasksmodel.cpp:447
#15 0x00007fc7701635d2 in TaskManager::XWindowTasksModel::data (this=0x55baff6a3d50, index=..., role=<optimized out>) at /usr/include/qt5/QtCore/qscopedpointer.h:116
#16 0x00007fc77777184e in QAbstractProxyModel::data (this=<optimized out>, proxyIndex=..., role=293) at itemmodels/qabstractproxymodel.cpp:245
#17 0x00007fc7700ccf26 in KConcatenateRowsProxyModel::data (this=<optimized out>, index=..., role=293) at /usr/include/qt5/QtCore/qabstractitemmodel.h:75
#18 0x00007fc77013b9a4 in QModelIndex::data (arole=293, this=0x7ffd8662d0e0) at /usr/include/qt5/QtCore/qabstractitemmodel.h:460
#19 TaskManager::TaskFilterProxyModel::acceptsRow (this=0x55bb013b5a20, sourceRow=<optimized out>) at /usr/src/debug/plasma5-workspace-5.20.4-2.1.x86_64/libtaskmanager/taskfilterproxymodel.cpp:251
#20 0x00007fc77778ac80 in QSortFilterProxyModelPrivate::_q_sourceDataChanged (this=<optimized out>, source_top_left=..., source_bottom_right=..., roles=...) at itemmodels/qsortfilterproxymodel.cpp:1423
#21 0x00007fc7777eb900 in doActivate<false> (sender=0x55bb013c2480, signal_index=3, argv=argv@entry=0x7ffd8662d3c0) at kernel/qobject.cpp:3898
#22 0x00007fc7777e4c20 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7fc777a97f40, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffd8662d3c0) at kernel/qobject.cpp:3946
#23 0x00007fc77774fec5 in QAbstractItemModel::dataChanged (this=<optimized out>, _t1=..., _t2=..., _t3=...) at .moc/moc_qabstractitemmodel.cpp:557
#24 0x00007fc7700ced9e in KConcatenateRowsProxyModelPrivate::slotDataChanged (roles=..., to=..., from=..., this=0x55bb013b5700) at /usr/src/debug/kitemmodels-5.77.0-1.1.x86_64/src/core/kconcatenaterowsproxymodel.cpp:312
#25 KConcatenateRowsProxyModelPrivate::slotDataChanged (roles=..., to=..., from=..., this=0x55bb013b5700) at /usr/src/debug/kitemmodels-5.77.0-1.1.x86_64/src/core/kconcatenaterowsproxymodel.cpp:305
#26 KConcatenateRowsProxyModel::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /usr/src/debug/kitemmodels-5.77.0-1.1.x86_64/build/src/core/KF5ItemModels_autogen/include/moc_kconcatenaterowsproxymodel.cpp:154
#27 0x00007fc7777eb900 in doActivate<false> (sender=0x55baff6a3c90, signal_index=3, argv=argv@entry=0x7ffd8662d5b0) at kernel/qobject.cpp:3898
#28 0x00007fc7777e4c20 in QMetaObject::activate (sender=sender@entry=0x55baff6a3c90, m=m@entry=0x7fc777a97f40, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffd8662d5b0) at kernel/qobject.cpp:3946
#29 0x00007fc77774fec5 in QAbstractItemModel::dataChanged (this=this@entry=0x55baff6a3c90, _t1=..., _t2=..., _t3=...) at .moc/moc_qabstractitemmodel.cpp:557
#30 0x00007fc77777a557 in QIdentityProxyModelPrivate::_q_sourceDataChanged (this=<optimized out>, topLeft=..., bottomRight=..., roles=...) at itemmodels/qidentityproxymodel.cpp:507
#31 0x00007fc7777eb900 in doActivate<false> (sender=0x55baff6a3d50, signal_index=3, argv=argv@entry=0x7ffd8662d750) at kernel/qobject.cpp:3898
#32 0x00007fc7777e4c20 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7fc777a97f40, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffd8662d750) at kernel/qobject.cpp:3946
#33 0x00007fc77774fec5 in QAbstractItemModel::dataChanged (this=<optimized out>, _t1=..., _t2=..., _t3=...) at .moc/moc_qabstractitemmodel.cpp:557
#34 0x00007fc77015cce5 in TaskManager::XWindowTasksModel::Private::dataChanged (this=this@entry=0x55baff6a3f20, window=<optimized out>, roles=...) at /usr/src/debug/plasma5-workspace-5.20.4-2.1.x86_64/libtaskmanager/xwindowtasksmodel.cpp:422
#35 0x00007fc77015ec22 in TaskManager::XWindowTasksModel::Private::windowChanged (properties2=..., properties=..., window=<optimized out>, this=0x55baff6a3f20) at /usr/src/debug/plasma5-workspace-5.20.4-2.1.x86_64/libtaskmanager/xwindowtasksmodel.cpp:409
#36 operator() (properties2=..., properties=..., window=<optimized out>, __closure=<optimized out>) at /usr/src/debug/plasma5-workspace-5.20.4-2.1.x86_64/libtaskmanager/xwindowtasksmodel.cpp:175
#37 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2>, QtPrivate::List<long long unsigned int, QFlags<NET::Property>, QFlags<NET::Property2> >, void, TaskManager::XWindowTasksModel::Private::init()::<lambda(WId, NET::Properties, NET::Properties2)> >::call (f=..., f=..., arg=<optimized out>) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:146
#38 QtPrivate::Functor<TaskManager::XWindowTasksModel::Private::init()::<lambda(WId, NET::Properties, NET::Properties2)>, 3>::call<QtPrivate::List<unsigned long long, QFlags<NET::Property>, QFlags<NET::Property2> >, void> (arg=<optimized out>, f=...) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:256
#39 QtPrivate::QFunctorSlotObject<TaskManager::XWindowTasksModel::Private::init()::<lambda(WId, NET::Properties, NET::Properties2)>, 3, QtPrivate::List<long long unsigned int, QFlags<NET::Property>, QFlags<NET::Property2> >, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:443
#40 0x00007fc7777eb8c6 in QtPrivate::QSlotObjectBase::call (a=0x7ffd8662d9e0, r=0x55baff6a3d50, this=0x55baff730240) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#41 doActivate<false> (sender=0x55baff6a5e80, signal_index=5, argv=argv@entry=0x7ffd8662d9e0) at kernel/qobject.cpp:3886
#42 0x00007fc7777e4c20 in QMetaObject::activate (sender=sender@entry=0x55baff6a5e80, m=<optimized out>, local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7ffd8662d9e0) at kernel/qobject.cpp:3946
#43 0x00007fc77015c7ad in XWindowSystemEventBatcher::windowChanged (_t3=..., _t2=..., _t1=<optimized out>, this=<optimized out>) at /usr/src/debug/plasma5-workspace-5.20.4-2.1.x86_64/build/libtaskmanager/taskmanager_autogen/EWIEGA46WW/moc_xwindowsystemeventbatcher.cpp:176
#44 operator() (properties2=..., properties=..., window=<optimized out>, __closure=0x55baff6a7d00) at /usr/src/debug/plasma5-workspace-5.20.4-2.1.x86_64/libtaskmanager/xwindowsystemeventbatcher.cpp:63
#45 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2>, QtPrivate::List<long long unsigned int, QFlags<NET::Property>, QFlags<NET::Property2> >, void, XWindowSystemEventBatcher::XWindowSystemEventBatcher(QObject*)::<lambda(WId, NET::Properties, NET::Properties2)> >::call (arg=<optimized out>, f=...) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:146
#46 QtPrivate::Functor<XWindowSystemEventBatcher::XWindowSystemEventBatcher(QObject*)::<lambda(WId, NET::Properties, NET::Properties2)>, 3>::call<QtPrivate::List<unsigned long long, QFlags<NET::Property>, QFlags<NET::Property2> >, void> (arg=<optimized out>, f=...) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:256
#47 QtPrivate::QFunctorSlotObject<XWindowSystemEventBatcher::XWindowSystemEventBatcher(QObject*)::<lambda(WId, NET::Properties, NET::Properties2)>, 3, QtPrivate::List<long long unsigned int, QFlags<NET::Property>, QFlags<NET::Property2> >, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x55baff6a7cf0, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:443
#48 0x00007fc7777eb8c6 in QtPrivate::QSlotObjectBase::call (a=0x7ffd8662db40, r=0x55baff6a5e80, this=0x55baff6a7cf0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#49 doActivate<false> (sender=0x7fc778ab0c60 <(anonymous namespace)::Q_QGS_g_kwmInstanceContainer::innerFunction()::holder>, signal_index=12, argv=argv@entry=0x7ffd8662db40) at kernel/qobject.cpp:3886
#50 0x00007fc7777e4c20 in QMetaObject::activate (sender=sender@entry=0x7fc778ab0c60 <(anonymous namespace)::Q_QGS_g_kwmInstanceContainer::innerFunction()::holder>, m=m@entry=0x7fc778aaf580, local_signal_index=local_signal_index@entry=9, argv=argv@entry=0x7ffd8662db40) at kernel/qobject.cpp:3946
#51 0x00007fc778a7c6db in KWindowSystem::windowChanged (this=this@entry=0x7fc778ab0c60 <(anonymous namespace)::Q_QGS_g_kwmInstanceContainer::innerFunction()::holder>, _t1=<optimized out>, _t1@entry=117440518, _t2=..., _t3=...) at /usr/src/debug/kwindowsystem-5.77.0-1.1.x86_64/build/src/KF5WindowSystem_autogen/EWIEGA46WW/moc_kwindowsystem.cpp:362
#52 0x00007fc771089ca6 in NETEventFilter::nativeEventFilter (this=0x55baff4e2620, ev=0x7fc76c015310) at /usr/src/debug/kwindowsystem-5.77.0-1.1.x86_64/src/platforms/xcb/kwindowsystem.cpp:289
#53 0x00007fc7777b2837 in QAbstractEventDispatcher::filterNativeEvent (this=<optimized out>, eventType=..., message=message@entry=0x7fc76c015310, result=result@entry=0x7ffd8662dc68) at kernel/qabstracteventdispatcher.cpp:495
#54 0x00007fc772fe90f1 in QXcbConnection::handleXcbEvent (this=this@entry=0x55bafed622a0, event=event@entry=0x7fc76c015310) at qxcbconnection.cpp:536
#55 0x00007fc772fea606 in QXcbConnection::processXcbEvents (this=0x55bafed622a0, flags=...) at qxcbconnection.cpp:1003
#56 0x00007fc77300cfa3 in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:103
#57 0x00007fc775bcce57 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#58 0x00007fc775bcd1d8 in ?? () from /usr/lib64/libglib-2.0.so.0
#59 0x00007fc775bcd28f in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#60 0x00007fc77780c83f in QEventDispatcherGlib::processEvents (this=0x55bafee18d20, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#61 0x00007fc7777b3cab in QEventLoop::exec (this=this@entry=0x7ffd8662def0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#62 0x00007fc7777bbf20 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#63 0x000055bafdaf9082 in main (argc=<optimized out>, argv=0x7ffd8662e110) at /usr/src/debug/plasma5-workspace-5.20.4-2.1.x86_64/shell/main.cpp:252
[Inferior 1 (process 2274) detached]

Possible duplicates by query: bug 429420, bug 428082, bug 427021, bug 426209, bug 425671.

Reported using DrKonqi
Comment 1 Nate Graham 2021-01-08 22:35:38 UTC
#9  (anonymous namespace)::getProcessInfo (procId=..., processInfo=...) at /usr/src/debug/kcoreaddons-5.77.0-1.1.x86_64/src/lib/util/kprocesslist_unix.cpp:91
#10 0x00007fc778314d42 in KProcessList::processInfo (pid=pid@entry=10704) at /usr/src/debug/kcoreaddons-5.77.0-1.1.x86_64/src/lib/util/kprocesslist_unix.cpp:150
#11 0x00007fc770156a3a in TaskManager::servicesFromPid (pid=pid@entry=10704, rulesConfig=...) at /usr/src/debug/plasma5-workspace-5.20.4-2.1.x86_64/libtaskmanager/tasktools.cpp:534
#12 0x00007fc77015737c in TaskManager::windowUrlFromMetadata (appId=..., pid=10704, rulesConfig=..., xWindowsWMClassName=...) at /usr/src/debug/plasma5-workspace-5.20.4-2.1.x86_64/libtaskmanager/tasktools.cpp:436
#13 0x00007fc77015ffc0 in TaskManager::XWindowTasksModel::Private::windowUrl (window=<optimized out>, this=0x55baff6a3f20) at /usr/src/debug/plasma5-workspace-5.20.4-2.1.x86_64/libtaskmanager/xwindowtasksmodel.cpp:543
#14 TaskManager::XWindowTasksModel::Private::appData (this=0x55baff6a3f20, window=<optimized out>) at /usr/src/debug/plasma5-workspace-5.20.4-2.1.x86_64/libtaskmanager/xwindowtasksmodel.cpp:447
#15 0x00007fc7701635d2 in TaskManager::XWindowTasksModel::data (this=0x55baff6a3d50, index=..., role=<optimized out>) at /usr/include/qt5/QtCore/qscopedpointer.h:116
Comment 2 Kai Uwe Broulik 2021-02-17 11:16:12 UTC
*** Bug 432867 has been marked as a duplicate of this bug. ***
Comment 3 Bug Janitor Service 2021-02-17 11:21:48 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kcoreaddons/-/merge_requests/75
Comment 4 Kai Uwe Broulik 2021-02-17 11:28:47 UTC
Git commit bf1825812fac68184781ad4f5321b0b631367784 by Kai Uwe Broulik.
Committed on 17/02/2021 at 11:20.
Pushed by broulik into branch 'master'.

[KProcessList] Check size of data before accessing it

M  +3    -0    src/lib/util/kprocesslist_unix.cpp

https://invent.kde.org/frameworks/kcoreaddons/commit/bf1825812fac68184781ad4f5321b0b631367784
Comment 5 David Edmundson 2021-05-19 21:07:02 UTC
*** Bug 420566 has been marked as a duplicate of this bug. ***
Comment 6 Nate Graham 2021-08-02 18:41:48 UTC
*** Bug 416619 has been marked as a duplicate of this bug. ***
Comment 7 Nate Graham 2021-08-02 18:41:55 UTC
*** Bug 440516 has been marked as a duplicate of this bug. ***
Comment 8 Harald Sitter 2021-10-04 08:49:16 UTC
*** Bug 443059 has been marked as a duplicate of this bug. ***
Comment 9 Nate Graham 2021-12-01 20:58:03 UTC
*** Bug 446334 has been marked as a duplicate of this bug. ***