Bug 482756 - Plasma crashed after switching apps repeatedly by clicking on the task manager
Summary: Plasma crashed after switching apps repeatedly by clicking on the task manager
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Task Manager and Icons-Only Task Manager (show other bugs)
Version: 6.0.1
Platform: Arch Linux Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi, qt6
Depends on:
Blocks:
 
Reported: 2024-03-07 18:34 UTC by Patrick Silva
Modified: 2024-03-11 23:08 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.0.2


Attachments
New crash information added by DrKonqi (146.05 KB, text/plain)
2024-03-07 18:34 UTC, Patrick Silva
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Silva 2024-03-07 18:34:16 UTC
Application: plasmashell (6.0.1)

Qt Version: 6.6.2
Frameworks Version: 6.0.0
Operating System: Linux 6.7.8-arch1-1 x86_64
Windowing System: Wayland
Distribution: "Arch Linux"
DrKonqi: 6.0.1 [CoredumpBackend]

-- Information about the crash:
Six apps were running, I was switching them repeatedly by clicking on the task manager, Plasma crashed at some point.

The reporter is unsure if this crash is reproducible.

-- Backtrace (Reduced):
#5  0x00007dd4c7468975 in QBindingStorage::registerDependency (data=0x5f983391eac0, this=0x5f9853152f10) at /usr/include/qt6/QtCore/qbindingstorage.h:59
#6  QObjectBindableProperty<AbstractPlayerContainer, PlaybackStatus::Status, &AbstractPlayerContainer::_qt_property_m_playbackStatus_offset, &AbstractPlayerContainer::playbackStatusChanged>::value (this=0x5f983391eac0) at /usr/include/qt6/QtCore/qproperty.h:1071
#7  AbstractPlayerContainer::playbackStatus (this=0x5f983391e990) at /usr/src/debug/plasma-workspace/plasma-workspace-6.0.1/libkmpris/playercontainer.cpp:83
#8  0x00007dd4c7468b2f in Multiplexer::onRowsInserted (this=0x5f98342de0f0, first=2) at /usr/src/debug/plasma-workspace/plasma-workspace-6.0.1/libkmpris/multiplexer.cpp:62
#9  0x00007dd4fd190ca9 in QtPrivate::QSlotObjectBase::call (a=0x7fff24bb78a0, r=0x5f98342de0f0, this=0x5f98342dfbd0, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qobjectdefs_impl.h:433


Reported using DrKonqi
Comment 1 Patrick Silva 2024-03-07 18:34:19 UTC
Created attachment 166622 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 Nate Graham 2024-03-07 22:05:15 UTC
Were any of them playing audio? The backtrace indicates an issue in the MPRIS code.
Comment 3 Patrick Silva 2024-03-07 22:06:02 UTC
Yes.
Comment 4 Nicolas Fella 2024-03-08 09:51:06 UTC
#5  0x00007dd4c7468975 in QBindingStorage::registerDependency (data=0x5f983391eac0, this=0x5f9853152f10) at /usr/include/qt6/QtCore/qbindingstorage.h:59
#6  QObjectBindableProperty<AbstractPlayerContainer, PlaybackStatus::Status, &AbstractPlayerContainer::_qt_property_m_playbackStatus_offset, &AbstractPlayerContainer::playbackStatusChanged>::value (this=0x5f983391eac0) at /usr/include/qt6/QtCore/qproperty.h:1071
#7  AbstractPlayerContainer::playbackStatus (this=0x5f983391e990) at /usr/src/debug/plasma-workspace/plasma-workspace-6.0.1/libkmpris/playercontainer.cpp:83
#8  0x00007dd4c7468b2f in Multiplexer::onRowsInserted (this=0x5f98342de0f0, first=2) at /usr/src/debug/plasma-workspace/plasma-workspace-6.0.1/libkmpris/multiplexer.cpp:62
#9  0x00007dd4fd190ca9 in QtPrivate::QSlotObjectBase::call (a=0x7fff24bb78a0, r=0x5f98342de0f0, this=0x5f98342dfbd0, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qobjectdefs_impl.h:433
#10 doActivate<false> (sender=0x5f98342dead0, signal_index=13, argv=0x7fff24bb78a0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qobject.cpp:4039
#11 0x00007dd4fd31ec47 in QAbstractItemModel::rowsInserted (_t4=..., _t3=<optimized out>, _t2=<optimized out>, _t1=..., this=0x5f98342dead0) at /usr/src/debug/qt6-base/build/src/corelib/Core_autogen/include/moc_qabstractitemmodel.cpp:1356
#12 QAbstractItemModel::endInsertRows (this=0x5f98342dead0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/itemmodels/qabstractitemmodel.cpp:2908
#13 0x00007dd4fd3472cd in QSortFilterProxyModelPrivate::insert_source_items (this=this@entry=0x5f98342deb30, source_to_proxy=..., proxy_to_source=..., source_items=..., source_parent=..., orient=orient@entry=Qt::Vertical, emit_signal=true) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/itemmodels/qsortfilterproxymodel.cpp:932
#14 0x00007dd4fd34819e in QSortFilterProxyModelPrivate::source_items_inserted (this=0x5f98342deb30, source_parent=..., start=<optimized out>, end=<optimized out>, orient=Qt::Vertical) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/itemmodels/qsortfilterproxymodel.cpp:1043
#15 0x00007dd4fd35338d in QSortFilterProxyModelPrivate::_q_sourceRowsInserted (this=0x5f98342deb30, source_parent=..., start=2, end=2) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/itemmodels/qsortfilterproxymodel.cpp:1685
#16 0x00007dd4fd190ca9 in QtPrivate::QSlotObjectBase::call (a=0x7fff24bb7d40, r=0x5f98342dead0, this=0x5f98342e06d0, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qobjectdefs_impl.h:433
#17 doActivate<false> (sender=0x5f9833251110, signal_index=13, argv=0x7fff24bb7d40) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qobject.cpp:4039
#18 0x00007dd4fd31ec47 in QAbstractItemModel::rowsInserted (_t4=..., _t3=<optimized out>, _t2=<optimized out>, _t1=..., this=0x5f9833251110) at /usr/src/debug/qt6-base/build/src/corelib/Core_autogen/include/moc_qabstractitemmodel.cpp:1356
#19 QAbstractItemModel::endInsertRows (this=this@entry=0x5f9833251110) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/itemmodels/qabstractitemmodel.cpp:2908
#20 0x00007dd4c745d241 in Mpris2SourceModel::onInitialFetchFinished (this=0x5f9833251110, container=0x5f983886ddb0) at /usr/src/debug/plasma-workspace/plasma-workspace-6.0.1/libkmpris/mpris2sourcemodel.cpp:271
#21 0x00007dd4fd190ca9 in QtPrivate::QSlotObjectBase::call (a=0x7fff24bb7f30, r=0x5f9833251110, this=0x5f985326d750, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qobjectdefs_impl.h:433
#22 doActivate<false> (sender=0x5f983886ddb0, signal_index=34, argv=0x7fff24bb7f30) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qobject.cpp:4039
#23 0x00007dd4c746bf24 in PlayerContainer::initialFetchFinished (this=this@entry=0x5f983886ddb0, _t1=<optimized out>, _t1@entry=0x5f983886ddb0) at /usr/src/debug/plasma-workspace/build/libkmpris/kmpris_autogen/include/moc_playercontainer.cpp:1614
#24 0x00007dd4c74736ae in PlayerContainer::onGetPropsFinished (this=0x5f983886ddb0, watcher=<optimized out>) at /usr/src/debug/plasma-workspace/plasma-workspace-6.0.1/libkmpris/playercontainer.cpp:690
#25 0x00007dd4fd190ca9 in QtPrivate::QSlotObjectBase::call (a=0x7fff24bb81c0, r=0x5f983886ddb0, this=0x5f983aaaeea0, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qobjectdefs_impl.h:433
#26 doActivate<false> (sender=0x5f983ea767d0, signal_index=3, argv=0x7fff24bb81c0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qobject.cpp:4039
#27 0x00007dd4fdf00e80 in QDBusPendingCallWatcher::finished (_t1=<optimized out>, this=<optimized out>) at /usr/src/debug/qt6-base/build/src/dbus/DBus_autogen/include/moc_qdbuspendingcall.cpp:200
#28 QDBusPendingCallWatcherPrivate::_q_finished (this=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/dbus/qdbuspendingcall.cpp:460
#29 QDBusPendingCallWatcher::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /usr/src/debug/qt6-base/build/src/dbus/DBus_autogen/include/moc_qdbuspendingcall.cpp:138
#30 0x00007dd4fd17c2c7 in QObject::event (this=0x5f983ea767d0, e=0x7dd4f00847b0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qobject.cpp:1437
#31 0x00007dd4feef438b in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5f983ea767d0, e=0x7dd4f00847b0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/widgets/kernel/qapplication.cpp:3296
#32 0x00007dd4fd139818 in QCoreApplication::notifyInternal2 (receiver=0x5f983ea767d0, event=event@entry=0x7dd4f00847b0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qcoreapplication.cpp:1121
#33 0x00007dd4fd139b9b in QCoreApplication::sendEvent (event=0x7dd4f00847b0, receiver=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qcoreapplication.cpp:1539
#34 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5f98315cbba0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qcoreapplication.cpp:1901
#35 0x00007dd4fd3758a4 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qcoreapplication.cpp:1760
#36 postEventSourceDispatch (s=0x5f98315fa990) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qeventdispatcher_glib.cpp:243
#37 0x00007dd4fbd39f69 in g_main_dispatch (context=0x7dd4f0000ef0) at ../glib/glib/gmain.c:3476
#38 0x00007dd4fbd983a7 in g_main_context_dispatch_unlocked (context=0x7dd4f0000ef0) at ../glib/glib/gmain.c:4284
#39 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7dd4f0000ef0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4349
#40 0x00007dd4fbd38162 in g_main_context_iteration (context=0x7dd4f0000ef0, may_block=1) at ../glib/glib/gmain.c:4414
#41 0x00007dd4fd3739c4 in QEventDispatcherGlib::processEvents (this=0x5f9831610720, flags=...) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qeventdispatcher_glib.cpp:393
#42 0x00007dd4fd143d6e in QEventLoop::processEvents (flags=..., this=0x7fff24bb8640) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qeventloop.cpp:100
#43 QEventLoop::exec (this=0x7fff24bb8640, flags=...) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qeventloop.cpp:182
#44 0x00007dd4fd13c2b8 in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/global/qflags.h:74
#45 0x00007dd4feef0f0a in QApplication::exec () at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/widgets/kernel/qapplication.cpp:2574
#46 0x00005f9831505486 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace/plasma-workspace-6.0.1/shell/main.cpp:214
Comment 5 Bug Janitor Service 2024-03-10 04:50:49 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/4033
Comment 6 Fushan Wen 2024-03-10 05:03:08 UTC
Git commit 20d3da0e8c4c92648dda1808a26e8e9affda97e9 by Fushan Wen.
Committed on 10/03/2024 at 04:44.
Pushed by fusionfuture into branch 'master'.

libkmpris: set active player index to -1 when no player matches active player

Amends 2f809bd794076c8df3e87af25b9c2020c562dad1
FIXED-IN: 6.0.2

M  +19   -25   libkmpris/multiplexer.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/20d3da0e8c4c92648dda1808a26e8e9affda97e9
Comment 7 Fushan Wen 2024-03-10 05:03:16 UTC
Git commit 0fd21072a3b62d93e0bdcccb766936ea9d1c952d by Fushan Wen.
Committed on 10/03/2024 at 04:44.
Pushed by fusionfuture into branch 'master'.

libkmpris: assert active player always matches active index

Otherwise the filter proxy model or the multiplexer does something wrong.

M  +3    -0    libkmpris/multiplexer.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/0fd21072a3b62d93e0bdcccb766936ea9d1c952d
Comment 8 Fushan Wen 2024-03-10 05:26:59 UTC
Git commit 89563d31627cbfb10c7a335e0e8c573a3694208d by Fushan Wen.
Committed on 10/03/2024 at 05:09.
Pushed by fusionfuture into branch 'Plasma/6.0'.

libkmpris: assert active player always matches active index

Otherwise the filter proxy model or the multiplexer does something wrong.


(cherry picked from commit 0fd21072a3b62d93e0bdcccb766936ea9d1c952d)

M  +3    -0    libkmpris/multiplexer.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/89563d31627cbfb10c7a335e0e8c573a3694208d
Comment 9 Fushan Wen 2024-03-10 05:27:07 UTC
Git commit 67361dd1eff060bc2c93e7b822054e0d57e2d812 by Fushan Wen.
Committed on 10/03/2024 at 05:08.
Pushed by fusionfuture into branch 'Plasma/6.0'.

libkmpris: set active player index to -1 when no player matches active player

Amends 2f809bd794076c8df3e87af25b9c2020c562dad1
FIXED-IN: 6.0.2


(cherry picked from commit 20d3da0e8c4c92648dda1808a26e8e9affda97e9)

M  +19   -25   libkmpris/multiplexer.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/67361dd1eff060bc2c93e7b822054e0d57e2d812
Comment 10 Nate Graham 2024-03-11 23:08:04 UTC
*** Bug 483027 has been marked as a duplicate of this bug. ***