Crash after opening any portal window on {X11|Wayland}, then opening another portal window on {Wayland|X11}
Title.
If I open e.g. the filechooser on an X11 app, then a filechooser on a Wayland (or vice-versa), xdg-desktop-portal-gnome crashes.
GDB of the X11 crash
Core was generated by `/usr/lib/xdg-desktop-portal-gnome'.
Program terminated with signal SIGTRAP, Trace/breakpoint trap.
#0 0x00007fcab514e4b8 in g_log_writer_default () from /usr/lib/libglib-2.0.so.0
[Current thread is 1 (Thread 0x7fcab364a8c0 (LWP 172683))]
(gdb) bt
#0 0x00007fcab514e4b8 in g_log_writer_default () at /usr/lib/libglib-2.0.so.0
#1 0x00007fcab514a1c5 in g_log_structured_array () at /usr/lib/libglib-2.0.so.0
#2 0x00007fcab514a3c1 in g_log_structured_standard () at /usr/lib/libglib-2.0.so.0
#3 0x00007fcab4b058e6 in _gdk_x11_display_error_event (display=display@entry=0x5643faf00a00, error=error@entry=0x7ffe112afaa0) at ../gdk/x11/gdkdisplay-x11.c:2464
#4 0x00007fcab4b2639b in gdk_x_error (error=0x7ffe112afaa0, xdisplay=0x5643fafa9800) at ../gdk/x11/gdkmain-x11.c:241
#5 gdk_x_error (xdisplay=0x5643fafa9800, error=0x7ffe112afaa0) at ../gdk/x11/gdkmain-x11.c:203
#6 0x00007fcab42fba35 in _XError () at /usr/lib/libX11.so.6
#7 0x00007fcab09fc58b in () at /usr/lib/libGLX.so.0
#8 0x00007fcab09fce0c in () at /usr/lib/libGLX.so.0
#9 0x00007fcab4b0a01f in gdk_x11_gl_context_glx_make_current (context=0x5643fa9f93c0, surfaceless=1) at ../gdk/x11/gdkglcontext-glx.c:236
#10 0x00007fcab4acb1af in gdk_gl_context_make_current (context=0x5643fa9f93c0) at ../gdk/gdkglcontext.c:1203
#11 0x00007fcab4b4f1cc in gsk_ngl_driver_for_display (display=0x5643faf00a00, debug_shaders=0, error=0x7ffe112afe00) at ../gsk/ngl/gskngldriver.c:488
#12 0x00007fcab4b46a07 in gsk_ngl_renderer_realize (renderer=0x5643fb2f69d0, surface=0x5643fb2ec4b0, error=0x7ffe112afe00) at ../gsk/ngl/gsknglrenderer.c:112
#13 0x00007fcab4b2e902 in gsk_renderer_realize (renderer=renderer@entry=0x5643fb2f69d0, surface=surface@entry=0x5643fb2ec4b0, error=error@entry=0x7ffe112afe00) at ../gsk/gskrenderer.c:304
#14 0x00007fcab4b2f176 in gsk_renderer_new_for_surface (surface=surface@entry=0x5643fb2ec4b0) at ../gsk/gskrenderer.c:646
#15 0x00007fcab49bf408 in gtk_window_realize (widget=0x5643fb1562c0) at ../gtk/gtkwindow.c:4325
#16 0x00007fcab480c5d9 in gtk_file_chooser_dialog_realize (widget=0x5643fb1562c0) at ../gtk/gtkfilechooserdialog.c:594
#17 0x00007fcab4f051c0 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#18 0x00007fcab4f05330 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#19 0x00007fcab49b13d1 in gtk_widget_realize (widget=0x5643fb1562c0) at ../gtk/gtkwidget.c:3448
#20 0x00005643f8a79d5c in handle_open (object=0x5643f9355930, invocation=0x5643fae90340, arg_handle=0x7fca9c0618a0 "/org/freedesktop/portal/desktop/request/1_941/tdesktop3487345769", arg_app_id=0x5643faf557e0 "org.telegram.desktop", arg_parent_window=0x5643faf53140 "x11:1400006", arg_title=0x5643fae8b2d0 "Escolher Arquivos", arg_options=0x5643fafa8830) at ../src/filechooser.c:618
#21 0x00007fcab3eb5acd in () at /usr/lib/libffi.so.7
#22 0x00007fcab3eb503a in () at /usr/lib/libffi.so.7
#23 0x00007fcab4eedb2e in g_cclosure_marshal_generic () at /usr/lib/libgobject-2.0.so.0
#24 0x00007fcab4ee7d8f in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#25 0x00007fcab4f03718 in () at /usr/lib/libgobject-2.0.so.0
#26 0x00005643f8a4169f in _xdp_impl_file_chooser_skeleton_handle_method_call (connection=0x5643f92ac0c0, sender=0x7fca9c06d6c0 ":1.85", object_path=0x7fca9c0c12b0 "/org/freedesktop/portal/desktop", interface_name=0x7fca9c0e52c0 "org.freedesktop.impl.portal.FileChooser", method_name=0x7fca9c0e5320 "OpenFile", parameters=0x5643fafa60f0, invocation=0x5643fae90340, user_data=0x5643f9355930) at src/xdg-desktop-portal-dbus.c:4309
#27 0x00007fcab50413ad in () at /usr/lib/libgio-2.0.so.0
#28 0x00007fcab5026e3d in () at /usr/lib/libgio-2.0.so.0
#29 0x00007fcab51433e5 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#30 0x00007fcab5197749 in () at /usr/lib/libglib-2.0.so.0
#31 0x00007fcab5142a63 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#32 0x00005643f8a9072e in main (argc=1, argv=0x7ffe112b0b48) at ../src/xdg-desktop-portal-gnome.c:254
GDB of the Wayland crash
Core was generated by `/usr/lib/xdg-desktop-portal-gnome'.
Program terminated with signal SIGABRT, Aborted.
#0 0x00007febc267fd22 in raise () from /usr/lib/libc.so.6
[Current thread is 1 (Thread 0x7febc1ba18c0 (LWP 296434))]
(gdb) bt
#0 0x00007febc267fd22 in raise () at /usr/lib/libc.so.6
#1 0x00007febc2669862 in abort () at /usr/lib/libc.so.6
#2 0x00007febc2224cee in () at /usr/lib/libepoxy.so.0
#3 0x00007febc2224d30 in () at /usr/lib/libepoxy.so.0
#4 0x00007febc2227c3f in () at /usr/lib/libepoxy.so.0
#5 0x00007febc30490fa in gdk_wayland_gl_context_end_frame (draw_context=<optimized out>, painted=0x5560365bf290) at ../gdk/wayland/gdkglcontext-wayland.c:336
#6 0x00007febc3016f5c in gdk_draw_context_end_frame (context=0x55603667e070) at ../gdk/gdkdrawcontext.c:399
#7 0x00007febc309d6e1 in gsk_ngl_renderer_render (renderer=0x55603667e310, root=0x55603765ca80, update_area=<optimized out>) at ../gsk/ngl/gsknglrenderer.c:220
#8 0x00007febc3085ee1 in gsk_renderer_render (renderer=0x55603667e310, root=0x55603765ca80, region=<optimized out>) at ../gsk/gskrenderer.c:453
#9 0x00007febc2f0ad36 in gtk_widget_render (widget=<optimized out>, surface=surface@entry=0x5560356260e0, region=region@entry=0x5560375fea90) at ../gtk/gtkwidget.c:11689
#10 0x00007febc2f11ed5 in surface_render (surface=surface@entry=0x5560356260e0, region=region@entry=0x5560375fea90, widget=<optimized out>) at ../gtk/gtkwindow.c:4720
#11 0x00007febc3004d24 in _gdk_marshal_BOOLEAN__BOXEDv (closure=0x5560375370a0, return_value=0x7ffd8e96e0b0, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x55603516e750) at gdk/gdkmarshalers.c:130
#12 0x00007febc345c1c0 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#13 0x00007febc345c330 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#14 0x00007febc302ff37 in gdk_surface_process_updates_internal (surface=0x5560356260e0) at ../gdk/gdksurface.c:1272
#15 gdk_surface_paint_on_clock (clock=<optimized out>, data=<optimized out>) at ../gdk/gdksurface.c:1360
#16 0x00007febc345c1c0 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#17 0x00007febc345c330 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#18 0x00007febc301e9ff in _gdk_frame_clock_emit_paint (frame_clock=<optimized out>) at ../gdk/gdkframeclock.c:709
#19 0x00007febc301f4c8 in gdk_frame_clock_paint_idle (data=<optimized out>) at ../gdk/gdkframeclockidle.c:606
#20 0x00007febc369aa84 in () at /usr/lib/libglib-2.0.so.0
#21 0x00007febc369a3e5 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#22 0x00007febc36ee749 in () at /usr/lib/libglib-2.0.so.0
#23 0x00007febc3699a63 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#24 0x0000556033ffc72e in main (argc=1, argv=0x7ffd8e96e7b8) at ../src/xdg-desktop-portal-gnome.c:254