https://bugs.kde.org/show_bug.cgi?id=522569
Bug ID: 522569
Summary: Opening the Audio Volume tray applet triggers rapid
sink destroy/recreate storm and transient default-sink
misreporting
Classification: Plasma
Product: plasmashell
Version First 6.7.1
Reported In:
Platform: Other
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: Audio Volume widget
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Target Milestone: 1.0
Summary:
Opening the system tray "Audio Volume" flyout (org.kde.plasma.volume applet)
triggers a burst of rapid ALSA/PipeWire node destroy-and-recreate cycles on one
of my audio output devices (a USB audio interface, MSI Onboard ALC4082 over
USB, VID:PID 0db0:e5c3). During the burst, `pactl get-default-sink` (and the
tray icon itself) rapidly alternates between the correct device and a
completely unrelated one (a second USB DAC, Hidizs S9Pro) for anywhere from ~10
to ~70 seconds, then self-resolves without intervention.
The System Settings "Sound" panel (kcm_pulseaudio), which ships in the same
plasma-pa package and uses the same PipeWire backend, does NOT reproduce this
when opened/used the same way. This strongly points at something specific to
the tray applet's activation path rather than the shared backend.
Evidence:
- pw-mon capture during a click-triggered episode shows PipeWire's `default`
metadata object (the actual persisted default-sink target) had ZERO change
events during a 66-second episode that showed 115 fresh node object creations
(new object.id each time) for the same ALSA sink. This means the flyout is
causing something to repeatedly destroy/recreate the device's PCM node, not the
configured default itself changing.
- plasmashell's own PipeWire client (application.name=plasmashell) owns zero
stream/node objects in the capture, so the trigger doesn't appear to go through
plasmashell's own client connection.
- The installed libplasma-volume-declarative.so (from this plasma-pa version)
statically links PulseAudioQt::VolumeMonitor and calls
pa_stream_set_monitor_stream, i.e. the peak-level monitoring feature described
in bug 449532 (which identified VolumeMonitor as a source of
PipeWire-interaction crashes in 2022) is present and active in current
plasma-pa.
- Bug 457023 ("Applet leaks audio sinks with Pipewire and WEBRTC")
independently reports "every time the applet is activated, a new audio sink is
created" - matching the destroy/recreate pattern seen here, in an earlier
plasma-pa version (5.25.3).
Environment notes:
The affected USB audio device has an independent, confirmed kernel-level
clock-source-validation quirk (snd_usb_audio, quirk_flags 0db0:e5c3:0x60) that
makes it comparatively fragile under repeated re-opens. It's possible the
applet-activation behavior described in 457023 is a long-standing,
mostly-harmless-on-typical-hardware quirk that becomes visibly disruptive
specifically on hardware whose ALSA renegotiation is already fragile - which
would explain why this hasn't been a widely-reported blocking issue.
Steps to reproduce:
1. Have a USB audio device selected as default sink (particularly one with
fragile clock-source handling, though this may reproduce more subtly on other
hardware too).
2. Click the system tray speaker icon to open the Audio Volume flyout.
3. Observe (via `pactl get-default-sink` polled at high frequency, or pw-mon)
rapid default-sink flapping and/or ALSA node destroy/recreate events for tens
of seconds.
4. Note that opening System Settings > Sound instead does not reproduce this.
Related bugs:
- Bug 457023 - Applet leaks audio sinks with Pipewire and WEBRTC
- Bug 449532 - Volume monitoring feature causes plasma-pa to crash
pipewire-pulse when using headset profile
--
You are receiving this mail because:
You are watching all bug changes.