Sound stops working after a while and journal filled with mod.protocol-native, mod.client-node, and mod.access errors
- PipeWire version (
pipewire --version
): 0.3.76 - Distribution and distribution version (
PRETTY_NAME
from/etc/os-release
): Fedora Linux 38 (KDE Plasma) - Desktop Environment: KDE Plasma 5.27.6
- Kernel version (
uname -r
): 6.4.6-200.fc38.x86_64 - BlueZ version (
bluetoothctl --version
): 5.68 -
lsusb
:
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 004: ID 27c6:609c Shenzhen Goodix Technology Co.,Ltd. Goodix USB2.0 MISC
Bus 003 Device 003: ID 32ac:0002 Framework HDMI Expansion Card
Bus 003 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 003 Device 005: ID 8087:0032 Intel Corp. AX210 Bluetooth
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 004: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter
Bus 006 Device 005: ID 0bc2:ab21 Seagate RSS LLC Backup Plus Slim
Bus 006 Device 003: ID 0bda:0413 Realtek Semiconductor Corp. Dell dock
Bus 006 Device 002: ID 0bda:0487 Realtek Semiconductor Corp. Dell dock
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 004: ID 413c:b06e Dell Computer Corp. Dell dock
Bus 005 Device 007: ID 413c:b06f Dell Computer Corp. Dell dock
Bus 005 Device 006: ID 0bda:402e Realtek Semiconductor Corp. USB Audio
Bus 005 Device 005: ID 046d:0825 Logitech, Inc. Webcam C270
Bus 005 Device 003: ID 0bda:5413 Realtek Semiconductor Corp. Dell dock
Bus 005 Device 002: ID 0bda:5487 Realtek Semiconductor Corp. Dell dock
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
- Bluetooth devices:
Device 38:18:4C:6C:E4:68 WH-1000XM3
Device 0C:E0:E4:FB:A0:79 PLT_BBTPRO
Device F6:EC:E0:D8:14:76 G915 TKL
Device 08:EB:ED:22:E4:3E SoundCore 2
Description of Problem:
When my laptop has been running for a while without restarting (maybe 48h or so), eventually my sound will just randomly stop working. I think the issue only occurs when using bluetooth audio but I'm not 100% sure. When the problem occurs, my journal output is filled with messages like the following (a selection of some of the output of journalctl -x --user --unit=pipewire --unit=wireplumber --since=09:25 --until=09:40
):
Aug 04 09:32:28 framira pipewire[4243]: mod.client-node: 0x55e716c047a0: unknown peer 0x55e716a21770 fd:539
Aug 04 09:32:28 framira pipewire[4243]: mod.protocol-native: 0x55e716787120: connection_data: client 0x55e716a2d1b0 error -71 (Protocol error)
Aug 04 09:36:53 framira pipewire[4243]: mod.client-node: can't create node: Too many open files
Aug 04 09:36:53 framira pipewire[4243]: mod.protocol-native: connection 0x55e717d7b630: can't DUP fd:536 Too many open files
Aug 04 09:36:53 framira pipewire[4243]: mod.access: 0x55e716798630: client 0x55e716a3b960 sandbox check failed: Too many open files
Aug 04 09:36:53 framira pipewire[4243]: mod.protocol-native: connection 0x55e717d7b630: could not recvmsg on fd:0: Bad file descriptor
Aug 04 09:36:53 framira pipewire[4243]: mod.protocol-native: 0x55e716787120: do_resume: client 0x55e717186790 error -9 (Bad file descriptor)
Aug 04 09:36:55 framira pipewire[4243]: default: error opening .flatpak-info: Too many open files
Aug 04 09:36:55 framira pipewire[4243]: mod.access: 0x55e716798630: client 0x55e717186790 sandbox check failed: Too many open files
Aug 04 09:36:55 framira pipewire[4243]: default: error opening .flatpak-info: Too many open files
Aug 04 09:36:55 framira pipewire[4243]: mod.access: 0x55e716798630: client 0x55e717186790 sandbox check failed: Too many open files
Aug 04 09:36:55 framira pipewire[4243]: pw.mem: 0x55e71676f820: Failed to create memfd: Too many open files
A
Aug 04 09:37:22 framira wireplumber[4244]: can't map memory id 5: Bad file descriptor
Aug 04 09:37:22 framira wireplumber[4244]: port 0x563913816570: set_io: Bad file descriptor
Aug 04 09:37:22 framira pipewire[4243]: pw.core: 0x55e716762c40: error -9 for resource 4: port_set_io failed: Bad file descriptor
Aug 04 09:37:22 framira pipewire[4243]: mod.client-node: 0x55e71719abc0: error seq:39460 -9 (port_set_io failed: Bad file descriptor)
Aug 04 09:37:22 framira pipewire[4243]: pw.node: (spotify-123) idle -> error (error changing node state: Bad file descriptor)
Aug 04 09:37:22 framira pipewire[4243]: pw.node: (bluez_output.08_EB_ED_22_E4_3E.1-60) idle -> error (error changing node state: Bad file descriptor)
Aug 04 09:37:27 framira pipewire[4243]: pw.link: 0x55e716af6180: one of the nodes is in error out:error in:suspended
Aug 04 09:37:27 framira wireplumber[4244]: node 0x563913dc7b30: write failed Bad file descriptor
The full output of the above command can be found here.
I can always resolve the problem by rebooting my laptop and sometimes resolve the problem by restarting the wireplumber session manager with
systemctl --user restart wireplumber
How Reproducible:
It only seems to happen after a fair amount of bluetooth audio usage. Repeatedly switching bluetooth audio devices can speed up the occurrence of the issue.
Steps to Reproduce:
- Use the Spotify flatpak to listen to music using pipewire bluetooth audio for at while (maybe at least 10 hours).
- Switch bluetooth audio output a couple of times to speed up the occurrence of the issue.
Sorry these are pretty vague. I don't really have a good way of consistently reproducing the problem.
Actual Results:
Eventually all audio just stops working and I receive error messages in the journal. Even switching to a non-bluetooth device (e.g. my laptop speakers) does not work until I reboot (and possibly if I restart wireplumber).
Expected Results:
Audio should continue to work without any problems.
Additional Info (as attachments):
-
pw-dump > pw-dump.log
: 20230804-0940_pw-dump.log - Bluetooth debug log, see here: (I couldn't see a way to do this without restarting wireplumber which usually resolves my problem for at least a few hours).