Bug 1868332 - Screen sharing doesn't work in Firefox after last few pipewire updates
Summary: Screen sharing doesn't work in Firefox after last few pipewire updates
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: pipewire
Version: 32
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Wim Taymans
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-08-12 10:39 UTC by Jonathan Dieter
Modified: 2020-08-20 01:11 UTC (History)
2 users (show)

Fixed In Version: pipewire-0.3.10-1.fc32
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-08-20 01:11:48 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Jonathan Dieter 2020-08-12 10:39:00 UTC
Description of problem:
Since pipewire-0.3.7 was released, I've not been able to share my screen in Firefox.  


Version-Release number of selected component (if applicable):
pipewire-0.3.7+

How reproducible:
Always

Steps to Reproduce:
1. Go to https://meet.jit.si/testasdf1234 and join meeting
2. Click share screen button in bottom left corner
3. Select "Entire screen" from firefox permission dropdown
4. Click "Built-in display" in GNOME dialog box that comes up
5. Click Allow

Actual results:
Current desktop is not shared

Expected results:
GNOME asks me which display to share twice more, and then the current desktop is shared in meeting.

Additional info:
This works perfectly on pipewire-0.3.6.  I am using fractional scaling in Wayland, if that's relevant.

Also, FWIW, `ps aux | grep pipewire` show the following with working pipewire:
jonathan    9992  0.0  0.1 159644 20592 ?        Ssl  11:06   0:00 /usr/bin/pipewire
jonathan    9997  0.0  0.0  28248  7112 ?        Sl   11:06   0:00 exec pipewire-media-session -d bluez5

And the following with non-working pipewire:
jonathan    4518  0.0  0.0  99640  5896 ?        Ssl  11:23   0:00 /usr/bin/pipewire
jonathan    4520  0.0  0.0      0     0 ?        Z    11:23   0:00 [pipewire-media-] <defunct>

Comment 1 Jonathan Dieter 2020-08-12 10:41:04 UTC
I'm currently using pipewire and pipewire-libs from https://koji.fedoraproject.org/koji/buildinfo?buildID=1522923 (pipewire-0.3.6-1.fc32) and everything's working perfectly.  Anything newer doesn't work.

Comment 2 Wim Taymans 2020-08-12 13:03:51 UTC
The session manager crashes for some reason, can you run in a terminal:

# pipewire-media-session

To confirm that it crashes. Then also:

# gdb pipewire-media-session
...
(gdb) r
....
(gdb) thr apply all bt


And paste the output here.

Comment 3 Jonathan Dieter 2020-08-15 15:58:02 UTC
FWIW, this is running on a Lenovo X1 Carbon 7th gen, which uses the snd_sof driver.  Not sure if that's related to why we're getting an alsa error.

$ gdb pipewire-media-session
GNU gdb (GDB) Fedora 9.1-5.fc32
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from pipewire-media-session...
Reading symbols from /usr/lib/debug/usr/bin/pipewire-media-session-0.3.9-1.fc32.x86_64.debug...
(gdb) r
Starting program: /usr/bin/pipewire-media-session 
Missing separate debuginfos, use: dnf debuginfo-install glibc-2.31-4.fc32.x86_64
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7ffff6f01700 (LWP 32970)]
[-][000009792.975337][alsa-ucm.c:1341 pa_alsa_ucm_set_profile()] Failed to set verb off

Thread 1 "pipewire-media-" received signal SIGSEGV, Segmentation fault.
0x00007ffff659541d in impl_add_listener (object=0x5555556328d8, listener=0x55555563ee30, events=0x7ffff77feb40 <pw_protocol_native_device_event_marshal>, data=0x55555563ec60)
    at ../spa/plugins/alsa/alsa-acp-device.c:234
234		profile = card->profiles[card->active_profile_index];
(gdb) thr apply all bt

Thread 2 (Thread 0x7ffff6f01700 (LWP 32970)):
#0  0x00007ffff7cc4c5e in epoll_wait () from /lib64/libc.so.6
#1  0x00007ffff7fc4518 in impl_pollfd_wait (object=<optimized out>, pfd=<optimized out>, ev=0x7ffff6f00c10, n_ev=<optimized out>, timeout=<optimized out>) at ../spa/plugins/support/system.c:154
#2  0x00007ffff7fc1f20 in loop_iterate (object=0x5555555ceec8, timeout=-1) at ../spa/plugins/support/loop.c:285
#3  0x00007ffff7f38f07 in do_loop (user_data=0x5555555ced70) at ../src/pipewire/data-loop.c:77
#4  0x00007ffff7d96432 in start_thread () from /lib64/libpthread.so.0
#5  0x00007ffff7cc4913 in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7ffff78007c0 (LWP 32966)):
#0  0x00007ffff659541d in impl_add_listener (object=0x5555556328d8, listener=0x55555563ee30, events=0x7ffff77feb40 <pw_protocol_native_device_event_marshal>, data=0x55555563ec60) at ../spa/plugins/alsa/alsa-acp-device.c:234
#1  0x00007ffff77f5165 in pw_core_spa_device_export (core=<optimized out>, type=<optimized out>, props=<optimized out>, object=0x5555556328f0, user_data_size=<optimized out>) at ../src/modules/module-client-device/proxy-device.c:84
#2  0x00007ffff7f3896c in pw_core_export (core=0x5555555e8d00, type=0x55555559fcea "Spa:Pointer:Interface:Device", props=0x555555637f40, object=0x5555556328f0, user_data_size=336) at ../src/pipewire/core.c:287
#3  0x00005555555833e7 in sm_media_session_export_device (sess=0x7fffffffd350, props=0x555555637f40, object=0x5555556328f0) at ../src/examples/media-session/media-session.c:1415
#4  0x000055555556dcbf in alsa_create_device (info=0x7fffffffd010, id=<optimized out>, impl=0x55555560f960) at ../src/examples/media-session/alsa-monitor.c:771
#5  alsa_udev_object_info (data=0x55555560f960, id=<optimized out>, info=0x7fffffffd010) at ../src/examples/media-session/alsa-monitor.c:839
#6  0x00007ffff6593d71 in emit_object_info (this=this@entry=0x555555617b58, id=0, dev=dev@entry=0x555555618900) at ../spa/plugins/alsa/alsa-udev.c:311
#7  0x00007ffff6594547 in emit_device (dev=0x555555618900, enumerated=true, action=0, this=0x555555617b58) at ../spa/plugins/alsa/alsa-udev.c:381
#8  enum_devices (this=0x555555617b58) at ../spa/plugins/alsa/alsa-udev.c:474
#9  impl_device_add_listener (object=0x555555617b58, listener=0x55555560f9b0, events=<optimized out>, data=<optimized out>) at ../spa/plugins/alsa/alsa-udev.c:527
#10 0x000055555556f0fd in sm_alsa_monitor_start (session=0x7fffffffd350) at ../src/examples/media-session/alsa-monitor.c:930
#11 0x00005555555666ae in main (argc=<optimized out>, argv=<optimized out>) at ../src/examples/media-session/media-session.c:2045
(gdb)

Comment 4 Wim Taymans 2020-08-17 09:35:43 UTC
This fix might solve it:

https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/03f1dfcf99e043f7d48b0712067102dbf6867f40

I'll add it to f32/rawhide

Comment 5 Jonathan Dieter 2020-08-17 21:10:51 UTC
I've just rebuilt the latest F32 RPM with that patch added, and everything works perfectly again!  Thank you!

Comment 6 Fedora Update System 2020-08-18 11:46:42 UTC
FEDORA-2020-2b41ed57d0 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-2b41ed57d0

Comment 7 Fedora Update System 2020-08-19 01:11:41 UTC
FEDORA-2020-2b41ed57d0 has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-2b41ed57d0`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-2b41ed57d0

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 8 Fedora Update System 2020-08-20 01:11:48 UTC
FEDORA-2020-2b41ed57d0 has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.