emersion / xdg-desktop-portal-wlr

xdg-desktop-portal backend for wlroots
MIT License
591 stars 56 forks source link

Screencast freeze with `pipewire_loop_iterate failed` #186

Closed freswa closed 2 years ago

freswa commented 2 years ago

Within 30 minutes of screencast, I get about 1-3 freezes, where my opponents just see a frozen screenshare but on my side the browser doesn't indicate any error. In this case I can find the following output in the journal: xdg-desktop-portal-wlr[6972]: 2022/01/27 14:59:52 [ERROR] - pipewire_loop_iterate failed: Unknown error -1

columbarius commented 2 years ago

Can you please try #184. I restructured the loop which should be more robust.

freswa commented 2 years ago

Got 30 minutes of screencast without freeze. Will test more in the coming days.

danielmorlock commented 2 years ago

I cannot confirm the fix in #184 after starting a screencast, I get lots of the following errors (when running /usr/libexec/xdg-desktop-portal-wlr -lDEBUG):

2022/03/29 20:01:03 [WARN] - wlroots: no current buffer
2022/03/29 20:01:03 [WARN] - pipewire: out of buffers
2022/03/29 20:01:03 [WARN] - wlroots: no current buffer
2022/03/29 20:01:03 [WARN] - pipewire: out of buffers
2022/03/29 20:01:03 [WARN] - wlroots: no current buffer
2022/03/29 20:01:03 [INFO] - pipewire: stream state changed to "paused"
2022/03/29 20:01:03 [INFO] - pipewire: node id is 84
2022/03/29 20:01:03 [WARN] - pipewire: no buffer to queue
2022/03/29 20:01:03 [WARN] - pipewire: out of buffers
2022/03/29 20:01:03 [WARN] - wlroots: no current buffer

After a while Brave/Chromium are ending up in a segfault. I'm using xdg-desktop-portal-1.12.1 and pipewire 0.3.48.

danielmorlock commented 2 years ago

Also tested xdg-desktop-portal-1.14.1 without success.

columbarius commented 2 years ago

2022/03/29 20:01:03 [INFO] - pipewire: stream state changed to "paused" 2022/03/29 20:01:03 [INFO] - pipewire: node id is 84 2022/03/29 20:01:03 [WARN] - pipewire: no buffer to queue 2022/03/29 20:01:03 [WARN] - pipewire: out of buffers

Can you please share the whole log with -lTRACE? I'd like to see that, because out of buffer shouldn't happen anymore if the stream was paused.

columbarius commented 2 years ago

@freswa Do you have still freezes or can we close this issue?

freswa commented 2 years ago

Haven't had long screenshare sessions since, but I had no problems either. Closing this for now.