Summary: | switching to headphones by restarting pipewire and wireplumber causes plasmashell crash | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | M. Schlegel <moschlegbz> |
Component: | generic-crash | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | akselmo, postix |
Priority: | NOR | Keywords: | drkonqi |
Version: | 6.1.3 | ||
Target Milestone: | 1.0 | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | uploaded a fresh kcrash file |
Description
M. Schlegel
2024-04-28 22:45:59 UTC
Note, I've sent this bug in a few times in automatic mode which didn't give me a bug number, so this time I used the button to create the bug in the web page so I have a trackable number this time in my account. I'm saying this because there might be some duplicates of this before day, this should be the one to keep and the earlier ones set as duplicates Note that another issue in this bug is it shouldn't be necessary to restart pipewire to get the Firefox audio to actually go to the headphones. The headphones being plugged in should have triggered the Output Device to go to the head phones. In the bug I had to restart pipewire/wireplumber to get the headphones to connect and play for the video I tried this: rm ~/.local/state/wireplumber/* systemctl -l --user daemon-reload; systemctl --user restart wireplumber pipewire{,-pulse} to flush the old wireplumber state files and restart pipewire/wireplumber. This might have fixed the problem, I did know wireplumber 0.5.2 changed to no longer support lua files. However those are all in ~/.config/wireplumber/main.lua.d/ and I had none. So a back a while I moved the ~/.config/wireplumber/main.lua.d/ to ~/.config/wireplumber/wireplumber.conf.d/ to have the empty config directory in the right place even while empty. So just today I was reading a different issue that someone solved by removing all ~/.local/state/wireplumber/* files. I tried that and now the instant the headphone is plugged in the pulseaudio volume control shows the Output Device immediately swap to the Headphones and the audio plays with having to restart wireplumber/pipewire. I'll just need to reproduce it a lot of time. Restarting wireplumber/pipewire no longer causes a plasmashell crash after deleting the old ~/.local/state/wireplumber/ files. I've also been able to start/stop videos and insert/remove the headphone plug in different combinations with no problems with the Device detection. I've changed this to resolved / not a bug. The problem seems to be that as wireplumber went from 0.4.* to 0.5.* the ~/.local/state/wireplumber files need to be thrown out so they are regenerated with 0.5.*. Also any lua files under ~/.config/wireplumber/ need to be remove and the d folder changed to ~/.config/wireplumber/wireplumber.conf.d/ "not a bug" is arguable, wireplumber could have been better designed to have detected inappropriate files in ~/.local/state/wireplumber/ that were formatted for the old 0.4.* instead of causing crashes. I'm reopening this because even with wireplumber 0.5.3-1 the plasmashell crash and lack of switch to headphones is still happening. After I plug in a headphone and I want to listen to audio, I have to manually move the Output Device to "headphones" and restart pipewire and wireplumber, wait through the plasmashell crash and then sound works For the reopen on Jun 08, the Plasma version was 6.0.5 $ kinfo Operating System: Fedora Linux 40 KDE Plasma Version: 6.0.5 KDE Frameworks Version: 6.2.0 Qt Version: 6.7.1 Kernel Version: 6.8.12-300.fc40.x86_64 (64-bit) Graphics Platform: Wayland Processors: 16 × AMD Ryzen 7 4800H with Radeon Graphics Memory: 15.0 GiB of RAM Graphics Processor: AMD Radeon Graphics $ rpm -qa pipewire\* wireplumber\* pipewire-libs-1.0.7-1.fc40.x86_64 pipewire-1.0.7-1.fc40.x86_64 pipewire-jack-audio-connection-kit-libs-1.0.7-1.fc40.x86_64 pipewire-jack-audio-connection-kit-1.0.7-1.fc40.x86_64 pipewire-utils-1.0.7-1.fc40.x86_64 pipewire-pulseaudio-1.0.7-1.fc40.x86_64 pipewire-plugin-libcamera-1.0.7-1.fc40.x86_64 pipewire-gstreamer-1.0.7-1.fc40.x86_64 pipewire-alsa-1.0.7-1.fc40.x86_64 pipewire-doc-1.0.7-1.fc40.x86_64 pipewire-codec-aptx-1.0.7-1.fc40.x86_64 wireplumber-libs-0.5.3-1.fc40.x86_64 wireplumber-0.5.3-1.fc40.x86_64 I am unable to repro this on my Plasma 6 dev system Operating System: Fedora Linux 40 KDE Plasma Version: 6.1.80 KDE Frameworks Version: 6.4.0 Qt Version: 6.7.1 Kernel Version: 6.8.11-300.fc40.x86_64 (64-bit) Graphics Platform: Wayland Processors: 12 × AMD Ryzen 5 3600 6-Core Processor Memory: 15.5 GiB of RAM Graphics Processor: AMD Radeon RX 6600 Created attachment 170349 [details]
uploaded a fresh kcrash file
The uploaded kcrash file was from kinfo and packages: Operating System: Fedora Linux 40 KDE Plasma Version: 6.0.5 KDE Frameworks Version: 6.3.0 Qt Version: 6.7.1 Kernel Version: 6.8.12-300.fc40.x86_64 (64-bit) Graphics Platform: Wayland Processors: 16 × AMD Ryzen 7 4800H with Radeon Graphics Memory: 15.0 GiB of RAM Graphics Processor: AMD Radeon Graphics firefox-126.0-7.fc40.x86_64 pavucontrol-6.0-2.fc40.x86_64 pipewire-1.0.7-1.fc40.x86_64 pipewire-alsa-1.0.7-1.fc40.x86_64 pipewire-codec-aptx-1.0.7-1.fc40.x86_64 pipewire-doc-1.0.7-1.fc40.x86_64 pipewire-gstreamer-1.0.7-1.fc40.x86_64 pipewire-jack-audio-connection-kit-1.0.7-1.fc40.x86_64 pipewire-jack-audio-connection-kit-libs-1.0.7-1.fc40.x86_64 pipewire-libs-1.0.7-1.fc40.x86_64 pipewire-plugin-libcamera-1.0.7-1.fc40.x86_64 pipewire-pulseaudio-1.0.7-1.fc40.x86_64 pipewire-utils-1.0.7-1.fc40.x86_64 plasma-workspace-6.0.5.1-2.fc40.x86_64 wireplumber-0.5.3-1.fc40.x86_64 wireplumber-libs-0.5.3-1.fc40.x86_64 I'll keep this open for now, but when you have Plasma 6.1, can you report here if the bug still happens again? I think it might be fixed on plasma 6.1. Nope, I just upgraded to KDE 6.1, kinfo is: Operating System: Fedora Linux 40 KDE Plasma Version: 6.1.0 KDE Frameworks Version: 6.3.0 Qt Version: 6.7.1 Kernel Version: 6.9.5-200.fc40.x86_64 (64-bit) Graphics Platform: Wayland Processors: 16 × AMD Ryzen 7 4800H with Radeon Graphics Memory: 15.0 GiB of RAM Graphics Processor: AMD Radeon Graphics With pavucontrol showing an Output Device of "Speakers", if I plug in my 3.5mm headphones (plain old Sony wired 3.5mm set like used on a phone), the Output Device menu updates but says "Speakers (unavailable)" and I have to manually set the Output Device to "headphones(plugged in)". If I then try to play a youtube video in Firefox there's only silence. I have to run my "startpipe" alias which is: alias startpipe='systemctl -l --user daemon-reload; systemctl --user restart wireplumber pipewire{,-pulse}' at that moment the audio works but plasmashell usually crashes with the trace shown earlier Note for the comment 13, the packages related to audio were: alsa-firmware-1.2.4-12.fc40.noarch alsa-lib-1.2.12-1.fc40.x86_64 alsa-sof-firmware-2024.03-2.fc40.noarch alsa-tools-firmware-1.2.11-2.fc40.x86_64 alsa-ucm-1.2.12-1.fc40.noarch alsa-utils-1.2.12-1.fc40.x86_64 pavucontrol-6.0-2.fc40.x86_64 pipewire-1.0.7-2.fc40.x86_64 pipewire-alsa-1.0.7-2.fc40.x86_64 pipewire-codec-aptx-1.0.7-1.fc40.x86_64 pipewire-doc-1.0.7-2.fc40.x86_64 pipewire-gstreamer-1.0.7-2.fc40.x86_64 pipewire-jack-audio-connection-kit-1.0.7-2.fc40.x86_64 pipewire-jack-audio-connection-kit-libs-1.0.7-2.fc40.x86_64 pipewire-libs-1.0.7-2.fc40.x86_64 pipewire-plugin-libcamera-1.0.7-2.fc40.x86_64 pipewire-pulseaudio-1.0.7-2.fc40.x86_64 pipewire-utils-1.0.7-2.fc40.x86_64 wireplumber-0.5.3-1.fc40.x86_64 I've confirmed this plasmashell crash is still occurring on KDE 6.1.1 kinfo: Operating System: Fedora Linux 40 KDE Plasma Version: 6.1.1 KDE Frameworks Version: 6.3.0 Qt Version: 6.7.2 Kernel Version: 6.9.8-200.fc40.x86_64 Graphics Platform: Wayland Processors: 16 × AMD Ryzen 7 4800H with Radeon Graphics Memory: 15.0 GiB of RAM Graphics Processor: AMD Radeon Graphics This still occurs with KDE 6.1.2 BTW, this bug can be greatly simplified into: "restarting pipewire and wireplumber user services causes plasmashell to crash" Moved forward to Plasma version 6.1.2 since plasmashell in that version is also confirmed to crash for this bug This issue still exists on kde plasma 6.1.3 https://invent.kde.org/plasma/kpipewire/-/commit/31552a8e7f01600588fe48d809859302b76e5415 I bet this is the fix, note this fix in 6.1.4 is also related to SourceStream (In reply to M. Schlegel from comment #19) > This issue still exists on kde plasma 6.1.3 Can confirm on Fedora 40. Let's see if it persists in 6.1.4 I've updated to KDE Plasma 6.1.4 and it doesn't crash the plasmashell when I restart pipewire but the problem still exists that the sound output still doesn't automatically switch to the headset when it's plugged in. Even if I use the Output Devices tab in Pulseaudio Volume Control the sound doesn't work (no sound to either external speakers or the manually selected headphones). At that point I have to restart pipewire and then reprompt the video to hear sound (I think moving the time back on the video recreates a fresh connection to pipewire). So to summarize: With 6.1.4 1. plasmashell doesn't crash when pipewire is restarted 2. plugging in headphones doesn't send sound to the headphones but does show the Output Devices as "speakers (unavailable)" 3. manually moving the Output Devices to "Headphones(plugged in)" still doesn't get sound to the head set 4. restarting pipewire --> finally results in sound to headset. This buggy behavior only occurs on my new MSI Bravo 15 laptop, I have an older Dell Inspiron 7559 which does not have this bug This is the inxi dump for the MSI laptop with the issue in this bug https://forums.fedoraforum.org/showthread.php?316227-Need-help-Please-Dump-your-inxi-Fxmz-here-and-bookmark-it-first&p=1883832#post1883832 In Fedora 41 Beta, the plasmashell crash is no longer happening, so the major part of this bug is no longer a problem. I'll close this. My test laptop is on "kinfo" of Operating System: Fedora Linux 41 KDE Plasma Version: 6.1.5 KDE Frameworks Version: 6.6.0 Qt Version: 6.7.2 Kernel Version: 6.11.0-63.fc41.x86_64 (64-bit) Graphics Platform: Wayland Processors: 16 × AMD Ryzen 7 4800H with Radeon Graphics Memory: 15.0 GiB of RAM Graphics Processor: AMD Radeon Graphics There's still the issue where plugging in a 3.5" headphones still doesn't automatically flip the Output Device from Speakers to Headphones but even for that I'm finding that if you manually move the Output Device to Headphones, it seems to take one or two tries but it usually works. Frequently you have to requeue the video to a different place to get sound after you set the Output Device, I think the reason for that is Firefox is then renegotiating the pipewire connection and then it works with a fresh connection |