Bug 488924

Summary: xdg-desktop-portal crashes after update to Plasma 6.1 when screen casting
Product: [KDE Neon] neon Reporter: Malte S. Stretz <mss>
Component: Packages User EditionAssignee: Neon Bugs <neon-bugs>
Status: RESOLVED UPSTREAM    
Severity: crash CC: jr, neon-bugs
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=488749
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: /var/log/apt/history.log

Description Malte S. Stretz 2024-06-21 20:44:43 UTC
Created attachment 170785 [details]
/var/log/apt/history.log

SUMMARY
I updated to Plasma 6.1 the day before yesterday and since then xdg-desktop-portal crashes when I try to share my screen. I (have to) use Teams and I use the teams-for-linux Flatpak (cf. https://flathub.org/de/apps/com.github.IsmaelMartinez.teams_for_linux). I use screen sharing almost daily so I am sure it worked earlier this week.

The odd thing is that neither flatpak nor xdg-desktop-portal nor libpipewire was updated according to apt's history.log (attached). My guess is that somehow xdg-desktop-portal-kde (which was updated) cases this (I don't fully understand how these components work together).

I found some older bug from 2023 which affected Ubuntu 22.04 which sound similar and were caused by version incompatibilities in pipewire (https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2964) in the one case and something in xdg-desktop-portal in another case (https://github.com/flatpak/xdg-desktop-portal/issues/771). But the stack traces look differently and those should either have been fixed or have affected me a long time ago.

STEPS TO REPRODUCE
I can 100% reproduce this with these steps but I will try to find another reproducer with another piece of software:
1. Install and start teams-for-linux Flatpak
2. Start a call and start screen sharing
3. The xdg-desktop-portal-kde dialog will pop up, select a screen to share and confirm
4. The screen share button in Teams will be red for a moment (as it is when you do screen sharing) and then go back to the normal state
5. At the same time the red screen sharing KDE notification will appear in the tray bar and stay like that
6. Check your journal or coredumpctl or drkonqi-coredump-gui and you will see the crash

OBSERVED RESULT
Screen sharing does not work and xdg-desktop-portal crashes

EXPECTED RESULT
Screen sharing should work and xdg-desktop-portal should not crash

SOFTWARE/OS VERSIONS
Operating System: KDE neon 6.0
KDE Plasma Version: 6.1.0
KDE Frameworks Version: 6.3.0
Qt Version: 6.7.0
Kernel Version: 6.5.0-41-generic (64-bit)
Graphics Platform: Wayland
Processors: 4 × Intel® Core™ i5-6300U CPU @ 2.40GHz
Memory: 19,4 GiB of RAM
Graphics Processor: Mesa Intel® HD Graphics 520
Manufacturer: LENOVO
Product Name: 20F9CTO1WW
System Version: ThinkPad T460s

ADDITIONAL INFORMATION
           PID: 22502 (xdg-desktop-por)
           UID: 1000 (stretz)
           GID: 1000 (stretz)
        Signal: 11 (SEGV)
     Timestamp: Fri 2024-06-21 22:40:12 CEST (3min 44s ago)
  Command Line: /usr/libexec/xdg-desktop-portal
    Executable: /usr/libexec/xdg-desktop-portal
 Control Group: /user.slice/user-1000.slice/user@1000.service/session.slice/xdg-desktop-portal.service
          Unit: user@1000.service
     User Unit: xdg-desktop-portal.service
         Slice: user-1000.slice
     Owner UID: 1000 (stretz)
       Boot ID: bd16653cc1514a478b7de48af136b470
    Machine ID: 8a16726dcc4c48d5a09d89e06cd6eeb6
      Hostname: slpn-nb-mss
       Storage: /var/lib/systemd/coredump/core.xdg-desktop-por.1000.bd16653cc1514a478b7de48af136b470.22502.1719002412000000.zst (present)
     Disk Size: 443.0K
       Message: Process 22502 (xdg-desktop-por) of user 1000 dumped core.
                
                Found module linux-vdso.so.1 with build-id: c3530aed66e71bfd10af66039f58cc7c4d2eaba8
                Found module libpipewire-module-session-manager.so with build-id: a4fa9861ba90f36edb94076d1dfef11d1c561d5e
                Found module libpipewire-module-metadata.so with build-id: dafd3ff9e45eda8b8e72a6c4ee9859bbf3efacfb
                Found module libpipewire-module-adapter.so with build-id: 4229761ed63759830ca135ab7803b3b450df049a
                Found module libpipewire-module-client-device.so with build-id: b251ac1d891b2fdc5b8bf4cac47f3211dd44286b
                Found module libpipewire-module-client-node.so with build-id: 378e0e3bfe3777ae7f02c07f42351b73818bf265
                Found module libpipewire-module-protocol-native.so with build-id: 95016f55aab5ffa103dec6b3585936003036b597
                Found module libdbus-1.so.3 with build-id: 63e8b99215502138cb63afd6d65851a5e837ed49
                Found module libspa-dbus.so with build-id: 7a8c8e1a46e27116cbe556707781aa1785593e07
                Found module libspa-journal.so with build-id: 8013a6aa985deab57e102a306d3014c5e1a217c7
                Found module libspa-support.so with build-id: 044dd25a7eab5ed0b9438a1fcfad2b8904dd3888
                Found module libproxy.so.1 with build-id: 50386e13d6944c65a860eb2e02e8203e04e419c7
                Found module libgiolibproxy.so with build-id: 66b7673bb4b199a66758ea4273cfa4e893906004
                Found module libdconfsettings.so with build-id: 28be9445dc37a4f123f206cda2ffc7dea558a315
                Found module libgiognomeproxy.so with build-id: f6c4d763f7577aa339e5c0ad3cbc70903a920dac
                Found module libgioenvironmentproxy.so with build-id: 937ddc05722e2faba65bdfae91987c454cf6cb7b
                Found module libgcc_s.so.1 with build-id: e3a44e0da9c6e835d293ed8fd2882b4c4a87130c
                Found module libstdc++.so.6 with build-id: e37fe1a879783838de78cbc8c80621fa685d58a2
                Found module libgpg-error.so.0 with build-id: 3fbec71c67bee60d8aef00697ee187079b0fb307
                Found module libpcre2-8.so.0 with build-id: 184a841c55fb7fe5e3873fcda8368c71016cd54c
                Found module libblkid.so.1 with build-id: ecc1dfaec3a7241b41b76c3590fa135fb3c8ddfa
                Found module ld-linux-x86-64.so.2 with build-id: 4186944c50f8a32b47d74931e3f512b811813b64
                Found module libgcrypt.so.20 with build-id: 60a5e524de0ed8323edf33e9eb9127a9eee02359
                Found module libcap.so.2 with build-id: b4bf900abf14aabe12d90988ceb30888acb2bcb0
                Found module liblz4.so.1 with build-id: a85971851cd059f1af80d553c8e7170d42ec59a1
                Found module libzstd.so.1 with build-id: 5d9d0d946a3154a748e87e17af9d14764519237b
                Found module liblzma.so.5 with build-id: b85da6c48eb60a646615392559483b93617ef265
                Found module libffi.so.8 with build-id: 59c2a6b204f74f358ca7711d2dfd349d88711f6a
                Found module libselinux.so.1 with build-id: 6fa53202ce676297de24873c886443b2759bfd8a
                Found module libmount.so.1 with build-id: a339abbcd0eb8dadcbd09c372ffac2f0eb31eeaa
                Found module libz.so.1 with build-id: 30840b79ac329ecbf1dec0bb60180eed256d319f
                Found module libgmodule-2.0.so.0 with build-id: 4663e16af8ee20469e2ed5937b1aeb3b50df0af1
                Found module libm.so.6 with build-id: a508ec5d8bf12fb7fd08204e0f87518e5cd0b102
                Found module libpcre.so.3 with build-id: 3982f316c887e3ad9598015fa5bae8557320476a
                Found module libc.so.6 with build-id: 490fef8403240c91833978d494d39e537409b92e
                Found module libsystemd.so.0 with build-id: e17e357f3a8e8198b1de01bd084ca319c72d231b
                Found module libpipewire-0.3.so.0 with build-id: 0c122bd80353edde4617625d446616d5ba3db69f
                Found module libjson-glib-1.0.so.0 with build-id: ad0e4fa336337086be19bf34bf6cc3abcf7a73de
                Found module libgobject-2.0.so.0 with build-id: 9e8e57082c3651843713c59ecf2976863d6d1dcd
                Found module libgio-2.0.so.0 with build-id: 9fc3ec50ff6302f82ac43f1b28e67909662dc914
                Found module libglib-2.0.so.0 with build-id: 224ac2a88b72bc8e2fe8566ee28fae789fc69241
                Found module xdg-desktop-portal with build-id: 440667c8b8708240738da1777befd1bc0d1c3cf1
                Stack trace of thread 26810:
                #0  0x00007768c41c6c15 n/a (libpipewire-module-protocol-native.so + 0x12c15)
                #1  0x00007768c41cd92b n/a (libpipewire-module-protocol-native.so + 0x1992b)
                #2  0x00007768c5723d42 pw_proxy_destroy (libpipewire-0.3.so.0 + 0x73d42)
                #3  0x000059cd106a343d n/a (xdg-desktop-portal + 0x7443d)
                #4  0x000059cd106a8e8a n/a (xdg-desktop-portal + 0x79e8a)
                #5  0x00007768c5433e2e n/a (libffi.so.8 + 0x7e2e)
                #6  0x00007768c5430493 n/a (libffi.so.8 + 0x4493)
                #7  0x00007768c57d016d g_cclosure_marshal_generic (libgobject-2.0.so.0 + 0x1b16d)
                #8  0x00007768c57c9d2f g_closure_invoke (libgobject-2.0.so.0 + 0x14d2f)
                #9  0x00007768c57e5624 n/a (libgobject-2.0.so.0 + 0x30624)
                #10 0x000059cd10672d54 n/a (xdg-desktop-portal + 0x43d54)
                #11 0x00007768c593a15e n/a (libgio-2.0.so.0 + 0x12515e)
                #12 0x00007768c58c7194 n/a (libgio-2.0.so.0 + 0xb2194)
                #13 0x00007768c5a76714 n/a (libglib-2.0.so.0 + 0x87714)
                #14 0x00007768c5a73ab1 n/a (libglib-2.0.so.0 + 0x84ab1)
                #15 0x00007768c5294ac3 start_thread (libc.so.6 + 0x94ac3)
                #16 0x00007768c5326850 __clone3 (libc.so.6 + 0x126850)
                
                Stack trace of thread 22514:
                #0  0x00007768c5318bcf __GI___poll (libc.so.6 + 0x118bcf)
                #1  0x00007768c5a9a256 n/a (libglib-2.0.so.0 + 0xab256)
                #2  0x00007768c5a423e3 g_main_context_iteration (libglib-2.0.so.0 + 0x533e3)
                #3  0x00007768c4e3133d n/a (libdconfsettings.so + 0x733d)
                #4  0x00007768c5a73ab1 n/a (libglib-2.0.so.0 + 0x84ab1)
                #5  0x00007768c5294ac3 start_thread (libc.so.6 + 0x94ac3)
                #6  0x00007768c5326850 __clone3 (libc.so.6 + 0x126850)
                
                Stack trace of thread 22516:
                #0  0x00007768c5325e2e epoll_wait (libc.so.6 + 0x125e2e)
                #1  0x00007768c4e18918 n/a (libspa-support.so + 0x13918)
                #2  0x00007768c4e0bd7c n/a (libspa-support.so + 0x6d7c)
                #3  0x00007768c56ee226 n/a (libpipewire-0.3.so.0 + 0x3e226)
                #4  0x00007768c5294ac3 start_thread (libc.so.6 + 0x94ac3)
                #5  0x00007768c5326850 __clone3 (libc.so.6 + 0x126850)
                
                Stack trace of thread 22502:
                #0  0x00007768c5318bcf __GI___poll (libc.so.6 + 0x118bcf)
                #1  0x00007768c5a9a256 n/a (libglib-2.0.so.0 + 0xab256)
                #2  0x00007768c5a442b3 g_main_loop_run (libglib-2.0.so.0 + 0x552b3)
                #3  0x000059cd10656a25 n/a (xdg-desktop-portal + 0x27a25)
                #4  0x00007768c5229d90 __libc_start_call_main (libc.so.6 + 0x29d90)
                #5  0x00007768c5229e40 __libc_start_main_impl (libc.so.6 + 0x29e40)
                #6  0x000059cd10656cc5 n/a (xdg-desktop-portal + 0x27cc5)
                
                Stack trace of thread 22509:
                #0  0x00007768c5318bcf __GI___poll (libc.so.6 + 0x118bcf)
                #1  0x00007768c5a9a256 n/a (libglib-2.0.so.0 + 0xab256)
                #2  0x00007768c5a442b3 g_main_loop_run (libglib-2.0.so.0 + 0x552b3)
                #3  0x00007768c592a81a n/a (libgio-2.0.so.0 + 0x11581a)
                #4  0x00007768c5a73ab1 n/a (libglib-2.0.so.0 + 0x84ab1)
                #5  0x00007768c5294ac3 start_thread (libc.so.6 + 0x94ac3)
                #6  0x00007768c5326850 __clone3 (libc.so.6 + 0x126850)
                
                Stack trace of thread 26844:
                #0  0x00007768c5325e2e epoll_wait (libc.so.6 + 0x125e2e)
                #1  0x00007768c4e18918 n/a (libspa-support.so + 0x13918)
                #2  0x00007768c4e0bd7c n/a (libspa-support.so + 0x6d7c)
                #3  0x00007768c56ee226 n/a (libpipewire-0.3.so.0 + 0x3e226)
                #4  0x00007768c5294ac3 start_thread (libc.so.6 + 0x94ac3)
                #5  0x00007768c5326850 __clone3 (libc.so.6 + 0x126850)
                
                Stack trace of thread 22517:
                #0  0x00007768c52e57f8 __GI___clock_nanosleep (libc.so.6 + 0xe57f8)
                #1  0x00007768c52ea677 __GI___nanosleep (libc.so.6 + 0xea677)
                #2  0x00007768c52ea5ae __sleep (libc.so.6 + 0xea5ae)
                #3  0x000059cd106886f3 n/a (xdg-desktop-portal + 0x596f3)
                #4  0x00007768c5a73ab1 n/a (libglib-2.0.so.0 + 0x84ab1)
                #5  0x00007768c5294ac3 start_thread (libc.so.6 + 0x94ac3)
                #6  0x00007768c5326850 __clone3 (libc.so.6 + 0x126850)
                
                Stack trace of thread 22508:
                #0  0x00007768c5318bcf __GI___poll (libc.so.6 + 0x118bcf)
                #1  0x00007768c5a9a256 n/a (libglib-2.0.so.0 + 0xab256)
                #2  0x00007768c5a423e3 g_main_context_iteration (libglib-2.0.so.0 + 0x533e3)
                #3  0x00007768c5a42431 n/a (libglib-2.0.so.0 + 0x53431)
                #4  0x00007768c5a73ab1 n/a (libglib-2.0.so.0 + 0x84ab1)
                #5  0x00007768c5294ac3 start_thread (libc.so.6 + 0x94ac3)
                #6  0x00007768c5326850 __clone3 (libc.so.6 + 0x126850)
Comment 1 Malte S. Stretz 2024-06-21 20:47:13 UTC
The DrKonqi crash viewer does not pull the debug symbols, here is the same stack trace from gdb:

Thread 8 (Thread 0x7768c49ff640 (LWP 22508)):
#0  0x00007768c5318bcf in __GI___poll (fds=0x59cd11c23f80, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007768c5a9a256 in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0x59cd11c23f80, timeout=<optimized out>, context=0x59cd11c25590) at ../../../glib/gmain.c:4518
#2  g_main_context_iterate.constprop.0 (context=context@entry=0x59cd11c25590, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4208
#3  0x00007768c5a423e3 in g_main_context_iteration (context=0x59cd11c25590, may_block=may_block@entry=1) at ../../../glib/gmain.c:4278
#4  0x00007768c5a42431 in glib_worker_main (data=<optimized out>) at ../../../glib/gmain.c:6180
#5  0x00007768c5a73ab1 in g_thread_proxy (data=0x59cd11bf4360) at ../../../glib/gthread.c:827
#6  0x00007768c5294ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#7  0x00007768c5326850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 7 (Thread 0x7768bd3fd640 (LWP 22517)):
#0  0x00007768c52e57f8 in __GI___clock_nanosleep (clock_id=clock_id@entry=0, flags=flags@entry=0, req=req@entry=0x7768bd3fccb0, rem=rem@entry=0x7768bd3fccb0) at ../sysdeps/unix/sysv/linux/clock_nanosleep.c:78
#1  0x00007768c52ea677 in __GI___nanosleep (req=req@entry=0x7768bd3fccb0, rem=rem@entry=0x7768bd3fccb0) at ../sysdeps/unix/sysv/linux/nanosleep.c:25
#2  0x00007768c52ea5ae in __sleep (seconds=0, seconds@entry=5) at ../sysdeps/posix/sleep.c:55
#3  0x000059cd106886f3 in background_monitor (data=<optimized out>) at ../src/background.c:654
#4  0x00007768c5a73ab1 in g_thread_proxy (data=0x59cd11ce4980) at ../../../glib/gthread.c:827
#5  0x00007768c5294ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#6  0x00007768c5326850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 6 (Thread 0x7768bf7fe640 (LWP 26844)):
#0  0x00007768c5325e2e in epoll_wait (epfd=26, events=0x7768bf7fd880, maxevents=32, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1  0x00007768c4e18918 in  () at /usr/lib/x86_64-linux-gnu/spa-0.2/support/libspa-support.so
#2  0x00007768c4e0bd7c in  () at /usr/lib/x86_64-linux-gnu/spa-0.2/support/libspa-support.so
#3  0x00007768c56ee226 in  () at /lib/x86_64-linux-gnu/libpipewire-0.3.so.0
#4  0x00007768c5294ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#5  0x00007768c5326850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 5 (Thread 0x7768bffff640 (LWP 22509)):
#0  0x00007768c5318bcf in __GI___poll (fds=0x59cd11c92b70, nfds=4, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007768c5a9a256 in g_main_context_poll (priority=<optimized out>, n_fds=4, fds=0x59cd11c92b70, timeout=<optimized out>, context=0x59cd11c30150) at ../../../glib/gmain.c:4518
#2  g_main_context_iterate.constprop.0 (context=0x59cd11c30150, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4208
#3  0x00007768c5a442b3 in g_main_loop_run (loop=0x59cd11c30240) at ../../../glib/gmain.c:4413
#4  0x00007768c592a81a in gdbus_shared_thread_func (user_data=0x59cd11c22520) at ../../../gio/gdbusprivate.c:282
#5  0x00007768c5a73ab1 in g_thread_proxy (data=0x59cd11c185e0) at ../../../glib/gthread.c:827
#6  0x00007768c5294ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#7  0x00007768c5326850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 4 (Thread 0x7768c4e61cc0 (LWP 22502)):
#0  0x00007768c5318bcf in __GI___poll (fds=0x59cd11c4cbf0, nfds=3, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007768c5a9a256 in g_main_context_poll (priority=<optimized out>, n_fds=3, fds=0x59cd11c4cbf0, timeout=<optimized out>, context=0x59cd11c1dfb0) at ../../../glib/gmain.c:4518
#2  g_main_context_iterate.constprop.0 (context=0x59cd11c1dfb0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4208
#3  0x00007768c5a442b3 in g_main_loop_run (loop=0x59cd11c10770) at ../../../glib/gmain.c:4413
#4  0x000059cd10656a25 in main (argc=<optimized out>, argv=<optimized out>) at ../src/xdg-desktop-portal.c:496

Thread 3 (Thread 0x7768bdbfe640 (LWP 22516)):
#0  0x00007768c5325e2e in epoll_wait (epfd=15, events=0x7768bdbfd880, maxevents=32, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1  0x00007768c4e18918 in  () at /usr/lib/x86_64-linux-gnu/spa-0.2/support/libspa-support.so
#2  0x00007768c4e0bd7c in  () at /usr/lib/x86_64-linux-gnu/spa-0.2/support/libspa-support.so
#3  0x00007768c56ee226 in  () at /lib/x86_64-linux-gnu/libpipewire-0.3.so.0
#4  0x00007768c5294ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#5  0x00007768c5326850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 2 (Thread 0x7768be3ff640 (LWP 22514)):
#0  0x00007768c5318bcf in __GI___poll (fds=0x59cd11c6dd60, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007768c5a9a256 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x59cd11c6dd60, timeout=<optimized out>, context=0x59cd11c6ddf0) at ../../../glib/gmain.c:4518
#2  g_main_context_iterate.constprop.0 (context=context@entry=0x59cd11c6ddf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4208
#3  0x00007768c5a423e3 in g_main_context_iteration (context=context@entry=0x59cd11c6ddf0, may_block=may_block@entry=1) at ../../../glib/gmain.c:4278
#4  0x00007768c4e3133d in dconf_gdbus_worker_thread (user_data=0x59cd11c6ddf0) at ../gdbus/dconf-gdbus-thread.c:82
#5  0x00007768c5a73ab1 in g_thread_proxy (data=0x59cd11c6e000) at ../../../glib/gthread.c:827
#6  0x00007768c5294ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#7  0x00007768c5326850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 1 (Thread 0x7768a5ffb640 (LWP 26810)):
#0  0x00007768c41c6c15 in  () at /usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-protocol-native.so
#1  0x00007768c41cd92b in  () at /usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-protocol-native.so
#2  0x00007768c5723d42 in pw_proxy_destroy () at /lib/x86_64-linux-gnu/libpipewire-0.3.so.0
#3  0x000059cd106a343d in pipewire_remote_destroy (remote=0x7768b0011f60) at ../src/pipewire.c:225
#4  0x000059cd106a8e8a in handle_open_pipewire_remote (object=<optimized out>, invocation=0x7768b8015b20 [GDBusMethodInvocation], in_fd_list=<optimized out>, arg_session_handle=<optimized out>, arg_options=<optimized out>) at ../src/screen-cast.c:1005
#5  0x00007768c5433e2e in ffi_call_unix64 () at ../src/x86/unix64.S:105
#6  0x00007768c5430493 in ffi_call_int (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=<optimized out>) at ../src/x86/ffi64.c:672
#9  0x00007768c57e5624 in <emit signal ??? on instance 0x59cd11ce3230 [ScreenCast]> (node=<optimized out>, detail=0, instance=0x59cd11ce3230, emission_return=0x7768a5ffab40, instance_and_params=0x7768b000a030) at ../../../gobject/gsignal.c:3816
    #7  0x00007768c57d016d in g_cclosure_marshal_generic (closure=<optimized out>, return_gvalue=<optimized out>, n_param_values=<optimized out>, param_values=<optimized out>, invocation_hint=<optimized out>, marshal_data=<optimized out>) at ../../../gobject/gclosure.c:1534
    #8  0x00007768c57c9d2f in g_closure_invoke (closure=0x59cd11cfc450, return_value=0x7768a5ffaab0, n_param_values=5, param_values=0x7768b000a030, invocation_hint=0x7768a5ffaa90) at ../../../gobject/gclosure.c:830
#10 0x000059cd10672d54 in _xdp_dbus_screen_cast_skeleton_handle_method_call (connection=<optimized out>, sender=sender@entry=0x7768b8012310 ":1.165", object_path=object_path@entry=0x59cd11d0c4a0 "/org/freedesktop/portal/desktop", interface_name=interface_name@entry=0x7768b801b190 "org.freedesktop.portal.ScreenCast", method_name=method_name@entry=0x7768b800ad10 "OpenPipeWireRemote", parameters=parameters@entry=0x7768b0008580, invocation=0x7768b8015b20 [GDBusMethodInvocation], user_data=0x59cd11ce3230) at src/xdp-dbus.c:49660
#11 0x00007768c593a15e in dispatch_in_thread_func (task=<optimized out>, source_object=<optimized out>, task_data=0x7768ac01a100, cancellable=<optimized out>) at ../../../gio/gdbusinterfaceskeleton.c:540
#12 0x00007768c58c7194 in g_task_thread_pool_thread (thread_data=0x59cd11c1c180, pool_data=<optimized out>) at ../../../gio/gtask.c:1452
#13 0x00007768c5a76714 in g_thread_pool_thread_proxy (data=<optimized out>) at ../../../glib/gthreadpool.c:350
#14 0x00007768c5a73ab1 in g_thread_proxy (data=0x7768b00048c0) at ../../../glib/gthread.c:827
#15 0x00007768c5294ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#16 0x00007768c5326850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Comment 2 Malte S. Stretz 2024-06-21 20:53:05 UTC
I found a simpler way to trigger the crash which does not involve flatpak: Go to https://www.webrtc-experiment.com/Pluginfree-Screen-Sharing/ in Firefox (from the PPA) and try that.
Comment 3 Malte S. Stretz 2024-06-22 15:52:04 UTC
Accord to Nate Graham on the Neon Development channel does current Plamsa not work with the old 0.3 pipewire, at least not the jammy version (https://matrix.to/#/!tTRWOsgaQxxZMiAvdi:kde.org/$2w6AojIYScf4KaoIdoPNEAZCM7jDk851LuEQKXIvQOw). I did quick backport of the kinetic version 0.3.58 (instead of jammy's 0.3.48) and that makes KPipeWire crash instead (I saw crashes within xdg-desktop-portal-kde and plasmashell within minutes after the switch).
Comment 4 Malte S. Stretz 2024-06-23 10:45:01 UTC
The Ubuntu pipewire changelog is quite interesting:

pipewire (0.3.48-1ubuntu3) jammy; urgency=medium

  * Revert the previous change to resolve a regression with screencasting.
    Extra fixes are available upstream but figuring out the details will
    take longer (https://bugs.launchpad.net/ubuntu/+source/pipewire/+bug/1994928)

 -- Sebastien Bacher <seb128@ubuntu.com>  Wed, 09 Nov 2022 12:12:45 +0100

pipewire (0.3.48-1ubuntu2) jammy; urgency=medium

  * d/p/0001-buffers-ensure-buffer-size-does-not-exceed-maxsize.patch
    d/p/0002-gst-dequeue-a-shared-buffer-instead-of-original-pool.patch
    - Camera output freeze when using pipewiresrc (https://bugs.launchpad.net/ubuntu/+source/pipewire/+bug/1985057)

 -- Kai-Chuan Hsieh <kaichuan.hsieh@canonical.com>  Mon, 15 Aug 2022 13:52:20 +0800
Comment 5 Malte S. Stretz 2024-06-30 17:16:38 UTC
The crash is caused by the ancient Pipewire version in Ubuntu 22.04. This will be fixed once Neon is rebased on 24.04.

As a workaround one can install the packages from the PPA at https://pipewire-debian.github.io/pipewire-debian/

The install will fail due to a dependency issue unless one removes the pipewire-pulse package first (it is reinstalled automatically).

It is probably a good idea to downgrade pipewire before the upgrade to 24.04 is applied (eg. via ppa-purge).