Bug 456501 - Plasma crashes in TaskManager::WaylandTasksModel::Private::dataChanged() when switching windows
Summary: Plasma crashes in TaskManager::WaylandTasksModel::Private::dataChanged() when...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Task Manager and Icons-Only Task Manager (show other bugs)
Version: 5.25.2
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi
: 474854 (view as bug list)
Depends on:
Blocks:
 
Reported: 2022-07-09 08:25 UTC by Nik
Modified: 2024-06-04 14:47 UTC (History)
4 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nik 2022-07-09 08:25:24 UTC
Application: plasmashell (5.25.2)
 (Compiled from sources)
Qt Version: 5.15.5
Frameworks Version: 5.95.0
Operating System: Linux 5.15.11-gentoo-x86_64 x86_64
Windowing System: Wayland
Distribution: "Gentoo Base System release 2.8"
DrKonqi: 5.25.2 [KCrashBackend]

-- Information about the crash:
Working with Intellij Idea causes the crash. Such as opening new java class files or running/debugging the CLI app from the IDE. I cannot track it to any particular action, it happens a bit random, but it is most likely to occur when opening class files.

The reporter is unsure if this crash is reproducible.

-- Backtrace:
Application: Plasma (plasmashell), signal: Aborted

[KCrash Handler]
#4  0x00007fef74d9fc6c in __pthread_kill_implementation () at /lib64/libc.so.6
#5  0x00007fef74d52a22 in raise () at /lib64/libc.so.6
#6  0x00007fef74d3d469 in abort () at /lib64/libc.so.6
#7  0x00007fef751c8931 in qCleanupFuncinfo(QByteArray) [clone .cold] () at /usr/lib64/libQt5Core.so.5
#8  0x00007fef751c778a in QArrayData::data() [clone .part.0] () at /usr/lib64/libQt5Core.so.5
#9  0x00007fef751e4366 in QConcatenateTablesProxyModelPrivate::_q_slotModelReset() [clone .cold] () at /usr/lib64/libQt5Core.so.5
#10 0x00007fef7541e11c in void doActivate<false>(QObject*, int, void**) () at /usr/lib64/libQt5Core.so.5
#11 0x00007fef75392f4c in QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) () at /usr/lib64/libQt5Core.so.5
#12 0x00007fef753b83ac in QIdentityProxyModelPrivate::_q_sourceDataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) () at /usr/lib64/libQt5Core.so.5
#13 0x00007fef7541e11c in void doActivate<false>(QObject*, int, void**) () at /usr/lib64/libQt5Core.so.5
#14 0x00007fef75392f4c in QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) () at /usr/lib64/libQt5Core.so.5
#15 0x00007fef6ced5cc3 in TaskManager::WaylandTasksModel::Private::dataChanged(KWayland::Client::PlasmaWindow*, int) () at /usr/lib64/libtaskmanager.so.6
#16 0x00007fef7541e0c6 in void doActivate<false>(QObject*, int, void**) () at /usr/lib64/libQt5Core.so.5
#17 0x00007fef775f6744 in QtPrivate::QFunctorSlotObject<KWayland::Client::PlasmaWindow::Private::iconChangedCallback(void*, org_kde_plasma_window*)::{lambda()#2}, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) () at /usr/lib64/libKF5WaylandClient.so.5
#18 0x00007fef7541e0c6 in void doActivate<false>(QObject*, int, void**) () at /usr/lib64/libQt5Core.so.5
#19 0x00007fef75224ad5 in QFutureWatcherBase::event(QEvent*) () at /usr/lib64/libQt5Core.so.5
#20 0x00007fef760d0e7f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#21 0x00007fef753e6168 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#22 0x00007fef753e98ce in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib64/libQt5Core.so.5
#23 0x00007fef7543f423 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /usr/lib64/libQt5Core.so.5
#24 0x00007fef738c843b in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#25 0x00007fef738c86f8 in g_main_context_iterate.constprop () at /usr/lib64/libglib-2.0.so.0
#26 0x00007fef738c87af in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#27 0x00007fef7543ea74 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#28 0x00007fef753e460b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#29 0x00007fef753ed69d in QCoreApplication::exec() () at /usr/lib64/libQt5Core.so.5
#30 0x000055f023265755 in main ()
[Inferior 1 (process 13794) detached]

The reporter indicates this bug may be a duplicate of or related to bug 453931.

Reported using DrKonqi
Comment 1 Nate Graham 2022-07-13 18:43:00 UTC
I suspect what's happening is that the window is updating its title or icon too fast or too frequently, and the Task Manager isn't handling that as well as it should.
Comment 2 Nik 2022-07-13 18:54:41 UTC
It also happens when I stop the CLI application from within Intellij Idea, but that does not change the title or the icon at the task manager.
There is also this on the console once the plasmashell crashes and restarts

ASSERT: "from.isValid()" in file /tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/itemmodels/qconcatenatetablesproxymodel.cpp, line 623
KCrash: Attempting to start /usr/bin/plasmashell
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = plasmashell path = /usr/bin pid = 11572
KCrash: Arguments: /usr/bin/plasmashell 
kf.plasma.quick: Applet preload policy set to 1
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Desktop.qml:70:5: QML Connections: Detected function "onConfigurationChanged" in Connections element. This is probably intended to be a signal handler but no signal of the target matches the name.
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Desktop.qml:70:5: QML Connections: Detected function "onRepaintNeeded" in Connections element. This is probably intended to be a signal handler but no signal of the target matches the name.
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Desktop.qml:67: TypeError: Cannot read property 'wallpaper' of null
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Desktop.qml:71: TypeError: Cannot read property 'wallpaper' of null
qml: PlasmaExtras.ScrollArea is deprecated. Use PlasmaComponents3.ScrollView instead.
qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Desktop.qml:70:5: QML Connections: Detected function "onConfigurationChanged" in Connections element. This is probably intended to be a signal handler but no signal of the target matches the name.
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Desktop.qml:70:5: QML Connections: Detected function "onRepaintNeeded" in Connections element. This is probably intended to be a signal handler but no signal of the target matches the name.
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Desktop.qml:67: TypeError: Cannot read property 'wallpaper' of null
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Desktop.qml:71: TypeError: Cannot read property 'wallpaper' of null
qml: PlasmaExtras.ScrollArea is deprecated. Use PlasmaComponents3.ScrollView instead.
qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Panel.qml:179: TypeError: Cannot read property 'containmentDisplayHints' of null
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Panel.qml:271: TypeError: Cannot read property 'location' of null
qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
Trying to use rootObject before initialization is completed, whilst using setInitializationDelayed. Forcing completion
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:43:5: QML MouseArea: Cannot anchor to an item that isn't a parent or sibling.
Loading Calendar plugin HolidaysEventsPlugin(0x56314a4f0290)
Comment 3 Nik 2022-07-13 18:57:12 UTC
This is also a cut-off right before the ASSERT log. I could not find an edit button, this is why I paste it as a new comment. I am not sure if this helps with anything.

qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
file:///usr/share/plasma/plasmoids/org.kde.plasma.taskmanager/contents/ui/PipeWireThumbnail.qml:28:9: TaskManager.ScreencastingRequest is not a type
file:///usr/share/plasma/plasmoids/org.kde.plasma.taskmanager/contents/ui/ToolTipInstance.qml:209: TypeError: Cannot read property 'visible' of null
file:///usr/share/plasma/plasmoids/org.kde.plasma.taskmanager/contents/ui/PipeWireThumbnail.qml:28:9: TaskManager.ScreencastingRequest is not a type
file:///usr/share/plasma/plasmoids/org.kde.plasma.taskmanager/contents/ui/ToolTipInstance.qml:209: TypeError: Cannot read property 'visible' of null
file:///usr/share/plasma/plasmoids/org.kde.plasma.taskmanager/contents/ui/PipeWireThumbnail.qml:28:9: TaskManager.ScreencastingRequest is not a type
file:///usr/share/plasma/plasmoids/org.kde.plasma.taskmanager/contents/ui/ToolTipInstance.qml:209: TypeError: Cannot read property 'visible' of null
file:///usr/share/plasma/plasmoids/org.kde.plasma.taskmanager/contents/ui/PipeWireThumbnail.qml:28:9: TaskManager.ScreencastingRequest is not a type
file:///usr/share/plasma/plasmoids/org.kde.plasma.taskmanager/contents/ui/ToolTipInstance.qml:209: TypeError: Cannot read property 'visible' of null
Comment 4 Nate Graham 2023-09-25 18:41:15 UTC
*** Bug 474854 has been marked as a duplicate of this bug. ***