Bug 514823 - Plasmashell crashes when Media Player widget visibility is changed in system tray while music is playing
Summary: Plasmashell crashes when Media Player widget visibility is changed in system ...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: generic-crash (other bugs)
Version First Reported In: master
Platform: KDE Linux Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2026-01-19 09:27 UTC by Akseli Lahtinen
Modified: 2026-01-22 20:48 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 6.5.6
Sentry Crash Report:


Attachments
New crash information added by DrKonqi (237.72 KB, text/plain)
2026-01-19 09:27 UTC, Akseli Lahtinen
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Akseli Lahtinen 2026-01-19 09:27:36 UTC
Application: plasmashell (6.6.80)

ApplicationNotResponding [ANR]: false
Qt Version: 6.10.1
Frameworks Version: 6.23.0
Operating System: Linux 6.18.5-zen1-1-zen x86_64
Windowing System: Wayland
Distribution: "Arch Linux"
DrKonqi: 6.6.80 [CoredumpBackend]

-- Information about the crash:
If media, such as music is playing, and user changes the visibility of the widget, plasmashell crashes.

1. Set any music/media to play so that the media player widget picks up on it
2. Open system tray settings
3. Change media player visibility (for example, from never show to always show)
4. Press OK

Crash!

The reporter is unsure if this crash is reproducible.

-- Backtrace (Reduced):
#4  0x00007faf992628d3 in QQmlContextData::get (context=<optimized out>, context=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlcontextdata_p.h:64
#5  QQuickListViewPrivate::setSectionHelper (context=0x0, sectionItem=0x7faf1c00d6d0, section=...) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquicklistview.cpp:2049
#6  0x00007faf992632ae in QQuickListViewPrivate::updateInlineSection (this=0x55736b2faa70, listItem=0x55736bfaadb0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquicklistview_p.h:53
#7  QQuickListViewPrivate::updateSections (this=0x55736b2faa70) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquicklistview.cpp:1322
#8  0x00007faf9924b691 in QQuickItemViewPrivate::applyModelChanges (this=0x55736b2faa70, totalInsertionResult=0x7ffc62d5a450, totalRemovalResult=0x7ffc62d5a420) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickitemview.cpp:2286
#9  QQuickItemViewPrivate::layout (this=0x55736b2faa70) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickitemview.cpp:2037
#10 0x00007faf99266b28 in QQuickItemViewPrivate::refillOrLayout (this=0x55736b2faa70) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickitemview_p_p.h:221
#11 QQuickListView::viewportMoved (this=0x55736aac5330, orient=...) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquicklistview.cpp:3522
#12 0x00007faf98ed3a94 in QQuickFlickablePrivate::itemGeometryChanged (this=0x55736b2faa70, item=0x55736aa2cae0, change=..., oldGeom=...) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickflickable.cpp:320
#13 0x00007faf992474a0 in QQuickItemViewPrivate::itemGeometryChanged (this=0x55736b2faa70, item=0x55736aa2cae0, change=..., oldGeometry=...) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickitemview.cpp:1264
#14 0x00007faf99263b0a in QQuickListViewPrivate::itemGeometryChanged (this=0x55736b2faa70, item=0x55736aa2cae0, change=..., oldGeometry=...) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquicklistview.cpp:1598
#15 0x00007faf98ef230a in operator() (listener=..., __closure=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickitem.cpp:3909
#17 QQuickItem::geometryChange (this=0x55736aa2cae0, newGeometry=..., oldGeometry=...) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickitem.cpp:3907
#18 0x00007faf98f0140e in QQuickItem::setY (this=0x55736aa2cae0, v=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickitem.cpp:7324
#19 0x00007faf98ed3557 in QQuickFlickablePrivate::setViewportY (this=0x55736b2faa70, y=-768) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickflickable.cpp:2013
#20 0x00007faf9915956b in QQuickTimeLinePrivate::advance (this=0x55736a3f40d0, t=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/util/qquicktimeline.cpp:798


Reported using DrKonqi
Comment 1 Akseli Lahtinen 2026-01-19 09:27:37 UTC
Created attachment 188681 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 David Edmundson 2026-01-19 16:55:45 UTC

*** This bug has been marked as a duplicate of bug 478625 ***
Comment 3 Akseli Lahtinen 2026-01-20 09:18:10 UTC
The crash happens when you press OK, not when you press Apply
Comment 4 David Edmundson 2026-01-20 11:15:21 UTC
Git commit 914deec849bc0aac2970ecd709ac107c625da517 by David Edmundson.
Committed on 20/01/2026 at 11:04.
Pushed by davidedmundson into branch 'master'.

configview: Don't manually cleanup the root item

In ConfigView we create the root object explicitly from C++. Then in
turn creates and loads other objects through the engine.

During shutdown we delete the root object. This does not delete all
children, anything else owned by the engine are all set to invisible.

This causes objects to be re-evaluating a lot of tasks during the
shutdown which opens up a lot of potential problems.

We can simplify things by making the engine cleanup the root object too
making destruction cleaner.

M  +2    -1    src/plasmaquick/configview.cpp

https://invent.kde.org/plasma/libplasma/-/commit/914deec849bc0aac2970ecd709ac107c625da517
Comment 5 Nate Graham 2026-01-22 20:48:11 UTC
Git commit 4e6fc08fa6c567ddd90ab86b32074f28352d53ec by Nate Graham.
Committed on 22/01/2026 at 20:48.
Pushed by ngraham into branch 'Plasma/6.6'.

configview: Don't manually cleanup the root item

In ConfigView we create the root object explicitly from C++. Then in
turn creates and loads other objects through the engine.

During shutdown we delete the root object. This does not delete all
children, anything else owned by the engine are all set to invisible.

This causes objects to be re-evaluating a lot of tasks during the
shutdown which opens up a lot of potential problems.

We can simplify things by making the engine cleanup the root object too
making destruction cleaner.


(cherry picked from commit 914deec849bc0aac2970ecd709ac107c625da517)

Co-authored-by: David Edmundson <kde@davidedmundson.co.uk>

M  +2    -1    src/plasmaquick/configview.cpp

https://invent.kde.org/plasma/libplasma/-/commit/4e6fc08fa6c567ddd90ab86b32074f28352d53ec
Comment 6 Nate Graham 2026-01-22 20:48:29 UTC
Git commit 79eded1b4a62c31103424be0c61968594945d602 by Nate Graham.
Committed on 22/01/2026 at 20:48.
Pushed by ngraham into branch 'Plasma/6.5'.

configview: Don't manually cleanup the root item

In ConfigView we create the root object explicitly from C++. Then in
turn creates and loads other objects through the engine.

During shutdown we delete the root object. This does not delete all
children, anything else owned by the engine are all set to invisible.

This causes objects to be re-evaluating a lot of tasks during the
shutdown which opens up a lot of potential problems.

We can simplify things by making the engine cleanup the root object too
making destruction cleaner.


(cherry picked from commit 914deec849bc0aac2970ecd709ac107c625da517)

Co-authored-by: David Edmundson <kde@davidedmundson.co.uk>

M  +2    -1    src/plasmaquick/configview.cpp

https://invent.kde.org/plasma/libplasma/-/commit/79eded1b4a62c31103424be0c61968594945d602