| Summary: | Media player widget locks up plasmashell when playing specific song | ||
|---|---|---|---|
| Product: | [Plasma] plasmashell | Reporter: | Paul <mail> |
| Component: | Media Player widget | Assignee: | Plasma Bugs List <plasma-bugs-null> |
| Status: | RESOLVED WORKSFORME | ||
| Severity: | normal | CC: | john.kizer, kde, kdedev, krazykath, nate, niccolo, qydwhotmail, sitter, zxq5 |
| Priority: | NOR | ||
| Version First Reported In: | 6.1.4 | ||
| Target Milestone: | 1.0 | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/plasma/plasma-workspace/-/commit/77509b85ccc7b6c8ae722f85b679590d130c00d1 | Version Fixed/Implemented In: | 6.2.0 |
| Sentry Crash Report: | https://crash-reports.kde.org/organizations/kde/issues/221059/events/d3547dcba5a44a59987790d7604340d8/ | ||
| Attachments: |
d-spy of problematic track metadata
gdb and journalctl logs while causing hang and then aborting the process my taskbar layout new taskbar layout that is freezing without any music players |
||
|
Description
Paul
2024-08-20 17:18:05 UTC
I don't have YouTube Music premium, but I can play that song at that URL. On current git master, it doesn't do anything particularly strange to plasmashell for me. I do have Youtube Premium, but I also can't reproduce the issue on master, the media player widget works fine. Please run kill -SIGABRT `pidof plasmashell` to trigger a crash and obtain a trace. It should help shed some light on what it is stuck on . Output of `journalctl -f /usr/bin/plasmashell` starting from the point where I cause plasmashell to hang by using the song.
```
Aug 21 10:46:21 paul-endeavoros-desktop plasmashell[2222]: qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairRequested(QString)
Aug 21 10:46:21 paul-endeavoros-desktop plasmashell[2222]: qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
Aug 21 10:46:21 paul-endeavoros-desktop plasmashell[2222]: qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairRequested(QString)
Aug 21 10:46:21 paul-endeavoros-desktop plasmashell[2222]: qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
Aug 21 10:46:21 paul-endeavoros-desktop plasmashell[2222]: Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
```
I then called `kill -SIGABRT 2222` (pid of plasmashell process that was hanging) and it output this:
```
Aug 21 10:48:37 paul-endeavoros-desktop plasmashell[4016]: KPackageStructure of KPluginMetaData(pluginId:"ink.chyk.minimumMediaController", fileName: "/home/paul/.local/share/plasma/plasmoids/ink.chyk.minimumMediaController/metadata.json") does not match requested format "Plasma/Applet"
Aug 21 10:48:37 paul-endeavoros-desktop plasmashell[4016]: kf.plasma.quick: Applet preload policy set to 1
Aug 21 10:48:37 paul-endeavoros-desktop plasmashell[4016]: file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/main.qml:195:25: QML FolderViewDropArea (parent or ancestor of QQuickLayoutAttached): Binding loop detected for property "minimumWidth"
Aug 21 10:48:37 paul-endeavoros-desktop plasmashell[4016]: Toolbox not loading, toolbox package is either invalid or disabled.
Aug 21 10:48:37 paul-endeavoros-desktop plasmashell[4016]: file:///usr/share/plasma/plasmoids/org.kde.plasma.mediacontroller/contents/ui/CompactRepresentation.qml:64: TypeError: Cannot read property 'columnSpacing' of null
Aug 21 10:48:37 paul-endeavoros-desktop plasmashell[4016]: file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/main.qml:195:25: QML FolderViewDropArea (parent or ancestor of QQuickLayoutAttached): Binding loop detected for property "minimumWidth"
Aug 21 10:48:37 paul-endeavoros-desktop plasmashell[4016]: Toolbox not loading, toolbox package is either invalid or disabled.
Aug 21 10:48:37 paul-endeavoros-desktop plasmashell[4016]: file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/main.qml:195:25: QML FolderViewDropArea (parent or ancestor of QQuickLayoutAttached): Binding loop detected for property "minimumWidth"
Aug 21 10:48:37 paul-endeavoros-desktop plasmashell[4016]: Toolbox not loading, toolbox package is either invalid or disabled.
Aug 21 10:48:37 paul-endeavoros-desktop plasmashell[4016]: org.kde.plasma.containmentlayoutmanager: Trying to take space not available BasicAppletContainer_QMLTYPE_39_QML_68(0x5e5d1ea1e740, id="appletContainer", parent=0x744ae0358b90, geometry=4945.4,142 54x54)
Aug 21 10:48:37 paul-endeavoros-desktop plasmashell[4016]: org.kde.plasma.kicker: Entry is not valid "org.kde.kontact.desktop" 0x5e5d254b7490
Aug 21 10:48:37 paul-endeavoros-desktop plasmashell[4016]: org.kde.plasma.kicker: Entry is not valid "org.kde.discover.desktop" 0x5e5d254a2bf0
Aug 21 10:48:37 paul-endeavoros-desktop plasmashell[4016]: org.kde.plasma.kicker: Entry is not valid "org.kde.kontact.desktop" 0x5e5d254a3320
Aug 21 10:48:37 paul-endeavoros-desktop plasmashell[4016]: org.kde.plasma.kicker: Entry is not valid "org.kde.discover.desktop" 0x5e5d254a2d30
Aug 21 10:48:37 paul-endeavoros-desktop plasmashell[4016]: file:///usr/share/plasma/plasmoids/org.kde.plasma.private.systemtray/contents/ui/main.qml:162:21: QML KSortFilterProxyModel: Binding loop detected for property "sourceModel"
Aug 21 10:48:37 paul-endeavoros-desktop plasmashell[4016]: file:///usr/share/plasma/plasmoids/org.kde.plasma.private.systemtray/contents/ui/main.qml:162:21: QML KSortFilterProxyModel: Binding loop detected for property "sourceModel"
Aug 21 10:48:37 paul-endeavoros-desktop plasmashell[4016]: qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairRequested(QString)
Aug 21 10:48:37 paul-endeavoros-desktop plasmashell[4016]: qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
Aug 21 10:48:37 paul-endeavoros-desktop plasmashell[4016]: qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairRequested(QString)
Aug 21 10:48:37 paul-endeavoros-desktop plasmashell[4016]: qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
Aug 21 10:48:37 paul-endeavoros-desktop plasmashell[4016]: qt.dbus.integration: Could not connect "org.cups.cupsd.Notifier" to PrinterFinishingsChanged(QString, QString, QString, uint, QString, bool) :
Aug 21 10:48:37 paul-endeavoros-desktop plasmashell[4016]: kameleon supported false
Aug 21 10:48:37 paul-endeavoros-desktop plasmashell[4016]: kameleon enabled true
Aug 21 10:48:37 paul-endeavoros-desktop plasmashell[4016]: qml: SystemTray ItemLoader: Invalid state, cannot determine source!
Aug 21 10:48:37 paul-endeavoros-desktop plasmashell[4016]: error getting max keyboard brightness via dbus QDBusError("org.freedesktop.DBus.Error.UnknownObject", "No such object path '/org/kde/Solid/PowerManagement/Actions/KeyboardBrightnessControl'")
```
I'm a Rust dev so not familar with c++/kde dev so I'm working on trying to figure out how to get a proper stack trace (looking at this now https://community.kde.org/Plasma/Debugging), thought this might be useful to someone though so posting it.
Is there an easy way for me to test against master? If that works for me then I guess we could assume it's fixed and just wait for a new release. Or if someone else could confirm it didn't work for them on the currently released versions but does on master. When running through plasmawindowed with gdb attached I've been unable to replicate the issue. I noticed when using plasmawindowed the next/previous buttons are grayed out and they aren't grayed out when running as a taskbar widget. Looking into if I can attach gdb to the running plasmashell of the taskbar to get a trace that way. Created attachment 172823 [details] gdb and journalctl logs while causing hang and then aborting the process Okay was able to get a trace by attaching gdb to the running plasmashell process. I followed the guide under "Attach gdb to the plasmashell process" here: https://community.kde.org/Plasma/Debugging Lmk if there's anything else that would help. Rather odd bug. - standard panel - put mediacontroller right of taskmanager and left of systray - play https://music.youtube.com/watch?v=Q0d3zNikhvA&si=8y3Wig-6FF1pw9PI in firefox - restart plasma - 9/10 it will hang What happens is that there appears to be a layout loop somewhere that keeps triggering the compactRepresentation's Layout.preferredWidth bindings to change. Seems somehow related to the Binding on layoutForm. Created attachment 172835 [details]
my taskbar layout
Oh interesting, I didn't think about it being caused by the position of the widget on the taskbar. I have it on the far left and have the taskbar on the top. I use spacers to center the "Icons only task manager". Attached a screenshot of my layout. With this layout, for me it happens every time I play that song.
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/4632 Git commit c555ead7fd8241ec979b432eb48121097357208d by Fushan Wen. Committed on 22/08/2024 at 18:44. Pushed by fusionfuture into branch 'master'. applets/mediacontroller: fix text layout in compact representation When a Label with Layout.fillWidth: true and horizontalAlignment: Text.AlignJustify inside a Layout, the text doesn't look good when the available width is larger than the total width of all characters. FIXED-IN: 6.2 M +2 -1 applets/mediacontroller/package/contents/ui/CompactRepresentation.qml https://invent.kde.org/plasma/plasma-workspace/-/commit/c555ead7fd8241ec979b432eb48121097357208d Git commit 77509b85ccc7b6c8ae722f85b679590d130c00d1 by Fushan Wen. Committed on 22/08/2024 at 19:06. Pushed by fusionfuture into branch 'master'. applets/mediacontroller: fix text layout in compact representation When a Label with Layout.fillWidth: true and horizontalAlignment: Text.AlignJustify inside a Layout, the text doesn't look good when the available width is larger than the total width of all characters. This adds a preferred width hint to work around the visual glitch. FIXED-IN: 6.2 M +1 -0 applets/mediacontroller/package/contents/ui/CompactRepresentation.qml https://invent.kde.org/plasma/plasma-workspace/-/commit/77509b85ccc7b6c8ae722f85b679590d130c00d1 *** Bug 492109 has been marked as a duplicate of this bug. *** *** Bug 494544 has been marked as a duplicate of this bug. *** Sorry for the double-email between this and https://bugs.kde.org/show_bug.cgi?id=494544 - think I answered my own question that, since this is the original one, this is where activity should be tracked. If it's helpful, that other bug report has attachments with my system journal entries and gdb results from experiencing the issue on Plasma 6.2.4. I've just been using a different music widget. Reviewing the commit that "fixed" it, I didn't have high confidence in it (seems to just try to avoid it instead of fixing? I don't know QT though) and I need my desktop to not randomly hang. Created attachment 183013 [details]
new taskbar layout that is freezing without any music players
getting plasmashell freezes again in 6.4.2, not using any media player widget, not sure what is triggering it, seems random now. Uploaded a screenshot of my new taskbar layout. Feels like probably the same underlying issue to me, but lmk if you want a new issue created. (In reply to Paul from comment #19) > getting plasmashell freezes again in 6.4.2, not using any media player > widget, not sure what is triggering it, seems random now. Uploaded a > screenshot of my new taskbar layout. Feels like probably the same underlying > issue to me, but lmk if you want a new issue created. I'm sorry to hear that plasmashell is freezing again. In the original report, you said that the plasmashell process was using 100% of a cpu core. Is that still the case? If so, can you share a screenshot of top or the System Monitor showing the process list when this is happening (even if you have to take a picture with your phone, if Plasma is unresponsive). Thanks. (In reply to TraceyC from comment #20) > (In reply to Paul from comment #19) > > getting plasmashell freezes again in 6.4.2, not using any media player > > widget, not sure what is triggering it, seems random now. Uploaded a > > screenshot of my new taskbar layout. Feels like probably the same underlying > > issue to me, but lmk if you want a new issue created. > > I'm sorry to hear that plasmashell is freezing again. In the original > report, you said that the plasmashell process was using 100% of a cpu core. > Is that still the case? > > If so, can you share a screenshot of top or the System Monitor showing the > process list when this is happening (even if you have to take a picture with > your phone, if Plasma is unresponsive). Thanks. Not ignoring you but I removed the cpu graph and it hasn't happened since, I left the memory graph as I needed that more and that has been fine. It was happening daily before. I know that's not a lot to go on so I'll have to add it back and wait for it to happen sometime. Got a lot going on right now so might be awhile. 🐛🧹 ⚠️ This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information, then set the bug status to REPORTED. If there is no change for at least 30 days, it will be automatically closed as RESOLVED WORKSFORME. For more information about our bug triaging procedures, please read https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging. Thank you for helping us make KDE software even better for everyone! |