In my case, there seems to be an issue with pipewire using too many file 
descriptors:
systemctl status --user pipewire
● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; preset: 
enabled)
     Active: active (running) since Fri 2024-04-26 07:53:43 PDT; 11h ago
TriggeredBy: ● pipewire.socket
   Main PID: 3468 (pipewire)
      Tasks: 3 (limit: 38161)
     Memory: 12.6M
        CPU: 38.400s
     CGroup: 
/user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
             └─3468 /usr/bin/pipewire

Apr 26 18:53:58 hostname pipewire[3468]: mod.client-node: 0x60925302fed0: error 
seq:13 -9 (set_activation: Bad file descriptor)
Apr 26 18:53:58 hostname pipewire[3468]: pw.core: 0x609252c77940: error -9 for 
resource 2: node_set_io failed: Bad file descriptor
Apr 26 18:53:58 hostname pipewire[3468]: mod.client-node: 0x60925302fed0: error 
seq:14 -9 (node_set_io failed: Bad file descriptor)
Apr 26 18:53:58 hostname pipewire[3468]: mod.protocol-native: connection 
0x609252e5f710: can't DUP fd:1021 Too many open files
Apr 26 18:53:58 hostname pipewire[3468]: mod.protocol-native: connection 
0x609252e5f710: can't DUP fd:1020 Too many open files
Apr 26 18:53:58 hostname pipewire[3468]: pw.core: 0x609252c77940: error -9 for 
resource 2: set_activation: Bad file descriptor
Apr 26 18:53:58 hostname pipewire[3468]: mod.client-node: 0x609252d7cdf0: error 
seq:23 -9 (set_activation: Bad file descriptor)
Apr 26 18:54:06 hostname pipewire[3468]: mod.protocol-native: connection 
0x609252e5f710: can't DUP fd:579 Too many open files
Apr 26 18:58:00 hostname pipewire[3468]: mod.client-node: 0x609252fc1b70: 
unknown peer 0x609252fc2050 fd:98
Apr 26 18:58:15 hostname pipewire[3468]: mod.protocol-native: 0x609252c9c030: 
connection_data: client 0x609252fc29c0 error -71 (Protocol error)

I was able to get my sound working by logging out and back in.

After I got it working, I ran this:
lsof -p3468 | wc -l
1013

I wonder if it was around 1024 before I logged out..?

The open file limit for the process is: 1024

This explains why "killall pipewire-pulse" would get my sound working
again for a single application... It was freeing up one file descriptor.

Is this a pipewire bug, a tas2781 driver bug, or a bit of both? I think
if this were a general pipewire issue, we'd be hearing a lot more
complaints...

After logging in, I tried this:
systemctl restart --user pipewire

This resulted in a new pipewire process and only 25 open file
descriptors. Wonder if this would have fixed the issue without logging
out? Something else to try next time.

Next time this happens, I'll see if I can figure what all the file
descriptors are for.

For others having this or similar trouble, see if you're having similar
issues with pipewire (or perhaps even pulse) and file descriptors.

/var/log/syslog is another valid place to check for these messages (at
least on Ubuntu).

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1958019

Title:
  [Lenovo Legion7 16ACHg6 82N6, Realtek ALC287, Speaker, Internal] No
  sound at all

To manage notifications about this bug go to:
https://bugs.launchpad.net/sound-2.6/+bug/1958019/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to