pw-pulse causes firefox to hang when a zoom meeting is in progress
Hi
I'm running firefox and zoom with pw-pulse, but I started to notice some strange deadlocks in firefox. While I'm on a zoom meeting any kind of youtube video would not start (spinning sometimes, frozen other times) and in a few seconds all the firefox UI is locked or at least it does not register mouse or keyboard events (tab spinner is still spinning for previously opened tabs and only killing ff fixes it). There are no issues if I'm not in a zoom meeting or if I fall back to pulseaudio (not starting with pw-pulse
). Also restarting pipewire sometimes crashes firefox (this might be a separate problem).
First I thought its a firefox issue, but seems like zoom is bundled with Qt and its libqtmedia-pulse, so its using pulseaudio and pw-pulse is not going to make it use the pipewire provided library but thats where my understanding ends.
Seeing some resource busy logs from firefox:
[E][000032769.150371][core.c:71 core_event_error()] core 0x7fbeb4fc2380: proxy 0x7fbeb5223280 id:25: seq:84 res:-16 (Device or resource busy) msg:"enum params id:3 (Spa:Enum:ParamId:EnumFormat) failed"
[E][000032769.150377][context.c:1475 core_error()] context 0x7fbec481f308: error id:25 seq:84 res:-16 (Device or resource busy): enum params id:3 (Spa:Enum:ParamId:EnumFormat) failed
[D][000032769.150380][context.c:995 node_event_param()] update param 46 2
[D][000032769.150383][context.c:1491 core_done()] done id:0 seq:1073741910/1073741914
[E][000032769.150386][core.c:71 core_event_error()] core 0x7fbeb4fc2380: proxy 0x7fbeb5223400 id:26: seq:87 res:-16 (Device or resource busy) msg:"enum params id:3 (Spa:Enum:ParamId:EnumFormat) failed"
[E][000032769.150390][context.c:1475 core_error()] context 0x7fbec481f308: error id:26 seq:87 res:-16 (Device or resource busy): enum params id:3 (Spa:Enum:ParamId:EnumFormat) failed
Happens every time a zoom meeting is running, so easy to reproduce.
I assume this should not cause a deadlock in firefox, but again it does not happen with using pulseaduio. Any thoughts?
additional info: using arch linux with swaywm
❯ uname -a
Linux ema-t480 5.8.12-zen1-1-zen #1 ZEN SMP PREEMPT Sat, 26 Sep 2020 21:43:23 +0000 x86_64 GNU/Linux
pipewire version: pipewire-git-0.3.13.0.gd7714f73
(build from yesterday, but it happens with latest too, and I noticed this before too, but I only got to investigate now)
PIPEWIRE_DEBUG=4 pw-pulse firefox-nightly
(logs are from latest nightly but tried with stable ff-81, same same)
- not in a zoom meeting -> ff.log
- in a zoom meeting -> ff_zoom.log
-
pw-ctl info
-> pwinfo.txt
let me know if you need more information I'm not sure where else to look
p.s: Thanks for the great work, I'm a big fan of the project :)