Application: plasmashell (6.0.0) Qt Version: 6.6.2 Frameworks Version: 6.0.0 Operating System: Linux 6.5.0-21-generic x86_64 Windowing System: X11 Distribution: KDE neon 6.0 DrKonqi: 6.0.0 [CoredumpBackend] -- Information about the crash: I was browsing the web, using Mozilla Firefox and casting to my TV, through Google Chrome, when I received the failed Process Viewer message. But I don't know what caused this failure. The reporter is unsure if this crash is reproducible. -- Backtrace (Reduced): #6 __pthread_kill_implementation (no_tid=0, signo=6, threadid=140606710235072) at ./nptl/pthread_kill.c:44 #7 __pthread_kill_internal (signo=6, threadid=140606710235072) at ./nptl/pthread_kill.c:78 #8 __GI___pthread_kill (threadid=140606710235072, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 #9 0x00007fe191042476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #10 0x00007fe1910287f3 in __GI_abort () at ./stdlib/abort.c:79 Reported using DrKonqi
Created attachment 166181 [details] New crash information added by DrKonqi DrKonqi auto-attaching complete backtrace.
Relevant trace: Thread 1 (Thread 0x7fe18d043fc0 (LWP 1475)): [KCrash Handler] #6 __pthread_kill_implementation (no_tid=0, signo=6, threadid=140606710235072) at ./nptl/pthread_kill.c:44 #7 __pthread_kill_internal (signo=6, threadid=140606710235072) at ./nptl/pthread_kill.c:78 #8 __GI___pthread_kill (threadid=140606710235072, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 #9 0x00007fe191042476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #10 0x00007fe1910287f3 in __GI_abort () at ./stdlib/abort.c:79 #11 0x00007fe191cdb017 in qAbort() () at ./src/corelib/global/qglobal.cpp:161 #12 0x00007fe191cd64e5 in qt_message_fatal<QString&> (message=..., context=<optimized out>) at ./src/corelib/global/qlogging.cpp:2003 #13 qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, context=<optimized out>, msg=<optimized out>, ap=ap@entry=0x7ffd32c1ae40) at ./src/corelib/global/qlogging.cpp:378 #14 0x00007fe191cdba43 in QMessageLogger::fatal(char const*, ...) const (this=<optimized out>, msg=<optimized out>) at ./src/corelib/global/qlogging.cpp:901 #15 0x00007fe191ca9cf4 in qt_assert_x(char const*, char const*, char const*, int) (where=where@entry=0x7fe105a3b148 "void Multiplexer::updateIndex()", what=<optimized out>, file=file@entry=0x7fe105a3b168 "./libkmpris/multiplexer.cpp", line=line@entry=120) at ./src/corelib/global/qassert.cpp:77 #16 0x00007fe105a0a706 in Multiplexer::updateIndex() (this=0x55c5b5567db0) at ./libkmpris/multiplexer.cpp:120 #17 0x00007fe191c2b7ce in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffd32c1b1a0, r=0x55c5b5567db0, this=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ./src/corelib/kernel/qobjectdefs_impl.h:433 #18 doActivate<false>(QObject*, int, void**) (sender=0x55c5b5568790, signal_index=15, argv=0x7ffd32c1b1a0) at ./src/corelib/kernel/qobject.cpp:4039 #19 0x00007fe191ad2d52 in QAbstractItemModel::rowsRemoved(QModelIndex const&, int, int, QAbstractItemModel::QPrivateSignal) (this=this@entry=0x55c5b5568790, _t1=..., _t2=<optimized out>, _t3=<optimized out>, _t4=...) at ./obj-x86_64-linux-gnu/src/corelib/Core_autogen/include/moc_qabstractitemmodel.cpp:1370 #20 0x00007fe191ad2e16 in QAbstractItemModel::endRemoveRows() (this=0x55c5b5568790) at ./src/corelib/itemmodels/qabstractitemmodel.cpp:2963 #21 0x00007fe191af1d0d in QSortFilterProxyModelPrivate::remove_proxy_interval(QList<int>&, QList<int>&, int, int, QModelIndex const&, Qt::Orientation, bool) (this=0x55c5b55687f0, emit_signal=<optimized out>, orient=Qt::Vertical, proxy_parent=..., proxy_end=<optimized out>, proxy_start=<optimized out>, proxy_to_source=..., source_to_proxy=...) at ./src/corelib/itemmodels/qsortfilterproxymodel.cpp:805 #22 QSortFilterProxyModelPrivate::remove_source_items(QList<int>&, QList<int>&, QList<int> const&, QModelIndex const&, Qt::Orientation, bool) (this=this@entry=0x55c5b55687f0, source_to_proxy=..., proxy_to_source=..., source_items=..., source_parent=..., orient=orient@entry=Qt::Vertical, emit_signal=true) at ./src/corelib/itemmodels/qsortfilterproxymodel.cpp:772 #23 0x00007fe191af2081 in QSortFilterProxyModelPrivate::source_items_about_to_be_removed(QModelIndex const&, int, int, Qt::Orientation) (orient=Qt::Vertical, end=1, start=1, source_parent=..., this=0x55c5b55687f0) at ./src/corelib/itemmodels/qsortfilterproxymodel.cpp:1076 #24 QSortFilterProxyModelPrivate::_q_sourceRowsAboutToBeRemoved(QModelIndex const&, int, int) (this=0x55c5b55687f0, source_parent=..., start=1, end=1) at ./src/corelib/itemmodels/qsortfilterproxymodel.cpp:1713 #25 0x00007fe191c2b7ce in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffd32c1b4a0, r=0x55c5b5568790, this=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ./src/corelib/kernel/qobjectdefs_impl.h:433 #26 doActivate<false>(QObject*, int, void**) (sender=0x55c5b50bc580, signal_index=14, argv=0x7ffd32c1b4a0) at ./src/corelib/kernel/qobject.cpp:4039 #27 0x00007fe191ad2c32 in QAbstractItemModel::rowsAboutToBeRemoved(QModelIndex const&, int, int, QAbstractItemModel::QPrivateSignal) (this=this@entry=0x55c5b50bc580, _t1=..., _t2=<optimized out>, _t2@entry=1, _t3=<optimized out>, _t3@entry=1, _t4=...) at ./obj-x86_64-linux-gnu/src/corelib/Core_autogen/include/moc_qabstractitemmodel.cpp:1363 #28 0x00007fe191ad2cb9 in QAbstractItemModel::beginRemoveRows(QModelIndex const&, int, int) (this=0x55c5b50bc580, parent=..., first=1, last=1) at ./src/corelib/itemmodels/qabstractitemmodel.cpp:2946 #29 0x00007fe105a11726 in Mpris2SourceModel::removeMediaPlayer(QString const&) (this=0x55c5b50bc580, sourceName=<optimized out>) at ./libkmpris/mpris2sourcemodel.cpp:419 #30 0x00007fe105a11d1c in Mpris2SourceModel::onServiceOwnerChanged(QString const&, QString const&, QString const&) (this=0x55c5b50bc580, serviceName=..., oldOwner=<optimized out>, newOwner=...) at ./libkmpris/mpris2sourcemodel.cpp:210 #31 0x00007fe191c2b7ce in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffd32c1b830, r=0x55c5b50bc580, this=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ./src/corelib/kernel/qobjectdefs_impl.h:433 #32 doActivate<false>(QObject*, int, void**) (sender=0x55c5b5567df0, signal_index=5, argv=0x7ffd32c1b830) at ./src/corelib/kernel/qobject.cpp:4039 #33 0x00007fe1926e2573 in QDBusServiceWatcher::serviceOwnerChanged(QString const&, QString const&, QString const&) (this=this@entry=0x55c5b5567df0, _t1=..., _t2=..., _t3=...) at ./obj-x86_64-linux-gnu/src/dbus/DBus_autogen/include/moc_qdbusservicewatcher.cpp:318 #34 0x00007fe1926e5c7e in QDBusServiceWatcherPrivate::_q_serviceOwnerChanged(QString const&, QString const&, QString const&) (this=<optimized out>, newOwner=..., oldOwner=..., service=...) at ./src/dbus/qdbusservicewatcher.cpp:53 #35 QDBusServiceWatcher::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at ./obj-x86_64-linux-gnu/src/dbus/DBus_autogen/include/moc_qdbusservicewatcher.cpp:209 #36 0x00007fe1926e5eb8 in QDBusServiceWatcher::qt_metacall(QMetaObject::Call, int, void**) (this=0x55c5b5567df0, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7ffd32c1ba38) at ./obj-x86_64-linux-gnu/src/dbus/DBus_autogen/include/moc_qdbusservicewatcher.cpp:285
*** This bug has been marked as a duplicate of bug 477144 ***
Can you find "Current active player" in plasmashell's systemd unit log?
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/3992
Git commit 2f809bd794076c8df3e87af25b9c2020c562dad1 by Fushan Wen. Committed on 02/03/2024 at 05:18. Pushed by fusionfuture into branch 'master'. libkmpris: find active player index in filter proxy model When the filter proxy model emits rowsRemoved, the player is still not erased from m_container, so when the active player is the **last** player in m_container, m_filterModel->mapFromSource(sourceModel->index(sourceRow, 0)) will return an invalid index because the source index becomes stale (source_index.row() >= m->proxy_rows.size()) in the filter model. FIXED-IN: 6.0 M +32 -3 appiumtests/mediacontrollertest.py M +30 -21 libkmpris/multiplexer.cpp https://invent.kde.org/plasma/plasma-workspace/-/commit/2f809bd794076c8df3e87af25b9c2020c562dad1
Git commit 89f68ceccd08bda6f804a9b1c9c722ef0852d40b by Fushan Wen. Committed on 02/03/2024 at 05:34. Pushed by fusionfuture into branch 'Plasma/6.0'. libkmpris: find active player index in filter proxy model When the filter proxy model emits rowsRemoved, the player is still not erased from m_container, so when the active player is the **last** player in m_container, m_filterModel->mapFromSource(sourceModel->index(sourceRow, 0)) will return an invalid index because the source index becomes stale (source_index.row() >= m->proxy_rows.size()) in the filter model. FIXED-IN: 6.0 (cherry picked from commit 2f809bd794076c8df3e87af25b9c2020c562dad1) M +32 -3 appiumtests/mediacontrollertest.py M +30 -21 libkmpris/multiplexer.cpp https://invent.kde.org/plasma/plasma-workspace/-/commit/89f68ceccd08bda6f804a9b1c9c722ef0852d40b