Bug 2230542

Summary: Audio and camera stop working after a few video calls in Google Chrome
Product: [Fedora] Fedora Reporter: Neal Gompa <ngompa13>
Component: pipewireAssignee: Wim Taymans <wtaymans>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 38CC: brunovern.a, information, wtaymans
Target Milestone: ---Keywords: Desktop, Regression
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Neal Gompa 2023-08-09 15:46:24 UTC
I've been noticing for the past month that my audio and camera stop working after I do a few video conferencing sessions in Chrome. Once this happens, I see log output like the following:

Aug 09 11:30:11 Hild pipewire[1936]: pw.core: 0x55eb30ad5bb0: error -2 for resource 2: set_activation: No such file or directory
Aug 09 11:30:11 Hild pipewire[1936]: pw.link: 0x55eb319e8f80: can't get input mix -12 (Cannot allocate memory)
Aug 09 11:30:11 Hild pipewire[1936]: pw.mem: 0x55eb30ae2790: Failed to create memfd: Too many open files
Aug 09 11:30:11 Hild pipewire[1936]: mod.client-node: 0x55eb30ef73c0: error seq:11 -9 (node_set_io failed: Bad file descriptor)
Aug 09 11:30:11 Hild pipewire[1936]: pw.core: 0x55eb30ad5bb0: error -9 for resource 2: node_set_io failed: Bad file descriptor
Aug 09 11:30:11 Hild pipewire[1936]: mod.client-node: 0x55eb30ef73c0: error seq:10 -9 (set_activation: Bad file descriptor)
Aug 09 11:30:11 Hild pipewire[1936]: pw.core: 0x55eb30ad5bb0: error -9 for resource 2: set_activation: Bad file descriptor
Aug 09 11:30:11 Hild pipewire[1936]: mod.client-node: 0x55eb30ef73c0: error seq:9 -9 (node_set_io failed: Bad file descriptor)
Aug 09 11:30:11 Hild pipewire[1936]: pw.core: 0x55eb30ad5bb0: error -9 for resource 2: node_set_io failed: Bad file descriptor
Aug 09 11:30:11 Hild pipewire[1936]: mod.protocol-native: connection 0x55eb31541cd0: can't DUP fd:987 Too many open files


It breaks audio entirely, leading to me being unable to listen to music, play videos, or (obviously) participate in video calls.

My past month of software upgrades where pipewire changed:

ngompa@Hild ~> sudo dnf history list pipewire
ID     | Command line              | Date and time    | Action(s)      | Altered
--------------------------------------------------------------------------------
    78 | up                        | 2023-07-29 14:29 | C, E, I, U     |  213 E<
    73 | --refresh up              | 2023-07-25 13:32 | C, E, I, U     |   72 ><
    67 | --refresh up              | 2023-07-15 10:23 | C, E, I, U     |   47 ><
    60 | system-upgrade upgrade    | 2023-07-08 18:53 | C, E, I, O, U  |  311 ><

ID 60 upgraded pipewire from 0.3.71-2 to 0.3.73-1
ID 67 upgraded pipewire to 0.3.74-1
ID 73 upgraded pipewire to 0.3.75-1
ID 78 upgraded pipewire to 0.3.76-1

The problem persists across multiple PipeWire versions.

Reproducible: Always

Steps to Reproduce:
1. Start Google Chrome
2. Do a few video calls (Google Meet, Jitsi, Teams)

Actual Results:  
Eventually, the camera and microphone become unavailable for future calls, and then audio stops working entirely

Expected Results:  
Things should continue to work.

The only other potentially relevant thing was that I upgraded my ThinkPad P1 Gen 3 and ThinkPad Thunderbolt 3 Gen 2 dock firmware. I don't know how that would affect things, but everything *is* plugged in through the dock.

Comment 1 Neal Gompa 2023-08-11 14:28:59 UTC
I got the issue again...

Aug 11 10:20:30 Hild pipewire[1883]: mod.protocol-native: 0x55f47a19b070: connection_data: client 0x55f47acace50 error -71 (Protocol error)
Aug 11 10:20:30 Hild kwin_wayland[1884]: kwin_screencast: PipeWire remote error:  connection error
Aug 11 10:20:31 Hild pipewire[1883]: mod.protocol-native: 0x55f47a19b070: connection_data: client 0x55f47acace50 error -71 (Protocol error)
Aug 11 10:20:31 Hild kwin_wayland[1884]: kwin_screencast: PipeWire remote error:  connection error
Aug 11 10:20:31 Hild pipewire[1883]: mod.protocol-native: 0x55f47a19b070: connection_data: client 0x55f47acace50 error -71 (Protocol error)
Aug 11 10:20:31 Hild kwin_wayland[1884]: kwin_screencast: PipeWire remote error:  connection error
Aug 11 10:20:31 Hild pipewire[1883]: mod.client-node: 0x55f47acbef80: unknown peer 0x55f47aa352e0 fd:741
Aug 11 10:20:34 Hild pipewire[1883]: mod.client-node: 0x55f47acbff60: unknown peer 0x55f47acccea0 fd:177
Aug 11 10:20:34 Hild pipewire[1883]: mod.protocol-native: 0x55f47a19b070: connection_data: client 0x55f47acace50 error -71 (Protocol error)
Aug 11 10:20:34 Hild kwin_wayland[1884]: kwin_screencast: PipeWire remote error:  connection error
Aug 11 10:20:35 Hild pipewire[1883]: mod.protocol-native: 0x55f47a19b070: connection_data: client 0x55f47a97f8a0 error -71 (Protocol error)
Aug 11 10:20:35 Hild kwin_wayland[1884]: kwin_screencast: PipeWire remote error:  connection error
Aug 11 10:20:35 Hild plasmashell[5793]: [08/11/23, 10:20:35:358] info: [MSG-SHARED-RTM] (T04T4TH8W) dispatch to single store 1 msgs
Aug 11 10:20:35 Hild plasmashell[5793]: [08/11/23, 10:20:35:364] info: [UNREAD-COUNTS] (T04T4TH8W) Short-circuiting re-count in C04TT9U6B because channel is already unread
Aug 11 10:20:35 Hild pipewire[1883]: mod.client-node: 0x55f47acbef80: unknown peer 0x55f47be1a190 fd:937
Aug 11 10:20:35 Hild pipewire[1883]: mod.client-node: 0x55f47acbe050: unknown peer 0x55f47abdf8c0 fd:939
Aug 11 10:20:36 Hild pipewire[1883]: mod.protocol-native: 0x55f47a19b070: connection_data: client 0x55f47a97f8a0 error -71 (Protocol error)
Aug 11 10:20:36 Hild kwin_wayland[1884]: kwin_screencast: PipeWire remote error:  connection error
Aug 11 10:20:36 Hild pipewire[1883]: mod.protocol-native: 0x55f47a19b070: connection_data: client 0x55f47a63eff0 error -71 (Protocol error)
Aug 11 10:20:36 Hild kwin_wayland[1884]: kwin_screencast: PipeWire remote error:  connection error
Aug 11 10:20:37 Hild pipewire[1883]: mod.client-node: 0x55f47ad86ef0: unknown peer 0x55f47acccea0 fd:177
Aug 11 10:20:37 Hild wireplumber[1886]: <WpSiNode:0x55a92607f390> Object activation aborted: proxy destroyed
Aug 11 10:20:37 Hild wireplumber[1886]: <WpSiNode:0x55a92607f390> failed to activate item: Object activation aborted: proxy destroyed
Aug 11 10:20:37 Hild pipewire[1883]: mod.protocol-native: 0x55f47a19b070: connection_data: client 0x55f47a819de0 error -71 (Protocol error)
Aug 11 10:20:37 Hild kwin_wayland[1884]: kwin_screencast: PipeWire remote error:  connection error
Aug 11 10:20:37 Hild pipewire[1883]: mod.protocol-native: 0x55f47a19b070: connection_data: client 0x55f47a63eff0 error -71 (Protocol error)
Aug 11 10:20:37 Hild kwin_wayland[1884]: kwin_screencast: PipeWire remote error:  connection error
Aug 11 10:20:38 Hild wireplumber[1886]: <WpSiStandardLink:0x55a9265e7f20> 1 of 1 PipeWire links failed to activate


KDE Plasma notified me that I ran out of file handles and let me increase it automatically. That allowed it to work again.