[PipeWire] Screen-sharing on Wayland makes Firefox crash under some conditions
Categories
(Core :: WebRTC, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox85 | --- | fixed |
People
(Reporter: filman230, Assigned: stransky)
References
(Blocks 1 open bug)
Details
Attachments
(3 files)
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:85.0) Gecko/20100101 Firefox/85.0
Steps to reproduce:
I am using Firefox under Archlinux with Gnome Wayland.
To share a specific program I have to select "Share entire screen", the my Desktop Environment (Gnome Wayland) shows me a pop-up to chose what to share.
I select a specific window (like a terminal), and confirm.
There is no problem at this point, but Firefox crashes when you resize the terminal, and only when you make it bigger.
I think it's because when you chose "Share entire screen", Firefox expects a constant resolution, or at least not a suddenly bigger one.
Under Wayland, it seems that it's Pipewire that manages all the screen-sharing, so the choices are not very adapted. Firefox probably just allow screen-sharing and let Pipewire manage from this point.
You can reproduce the problem using https://meet.jit.si/ or any other service that let you share your screen.
Comment 1•4 years ago
|
||
Bugbug thinks this bug should belong to this component, but please revert this change in case of error.
Assignee | ||
Comment 2•4 years ago
|
||
Can you please create a screencast of the issue? (see https://help.gnome.org/users/gnome-help/stable/screen-shot-record.html.en)
Thanks.
So it seems that it crashes not only when the window is resized to a bigger size, sorry for the wrong indication.
Assignee | ||
Comment 5•4 years ago
|
||
That's interesting, Thanks! Will look at it, seems to be a PipeWire issue.
Assignee | ||
Comment 6•4 years ago
|
||
Reproducible with latest nightly, https://crash-stats.mozilla.org/report/index/3bd01f64-444e-434c-8e88-d318d0201126
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 7•4 years ago
|
||
This is a multi-thread issue. Data are copied to current_frame_ at BaseCapturerPipeWire::CaptureFrame() callback while current_frame_ is also modified/resized at BaseCapturerPipeWire::HandleBuffer() from another thread.
Assignee | ||
Comment 8•4 years ago
|
||
Assignee | ||
Comment 9•4 years ago
|
||
I'm going to report it upstream too.
Comment 10•4 years ago
|
||
Pushed by btara@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/67a0bedb38ee [PipeWire] Lock current_frame_ access as it can be used from multiple threads, r=dminor
Comment 11•4 years ago
|
||
bugherder |
Comment 12•4 years ago
|
||
Thanks for your work on this. Resizing the shared window indeed no longer makes Firefox crash as of Firefox 85. However, Firefox still crashes if I toggle the shared window between full screen/presentation mode and windowed mode.
Steps to reproduce (Fedora 33):
- Share a Evince window in a Wayland session.
- Switch Evince to presentation mode.
Assignee | ||
Comment 13•3 years ago
|
||
(In reply to Casey from comment #12)
Thanks for your work on this. Resizing the shared window indeed no longer makes Firefox crash as of Firefox 85. However, Firefox still crashes if I toggle the shared window between full screen/presentation mode and windowed mode.
Steps to reproduce (Fedora 33):
- Share a Evince window in a Wayland session.
- Switch Evince to presentation mode.
Filed as Bug 1693849, Thanks.
Description
•