open pinned application,LauncherTasksModel delete row

When a pinned application starts, plasmashell shows the following strange stack. Why does the dateChanged cause the delete operation?

gdb) bt
#0  0x00007ffff5858660 in QAbstractItemModelPrivate::rowsRemoved(QModelIndex const&, int, int) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#1  0x00007ffff585c4db in QAbstractItemModel::endRemoveRows() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007ffff588cff5 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007ffff588f4f9 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007ffff58f3a7c in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007ffff58537a0 in QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fffe7f4e3e4 in TaskManager::TaskGroupingProxyModel::Private::sourceDataChanged (this=0x55555b0d1a10, topLeft=..., bottomRight=..., roles=...) at ./libtaskmanager/taskgroupingproxymodel.cpp:257
#7  0x00007fffe7f53d7a in std::__invoke_impl<void, void (TaskManager::TaskGroupingProxyModel::Private::*&)(QModelIndex, QModelIndex, QVector<int> const&), TaskManager::TaskGroupingProxyModel::Private*&, QModelIndex const&, QModelIndex const&, QVector<int> const&> (__f=<optimized out>, __t=<optimized out>) at /usr/include/c++/12/bits/invoke.h:74
#8  std::__invoke<void (TaskManager::TaskGroupingProxyModel::Private::*&)(QModelIndex, QModelIndex, QVector<int> const&), TaskManager::TaskGroupingProxyModel::Private*&, QModelIndex const&, QModelIndex const&, QVector<int> const&> (__fn=<optimized out>)
    at /usr/include/c++/12/bits/invoke.h:96
#9  std::_Bind<void (TaskManager::TaskGroupingProxyModel::Private::*(TaskManager::TaskGroupingProxyModel::Private*, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>))(QModelIndex, QModelIndex, QVector<int> const&)>::__call<void, QModelIndex const&, QModelIndex const&, QVector<int> const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<QModelIndex const&, QModelIndex const&, QVector<int> const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) (__args=..., this=<optimized out>)
    at /usr/include/c++/12/functional:495
#10 std::_Bind<void (TaskManager::TaskGroupingProxyModel::Private::*(TaskManager::TaskGroupingProxyModel::Private*, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>))(QModelIndex, QModelIndex, QVector<int> const&)>::operator()<QModelIndex const&, QModelIndex const&, QVector<int> const&, void>(QModelIndex const&, QModelIndex const&, QVector<int> const&) (this=<optimized out>) at /usr/include/c++/12/functional:580
#11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2>, QtPrivate::List<QModelIndex const&, QModelIndex const&, QVector<int> const&>, void, std::_Bind<void (TaskManager::TaskGroupingProxyModel::Private::*(TaskManager::TaskGroupingProxyModel::Private*, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>))(QModelIndex, QModelIndex, QVector<int> const&)> >::call(std::_Bind<void (TaskManager::TaskGroupingProxyModel::Private::*(TaskManager::TaskGroupingProxyModel::Private*, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>))(QModelIndex, QModelIndex, QVector<int> const&)>&, void**) (arg=<optimized out>, f=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:146
#12 QtPrivate::Functor<std::_Bind<void (TaskManager::TaskGroupingProxyModel::Private::*(TaskManager::TaskGroupingProxyModel::Private*, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>))(QModelIndex, QModelIndex, QVector<int> const&)>, 3>::call<QtPrivate::List<QModelIndex const&, QModelIndex const&, QVector<int> const&>, void>(std::_Bind<void (TaskManager::TaskGroupingProxyModel::Private::*(TaskManager::TaskGroupingProxyModel::Private*, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>))(QModelIndex, QModelIndex, QVector<int> const&)>&, void*, void**) (arg=<optimized out>, f=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:256
#13 QtPrivate::QFunctorSlotObject<std::_Bind<void (TaskManager::TaskGroupingProxyModel::Private::*(TaskManager::TaskGroupingProxyModel::Private*, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>))(QModelIndex, QModelIndex, QVector<int> const&)>, 3, QtPrivate::List<QModelIndex const&, QModelIndex const&, QVector<int> const&>, 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/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:443
#14 0x00007ffff58f3a4f in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007ffff58537a0 in QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x00007fffe7f74d83 in operator() (__closure=0x55555b0d4f70, parent=..., first=<optimized out>, last=4) at ./libtaskmanager/tasksmodel.cpp:366
#17 0x00007ffff58f3a4f in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007ffff5853a12 in QAbstractItemModel::rowsInserted(QModelIndex const&, int, int, QAbstractItemModel::QPrivateSignal) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007ffff585c3ee in QAbstractItemModel::endInsertRows() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007fffe7f4ce81 in TaskManager::TaskGroupingProxyModel::Private::sourceRowsInserted (this=0x55555b0d1a10, parent=..., start=<optimized out>, end=0) at ./libtaskmanager/taskgroupingproxymodel.cpp:131
#21 0x00007ffff58f3a4f in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x00007ffff5853a12 in QAbstractItemModel::rowsInserted(QModelIndex const&, int, int, QAbstractItemModel::QPrivateSignal) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#23 0x00007ffff585c3ee in QAbstractItemModel::endInsertRows() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00007ffff58885b5 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#25 0x00007ffff588bd55 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#26 0x00007ffff588ff85 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#27 0x00007ffff58f3a7c in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#28 0x00007ffff5853a12 in QAbstractItemModel::rowsInserted(QModelIndex const&, int, int, QAbstractItemModel::QPrivateSignal) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#29 0x00007ffff585c3ee in QAbstractItemModel::endInsertRows() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#30 0x00007ffff58f3a7c in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#31 0x00007ffff5853a12 in QAbstractItemModel::rowsInserted(QModelIndex const&, int, int, QAbstractItemModel::QPrivateSignal) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#32 0x00007ffff585c3ee in QAbstractItemModel::endInsertRows() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#33 0x00007ffff58f3a7c in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#34 0x00007ffff5853a12 in QAbstractItemModel::rowsInserted(QModelIndex const&, int, int, QAbstractItemModel::QPrivateSignal) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#35 0x00007ffff585c3ee in QAbstractItemModel::endInsertRows() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#36 0x00007fffe7fc4d7f in TaskManager::XWindowTasksModel::Private::addWindow (this=0x55555b0cb4e0, window=<optimized out>) at ./libtaskmanager/xwindowtasksmodel.cpp:259
#37 0x00007ffff58f3a4f in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#38 0x00007fffe7edf923 in XWindowSystemEventBatcher::windowAdded (this=<optimized out>, _t1=<optimized out>) at ./obj-x86_64-linux-gnu/libtaskmanager/taskmanager_autogen/EWIEGA46WW/moc_xwindowsystemeventbatcher.cpp:162
#39 0x00007ffff58f3a4f in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#40 0x00007ffff731fef2 in KX11Extras::windowAdded(unsigned long long) () from /lib/x86_64-linux-gnu/libKF5WindowSystem.so.5
#41 0x00007ffff733fa51 in NETRootInfo::update(QFlags<NET::Property>, QFlags<NET::Property2>) () from /lib/x86_64-linux-gnu/libKF5WindowSystem.so.5
#42 0x00007ffff7340774 in NETRootInfo::event(xcb_generic_event_t*, QFlags<NET::Property>*, QFlags<NET::Property2>*) () from /lib/x86_64-linux-gnu/libKF5WindowSystem.so.5
#43 0x00007fffec347d46 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/kwindowsystem/KF5WindowSystemX11Plugin.so
#44 0x00007ffff58b824f in QAbstractEventDispatcher::filterNativeEvent(QByteArray const&, void*, long*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#45 0x00007ffff02d2563 in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#46 0x00007ffff02d3c26 in QXcbConnection::processXcbEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#47 0x00007ffff02fa787 in ?? () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#48 0x00007ffff449fcd7 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#49 0x00007ffff44a2c17 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#50 0x00007ffff44a3210 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#51 0x00007ffff5914eca in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#52 0x00007ffff58b982b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#53 0x00007ffff58c1c7a in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#54 0x000055555557c1cb in main (argc=<optimized out>, argv=<optimized out>) at ./shell/main.cpp:247

Hi! Just a heads up, pasting in outputs of commands is much easier for folks to read using the “Preformatted text” option - I edited that in this particular post for you, but that may be helpful in the future too :slight_smile: