Assertion failure in provider_sink_removed_cb
While trying to gather more information for #156 (closed) I just ran into the following segfault (output from a GDB session, the program started and iirc it crashed before I could click anything):
gdb ./src/gnome-network-displays
GNU gdb (GDB) Fedora 9.2-7.fc33
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 ./src/gnome-network-displays...
(gdb) r
Starting program: /home/florian/sources/gnome-network-displays/build/src/gnome-network-displays
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffe73f1640 (LWP 22013)]
[New Thread 0x7fffe6bf0640 (LWP 22014)]
(gnome-network-displays:22007): GLib-GIO-DEBUG: 11:12:17.398: _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for ‘gio-vfs’
(gnome-network-displays:22007): GLib-DEBUG: 11:12:17.427: unsetenv() is not thread-safe and should not be used after threads are created
(gnome-network-displays:22007): Gtk-DEBUG: 11:12:17.427: Connecting to session manager
[New Thread 0x7fffe61d4640 (LWP 22015)]
[New Thread 0x7fffe59d3640 (LWP 22016)]
** (gnome-network-displays:22007): DEBUG: 11:12:17.474: NdScreencastPortal: Aquired Portal proxy
** (gnome-network-displays:22007): DEBUG: 11:12:17.474: task is: 0x78e570
** (gnome-network-displays:22007): DEBUG: 11:12:17.475: NdPulseaudio: Querying sink info by name
** (gnome-network-displays:22007): DEBUG: 11:12:17.475: NdPulseaudio: Error querying sink info
** (gnome-network-displays:22007): DEBUG: 11:12:17.475: NdPulseaudio: Got a sink info for the expected name
** (gnome-network-displays:22007): DEBUG: 11:12:17.477: NdScreencastPortal: Received CreateSession response
** (gnome-network-displays:22007): DEBUG: 11:12:17.477: simple variant lookup: /org/freedesktop/portal/desktop/session/1_348/gnd472474253
** (gnome-network-displays:22007): DEBUG: 11:12:17.487: WFDP2PRegistry: Found a new device, creating provider
** (gnome-network-displays:22007): DEBUG: 11:12:17.487: WFDP2PProvider: Found a new sink with peer 0xaaae80 on device 0xb2c1f0
** (gnome-network-displays:22007): DEBUG: 11:12:17.487: WFDP2PProvider: Found a new sink with peer 0xaaaf10 on device 0xb2c1f0
** (gnome-network-displays:22007): DEBUG: 11:12:17.487: WFDP2PProvider: Ignoring peer "MFC-J6935DW_BR0a07" (FE:01:7C:4A:8A:07) as it has no WFDIEs set
** (gnome-network-displays:22007): DEBUG: 11:12:17.487: WfdP2PProvider: Discover is now set to 1
** (gnome-network-displays:22007): DEBUG: 11:12:17.487: SinkList: Adding a sink
** (gnome-network-displays:22007): DEBUG: 11:12:17.488: SinkList: Adding a sink
** (gnome-network-displays:22007): DEBUG: 11:12:17.489: WFDP2PProvider: Ignoring peer "MFC-J6935DW_BR0a07" (FE:01:7C:4A:8A:07) as it has no WFDIEs set
** (gnome-network-displays:22007): DEBUG: 11:12:17.489: WFDP2PProvider: Found a new sink with peer 0xaaaf10 on device 0xb2c1f0
** (gnome-network-displays:22007): DEBUG: 11:12:17.489: WFDP2PProvider: Found a new sink with peer 0xaaae80 on device 0xb2c1f0
** (gnome-network-displays:22007): DEBUG: 11:12:17.493: NdScreencastPortal: Received SelectSource response
** (gnome-network-displays:22007): DEBUG: 11:12:17.497: WFDP2PRegistry: Got NMClient
[Thread 0x7fffe61d4640 (LWP 22015) exited]
** (gnome-network-displays:22007): DEBUG: 11:12:18.702: WFDP2PProvider: Peer removed
** (gnome-network-displays:22007): DEBUG: 11:12:18.703: WFDP2PProvider: Peer removed
** (gnome-network-displays:22007): DEBUG: 11:12:18.706: WFDP2PProvider: Peer removed
**
ERROR:../src/nd-meta-provider.c:145:provider_sink_removed_cb: assertion failed: (meta_sink != NULL)
Bail out! ERROR:../src/nd-meta-provider.c:145:provider_sink_removed_cb: assertion failed: (meta_sink != NULL)
Thread 1 "gnome-network-d" received signal SIGABRT, Aborted.
0x00007ffff6e3ebc5 in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x00007ffff6e3ebc5 in raise () at /lib64/libc.so.6
#1 0x00007ffff6e278a4 in abort () at /lib64/libc.so.6
#2 0x00007ffff7c78dec in g_assertion_message_expr.cold () at /lib64/libglib-2.0.so.0
#3 0x00007ffff7cd202b in g_assertion_message_expr () at /lib64/libglib-2.0.so.0
#4 0x000000000040f10c in provider_sink_removed_cb (meta_provider=0xa67000, sink=0x66b8e0, provider=0xad38c0) at ../src/nd-meta-provider.c:145
#5 0x00007ffff7d9e632 in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#6 0x00007ffff7dc7023 in signal_emit_unlocked_R.isra.0 () at /lib64/libgobject-2.0.so.0
#7 0x00007ffff7dbb162 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#8 0x00007ffff7dbb599 in g_signal_emit_by_name () at /lib64/libgobject-2.0.so.0
#9 0x000000000041163f in peer_removed_cb (provider=0xad38c0, peer=0xaaae80, device=0xb2c1f0) at ../src/nd-wfd-p2p-provider.c:93
#10 0x00007ffff7d9e632 in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#11 0x00007ffff7dc7023 in signal_emit_unlocked_R.isra.0 () at /lib64/libgobject-2.0.so.0
#12 0x00007ffff7dbb162 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#13 0x00007ffff7dbb37f in g_signal_emit () at /lib64/libgobject-2.0.so.0
#14 0x00007ffff73d7550 in _nm_client_notify_event_queue_emit_obj_signal_cb () at /lib64/libnm.so.0
#15 0x00007ffff73d0851 in _nm_client_notify_event_emit_parts () at /lib64/libnm.so.0
#16 0x00007ffff73de02b in _dbus_handle_changes_commit () at /lib64/libnm.so.0
#17 0x00007ffff73e03c1 in _dbus_properties_changed_cb () at /lib64/libnm.so.0
#18 0x00007ffff7edc3eb in emit_signal_instance_in_idle_cb () at /lib64/libgio-2.0.so.0
#19 0x00007ffff7cad117 in g_idle_dispatch () at /lib64/libglib-2.0.so.0
#20 0x00007ffff7cadff7 in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#21 0x00007ffff7cfebb8 in g_main_context_iterate.constprop () at /lib64/libglib-2.0.so.0
#22 0x00007ffff7cab41f in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#23 0x00007ffff7eb93e5 in g_application_run () at /lib64/libgio-2.0.so.0
#24 0x0000000000409b1b in main (argc=1, argv=0x7fffffffdb48) at ../src/main.c:92
Edited by Benjamin Berg