Rafostar / gnome-shell-extension-pip-on-top

Makes "Picture-in-Picture" windows stay on top (even on Wayland session). Compatible with Firefox, but may work with few other browsers too.
GNU General Public License v2.0
60 stars 12 forks source link

PiP on top extension crashes Mutter #22

Open stransky opened 10 months ago

stransky commented 10 months ago

I was redirected to report it there. Original Mutter issue: https://gitlab.gnome.org/GNOME/mutter/-/issues/3228

If https://extensions.gnome.org/extension/4691/pip-on-top/ PIP extension is installed on Fedora 39 and PIP is used by Firefox, when PIP window is closed while Mutter session crashes:

#9  0x00007f7a0a920056 in g_assertion_message
    (domain=domain@entry=0x7f7a09fc1014 "libmutter", file=file@entry=0x7f7a09fd9cf2 "../src/core/window.c", line=line@entry=1554, func=func@entry=0x7f7a09fdb640 <__func__.55> "meta_window_unmanage", message=message@entry=0x557dd8f74400 "assertion failed: (g_list_find (workspace->windows, window) == NULL)") at ../glib/gtestutils.c:3497
#10 0x00007f7a0a981ad7 in g_assertion_message_expr
    (domain=domain@entry=0x7f7a09fc1014 "libmutter", file=file@entry=0x7f7a09fd9cf2 "../src/core/window.c", line=line@entry=1554, func=func@entry=0x7f7a09fdb640 <__func__.55> "meta_window_unmanage", expr=expr@entry=0x7f7a09fdb000 "g_list_find (workspace->windows, window) == NULL") at ../glib/gtestutils.c:3523
#11 0x00007f7a09ef80d2 in meta_window_unmanage (window=0x557dd8ba17f0, timestamp=<optimized out>) at ../src/core/window.c:1554
#12 0x00007f7a09f6f568 in meta_wayland_shell_surface_destroy_window (shell_surface=<optimized out>) at ../src/wayland/meta-wayland-shell-surface.c:312
#13 0x00007f7a09f74b9d in xdg_toplevel_destructor (resource=<optimized out>) at ../src/wayland/meta-wayland-xdg-shell.c:212
#14 0x00007f7a07f14791 in destroy_resource () at /lib64/libwayland-server.so.0
#15 0x00007f7a07f1672a in wl_resource_destroy () at /lib64/libwayland-server.so.0
#16 0x00007f7a092dd056 in ffi_call_unix64 () at /lib64/libffi.so.8
#17 0x00007f7a092d95ef in ffi_call_int.lto_priv () at /lib64/libffi.so.8
#18 0x00007f7a092dc3fe in ffi_call () at /lib64/libffi.so.8
#19 0x00007f7a07f11843 in wl_closure_invoke.constprop () at /lib64/libwayland-server.so.0
#20 0x00007f7a07f160b4 in wl_client_connection_data () at /lib64/libwayland-server.so.0
#21 0x00007f7a07f148e2 in wl_event_loop_dispatch () at /lib64/libwayland-server.so.0
#22 0x00007f7a09f5590b in wayland_event_source_dispatch (base=<optimized out>, callback=<optimized out>, data=<optimized out>) at ../src/wayland/meta-wayland.c:124
#23 0x00007f7a0a95be5c in g_main_dispatch (context=0x557dd30039c0) at ../glib/gmain.c:3476
#24 g_main_context_dispatch_unlocked (context=0x557dd30039c0) at ../glib/gmain.c:4284
#25 0x00007f7a0a9b6f18 in g_main_context_iterate_unlocked.isra.0 (context=0x557dd30039c0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4349
#26 0x00007f7a0a95d447 in g_main_loop_run (loop=0x557dd37585a0) at ../glib/gmain.c:4551

Reproduction steps:

Install PIP extension Play Firefox YT video, make it PIP Switch clips Close PIP

Crashes in 1 of 10 cases.

EPOCHvoyager commented 4 months ago

Same issue here in Mutter 46.2 - reproducible every time when selecting 'Back to Tab' in a FreeTube Flatpak PiP.

lufog commented 2 months ago

I noticed that Gnome crashes if I close the PiP window of Chromium launched via XWayland. It would probably be nice to add some kind of check to the extension so that it does not try to apply to non-Wayland windows.