Bug 508926 - Plasma crashes in TaskManager::TaskGroupingProxyModel::Private::checkGrouping() with Icons-and-Text Task Manager
Summary: Plasma crashes in TaskManager::TaskGroupingProxyModel::Private::checkGrouping...
Status: VERIFIED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Task Manager and Icons-Only Task Manager widgets (other bugs)
Version First Reported In: 6.4.80
Platform: Other Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-08-30 10:13 UTC by daron439
Modified: 2025-09-18 14:23 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.5.0
Sentry Crash Report:


Attachments
video (1.02 MB, video/webm)
2025-09-17 04:17 UTC, daron439
Details

Note You need to log in before you can comment on or make changes to this bug.
Description daron439 2025-08-30 10:13:02 UTC
SUMMARY
Plasma crashes when using Icons-and-Text Task Manager after opening the same application multiple times.

STEPS TO REPRODUCE
1. Switch to Icons-and-Text Task Manager.
2. Open multiple windows until the "Group only when the Task Manager is full" setting is triggered.

OBSERVED RESULT
plasmashell crashes

EXPECTED RESULT
no crash

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
(available in the Info Center app, or by running `kinfo` in a terminal window)
Linux/KDE Plasma: 
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007f6f81881f63 in __pthread_kill_internal (threadid=<optimized out>, signo=11) at pthread_kill.c:89
#2  0x00007f6f81827f3e in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#3  0x00007f6f851cd031 in KCrash::defaultCrashHandler (sig=11) at /usr/src/debug/kf6-kcrash-6.18.0~1.gitd48b6d0-1.fc42.x86_64/src/kcrash.cpp:605
#4  0x00007f6f81828070 in <signal handler called> () at /lib64/libc.so.6
#5  std::__atomic_base<int>::fetch_sub (this=0x558e0a90e036, __i=1, __m=std::memory_order::acq_rel) at /usr/include/c++/15/bits/atomic_base.h:641
#6  QAtomicOps<int>::deref<int> (_q_value=<error reading variable: Cannot access memory at address 0x558e0a90e036>, _q_value=<optimized out>) at /usr/include/qt6/QtCore/qatomic_cxx11.h:266
#7  QBasicAtomicInteger<int>::deref (this=0x558e0a90e036, this=<optimized out>) at /usr/include/qt6/QtCore/qbasicatomic.h:48
#8  QArrayData::deref (this=0x558e0a90e036, this=<optimized out>) at /usr/include/qt6/QtCore/qarraydata.h:66
#9  QArrayDataPointer<int>::deref (this=0x558b521f6410) at /usr/include/qt6/QtCore/qarraydatapointer.h:452
#10 QArrayDataPointer<int>::~QArrayDataPointer (this=0x558b521f6410, this=<optimized out>) at /usr/include/qt6/QtCore/qarraydatapointer.h:108
#11 0x00007f6f3156306e in QList<int>::~QList (this=0x558b521f6410, this=<optimized out>) at /usr/include/qt6/QtCore/qlist.h:76
#12 TaskManager::TaskGroupingProxyModel::Private::checkGrouping (this=0x558b4e078310, silent=false) at /usr/src/debug/plasma-workspace-6.4.80~96.git0e46882-1.fc42.x86_64/libtaskmanager/taskgroupingproxymodel.cpp:306
#13 0x00007f6f81f657ba in QtPrivate::QSlotObjectBase::call (this=0x558b4e0844c0, r=0x558b4e0839c0, a=0x7ffc44514950) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#14 doActivate<false> (sender=0x558b4e0818b0, signal_index=13, argv=argv@entry=0x7ffc44514950) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4146
#15 0x00007f6f81f5c089 in QMetaObject::activate (sender=sender@entry=0x558b4e0818b0, m=m@entry=0x7f6f824a8240, local_signal_index=local_signal_index@entry=10, argv=argv@entry=0x7ffc44514950) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4206
#16 0x00007f6f82183bba in QMetaObject::activate<void, QModelIndex, int, int, QAbstractItemModel::QPrivateSignal> (sender=0x558b4e0818b0, mo=0x7f6f824a8240, local_signal_index=10, ret=0x0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobjectdefs.h:306
#17 QAbstractItemModel::rowsInserted (this=this@entry=0x558b4e0818b0, _t1=..., _t2=<optimized out>, _t3=<optimized out>, _t4=...) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/redhat-linux-build/src/corelib/Core_autogen/include/moc_qabstractitemmodel.cpp:688
#18 0x00007f6f8219355e in QAbstractItemModel::endInsertRows (this=0x558b4e0818b0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/itemmodels/qabstractitemmodel.cpp:2917
#19 0x00007f6f821dd10d in QSortFilterProxyModelPrivate::insert_source_items (this=this@entry=0x558b4e048ec0, source_to_proxy=..., proxy_to_source=..., source_items=..., source_parent=..., orient=orient@entry=Qt::Vertical, emit_signal=true) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/itemmodels/qsortfilterproxymodel.cpp:938
#20 0x00007f6f821e5c3b in QSortFilterProxyModelPrivate::source_items_inserted (this=0x558b4e048ec0, source_parent=..., start=<optimized out>, end=<optimized out>, orient=Qt::Vertical) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/itemmodels/qsortfilterproxymodel.cpp:1049
#21 0x00007f6f821e887b in QSortFilterProxyModelPrivate::_q_sourceRowsInserted (this=0x558b4e048ec0, source_parent=..., start=6, end=6) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/itemmodels/qsortfilterproxymodel.cpp:1691
#22 0x00007f6f81f657ba in QtPrivate::QSlotObjectBase::call (this=0x558b4e082300, r=0x558b4e0818b0, a=0x7ffc44514d10) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#23 doActivate<false> (sender=0x558b4e078e90, signal_index=13, argv=argv@entry=0x7ffc44514d10) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4146
#24 0x00007f6f81f5c089 in QMetaObject::activate (sender=sender@entry=0x558b4e078e90, m=m@entry=0x7f6f824a8240, local_signal_index=local_signal_index@entry=10, argv=argv@entry=0x7ffc44514d10) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4206
#25 0x00007f6f82183bba in QMetaObject::activate<void, QModelIndex, int, int, QAbstractItemModel::QPrivateSignal> (sender=0x558b4e078e90, mo=0x7f6f824a8240, local_signal_index=10, ret=0x0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobjectdefs.h:306
#26 QAbstractItemModel::rowsInserted (this=this@entry=0x558b4e078e90, _t1=..., _t2=<optimized out>, _t3=<optimized out>, _t4=...) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/redhat-linux-build/src/corelib/Core_autogen/include/moc_qabstractitemmodel.cpp:688
#27 0x00007f6f8219355e in QAbstractItemModel::endInsertRows (this=0x558b4e078e90) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/itemmodels/qabstractitemmodel.cpp:2917
#28 0x00007f6f81f657ba in QtPrivate::QSlotObjectBase::call (this=0x558b4e07a500, r=0x558b4e078e90, a=0x7ffc44514e90) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#29 doActivate<false> (sender=0x558b4be2c550, signal_index=13, argv=argv@entry=0x7ffc44514e90) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4146
#30 0x00007f6f81f5c089 in QMetaObject::activate (sender=sender@entry=0x558b4be2c550, m=m@entry=0x7f6f824a8240, local_signal_index=local_signal_index@entry=10, argv=argv@entry=0x7ffc44514e90) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4206
#31 0x00007f6f82183bba in QMetaObject::activate<void, QModelIndex, int, int, QAbstractItemModel::QPrivateSignal> (sender=0x558b4be2c550, mo=0x7f6f824a8240, local_signal_index=10, ret=0x0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobjectdefs.h:306
#32 QAbstractItemModel::rowsInserted (this=this@entry=0x558b4be2c550, _t1=..., _t2=<optimized out>, _t3=<optimized out>, _t4=...) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/redhat-linux-build/src/corelib/Core_autogen/include/moc_qabstractitemmodel.cpp:688
#33 0x00007f6f8219355e in QAbstractItemModel::endInsertRows (this=0x558b4be2c550) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/itemmodels/qabstractitemmodel.cpp:2917
#34 0x00007f6f81f657ba in QtPrivate::QSlotObjectBase::call (this=0x558b4dd78180, r=0x558b4be2c550, a=0x7ffc44515010) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#35 doActivate<false> (sender=0x558b4be9afe0, signal_index=13, argv=argv@entry=0x7ffc44515010) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4146
#36 0x00007f6f81f5c089 in QMetaObject::activate (sender=sender@entry=0x558b4be9afe0, m=m@entry=0x7f6f824a8240, local_signal_index=local_signal_index@entry=10, argv=argv@entry=0x7ffc44515010) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4206
#37 0x00007f6f82183bba in QMetaObject::activate<void, QModelIndex, int, int, QAbstractItemModel::QPrivateSignal> (sender=0x558b4be9afe0, mo=0x7f6f824a8240, local_signal_index=10, ret=0x0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobjectdefs.h:306
#38 QAbstractItemModel::rowsInserted (this=this@entry=0x558b4be9afe0, _t1=..., _t2=<optimized out>, _t3=<optimized out>, _t4=...) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/redhat-linux-build/src/corelib/Core_autogen/include/moc_qabstractitemmodel.cpp:688
#39 0x00007f6f8219355e in QAbstractItemModel::endInsertRows (this=0x558b4be9afe0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/itemmodels/qabstractitemmodel.cpp:2917
#40 0x00007f6f31590686 in TaskManager::WaylandTasksModel::Private::addWindow (this=0x558b4bded7b0, window=<optimized out>) at /usr/src/debug/plasma-workspace-6.4.80~96.git0e46882-1.fc42.x86_64/libtaskmanager/waylandtasksmodel.cpp:813
#41 0x00007f6f81f657ba in QtPrivate::QSlotObjectBase::call (this=0x558b52843c50, r=0x558b4be9afe0, a=0x7ffc445151c8) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#42 doActivate<false> (sender=0x558b4becfe80, signal_index=35, argv=0x7ffc445151c8) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4146
#43 0x00007f6f8301d056 in ffi_call_unix64 () at ../src/x86/unix64.S:104
#44 0x00007f6f83018d08 in ffi_call_int (cif=cif@entry=0x7ffc445153d0, fn=fn@entry=0x7f6f315b7950 <QtWayland::org_kde_plasma_window::handle_initial_state(void*, org_kde_plasma_window*)>, rvalue=<optimized out>, rvalue@entry=0x0, avalue=avalue@entry=0x7ffc445154a0, closure=closure@entry=0x0) at ../src/x86/ffi64.c:673
#45 0x00007f6f8301b70e in ffi_call (cif=cif@entry=0x7ffc445153d0, fn=0x7f6f315b7950 <QtWayland::org_kde_plasma_window::handle_initial_state(void*, org_kde_plasma_window*)>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7ffc445154a0) at ../src/x86/ffi64.c:710
#46 0x00007f6f85455feb in wl_closure_invoke (closure=closure@entry=0x7f6f64010120, target=<optimized out>, target@entry=0x558b5284a5e0, opcode=opcode@entry=6, data=<optimized out>, flags=1) at ../src/connection.c:1241
#47 0x00007f6f85456e49 in dispatch_event (display=display@entry=0x558b47d4fd00, queue=queue@entry=0x558b47d4fdf8) at ../src/wayland-client.c:1707
#48 0x00007f6f85457243 in dispatch_queue (display=0x558b47d4fd00, queue=0x558b47d4fdf8) at ../src/wayland-client.c:1853
#49 wl_display_dispatch_queue_pending (display=0x558b47d4fd00, queue=0x558b47d4fdf8) at ../src/wayland-client.c:2190
#50 0x00007f6f83107902 in QtWaylandClient::QWaylandDisplay::flushRequests (this=<optimized out>) at /usr/src/debug/qt6-qtwayland-6.9.1-3.fc42.x86_64/src/client/qwaylanddisplay.cpp:228
#51 0x00007f6f81f65c5a in doActivate<false> (sender=0x558b47d4dcf0, signal_index=4, argv=0x7ffc445156f8, argv@entry=0x0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4158
#52 0x00007f6f81f5c089 in QMetaObject::activate (sender=sender@entry=0x558b47d4dcf0, m=m@entry=0x7f6f824a16e0 <QAbstractEventDispatcher::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4206
#53 0x00007f6f81ef2cc7 in QAbstractEventDispatcher::awake (this=this@entry=0x558b47d4dcf0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/redhat-linux-build/src/corelib/Core_autogen/include/moc_qabstracteventdispatcher.cpp:128
#54 0x00007f6f8220f9eb in QEventDispatcherGlib::processEvents (this=0x558b47d4dcf0, flags=...) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:406
#55 0x00007f6f81f07b03 in QEventLoop::exec (this=this@entry=0x7ffc44515830, flags=..., flags@entry=...) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/global/qflags.h:77
#56 0x00007f6f81f03419 in QCoreApplication::exec () at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1449
#57 0x00007f6f826ddbad in QGuiApplication::exec () at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/gui/kernel/qguiapplication.cpp:1986
#58 0x00007f6f8443d8e9 in QApplication::exec () at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/kernel/qapplication.cpp:2570
#59 0x0000558b1eb62a17 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace-6.4.80~96.git0e46882-1.fc42.x86_64/shell/main.cpp:188
Comment 1 TraceyC 2025-09-16 21:36:25 UTC
I'm not able to reproduce this crash on git-master

Can you please fill out this information, as asked for in the template?

SOFTWARE/OS VERSIONS
(available in the Info Center app, or by running `kinfo` in a terminal window)
Linux/KDE Plasma: 
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

Thanks.
Comment 2 daron439 2025-09-17 04:15:50 UTC
SOFTWARE/OS VERSIONS
(available in the Info Center app, or by running `kinfo` in a terminal window)
Linux/KDE Plasma: 
KDE Plasma Version: 6.4.80
KDE Frameworks Version: 6.19.0
Qt Version: 6.9.2
Comment 3 daron439 2025-09-17 04:17:54 UTC
Created attachment 184996 [details]
video

A screencast recorded on kde-linux_202509170254.raw demonstrating the issue.
Comment 4 Nate Graham 2025-09-18 13:31:59 UTC
This has been very likely fixed by https://invent.kde.org/plasma/plasma-desktop/-/commit/25b01c8037ce3414f1d6653de9566809c405de68; I'm marking this as resolved, but please do test the Plasma 6.5 beta and let us know if you still experience it. Thanks!
Comment 5 daron439 2025-09-18 13:38:23 UTC
I've been reverting those two commits for some time, and yes, that fixes the issue.
Comment 6 Nate Graham 2025-09-18 14:23:22 UTC
Great, thanks for confirming!