Page MenuHomePhabricator

Mixer // pulse/pipewire issues - CPU utilization, crashing, etc
Open, Incoming QueuePublic

Description

I'm running E 0.25.1 from the official Fedora 35 repository. This uses pipewire by default. I've noticed that if I open a system monitor ( eg htop ) and watch processes by CPU utilization, E peaks at around 3% CPU utilization - with a bunch of apps open ( chrome, firefox ) and an idle desktop. Then I click the Mixer gadget ( which I have in a shelf ). E's CPU utilization rises to around 15% on 1 core. I assume this is rendering the real-time volume graph. I click the Mixer gadget again, and CPU utilization drops back to around 3% peak utilization. All fine so far.

Next I click the Mixer gadget again, and move the volume slider around a bit. E's CPU utilization rises dramatically to around 75% on 1 core, and stays there forever. I also see two pipewire-pulse processes sustained at around 25-30% utilization. If I keep sliding the volume around, pipewire crashes, and I see this in journalctl -xe output:

Feb 16 10:22:28 hyperion pipewire-pulse[1993]: pw.mem: 0x56104da72e90: Failed to create memfd: Too many open files
Feb 16 10:22:28 hyperion pipewire-pulse[1993]: pw.stream: 0x561072fb5370: can't make node: Too many open files
Feb 16 10:22:33 hyperion pipewire-pulse[1993]: mod.protocol-pulse: 0x56104da840c0: failed to connect client: Too many open files
Feb 16 10:22:33 hyperion pipewire-pulse[1993]: mod.protocol-pulse: client 0x5610755e76e0 [PulseAudio Volume Control]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:10 (Too many open files)
Feb 16 10:22:34 hyperion pipewire-pulse[1993]: mod.protocol-pulse: 0x56104da840c0: failed to connect client: Too many open files
Feb 16 10:22:34 hyperion pipewire-pulse[1993]: mod.protocol-pulse: client 0x561065dc6820 [PulseAudio Volume Control]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:10 (Too many open files)
Feb 16 10:22:35 hyperion pipewire-pulse[1993]: mod.protocol-pulse: 0x56104da840c0: failed to connect client: Too many open files
Feb 16 10:22:35 hyperion pipewire-pulse[1993]: mod.protocol-pulse: client 0x561067390710 [PulseAudio Volume Control]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:10 (Too many open files)
Feb 16 10:22:36 hyperion pipewire-pulse[1993]: mod.protocol-pulse: 0x56104da840c0: failed to connect client: Too many open files
Feb 16 10:22:36 hyperion pipewire-pulse[1993]: mod.protocol-pulse: client 0x561053a4fa60 [PulseAudio Volume Control]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:10 (Too many open files)
Feb 16 10:22:37 hyperion pipewire-pulse[1993]: mod.protocol-pulse: 0x56104da840c0: failed to connect client: Too many open files
Feb 16 10:22:37 hyperion pipewire-pulse[1993]: mod.protocol-pulse: client 0x561069bac8c0 [PulseAudio Volume Control]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:10 (Too many open files)
Feb 16 10:22:38 hyperion pipewire-pulse[1993]: mod.protocol-pulse: 0x56104da840c0: failed to connect client: Too many open files
Feb 16 10:22:38 hyperion pipewire-pulse[1993]: mod.protocol-pulse: client 0x5610629110e0 [PulseAudio Volume Control]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:10 (Too many open files)

Further to this, I've noticed that *before* pipewire crashing, if I open pavucontrol, I can see a LOT of sinks that E appears to own.