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
53 stars 10 forks source link

Crash when changing PIP window to show on all workspaces #16

Open jomra opened 1 year ago

jomra commented 1 year ago

With the "Show on all workspaces" setting disabled, if I try to open a PIP window and manually set it to always be on the visible workspace using Mutter's context menu, the setting fails to change. Additionally, attempting to close the PIP window after doing this results in a gnome-shell crash.

I've observed this using Zoom (where I originally discovered it) and was also able to reproduce it on a YouTube video

pip-crash.txt

Rafostar commented 1 year ago

What is your gnome-shell version? Does this stop happening when you disable this extension?

kaptcha0 commented 1 year ago

@Rafostar Can confirm. I'm running Ubuntu 23.04 with GNOME 44.2

Rafostar commented 1 year ago

Can someone check if this crash can also be triggered when using always on top and on all workspaces options from window context menu while extension is disabled?

kaptcha0 commented 1 year ago

@Rafostar It works fine when the extension is disabled.

lkraav commented 8 months ago

Gnome 45: I just ran into this crash as a first-time pip-on-top user.

Here's my coredumpctl debug, AMA:

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib64/libthread_db.so.1".
Core was generated by `/usr/bin/gnome-shell'.
Program terminated with signal SIGABRT, Aborted.
#0  0x00007fb9e20b2a4c in ?? () from /usr/lib64/libc.so.6
[Current thread is 1 (Thread 0x7fb9deaff580 (LWP 3504279))]
@(gdb) bt
#0  0x00007fb9e20b2a4c in  () at /usr/lib64/libc.so.6
#1  0x00007fb9e20651a2 in raise () at /usr/lib64/libc.so.6
#2  0x00005642dc260142 in dump_gjs_stack_on_signal_handler (signo=6) at ../gnome-shell-45.2/src/main.c:467
#3  0x00007fb9e2065240 in <signal handler called> () at /usr/lib64/libc.so.6
#4  0x00007fb9e20b2a4c in  () at /usr/lib64/libc.so.6
#5  0x00007fb9e20651a2 in raise () at /usr/lib64/libc.so.6
#6  0x00007fb9e204f4b2 in abort () at /usr/lib64/libc.so.6
#7  0x00007fb9e28eaf9e in  () at /usr/lib64/libglib-2.0.so.0
#8  0x00007fb9e2951aaa in g_assertion_message_expr () at /usr/lib64/libglib-2.0.so.0
#9  0x00007fb9e22fd184 in meta_window_unmanage (window=0x5642e0f0af20, timestamp=<optimized out>) at ../mutter-45.2/src/core/window.c:1554
#10 0x00007fb9e2367783 in meta_wayland_shell_surface_destroy_window (shell_surface=shell_surface@entry=0x5642e368a230) at ../mutter-45.2/src/wayland/meta-wayland-shell-surface.c:312
#11 0x00007fb9e2374fb1 in xdg_toplevel_destructor (resource=<optimized out>) at ../mutter-45.2/src/wayland/meta-wayland-xdg-shell.c:212
#12 0x00007fb9e14dced7 in  () at /usr/lib64/libwayland-server.so.0
#13 0x00007fb9e14dd5ae in wl_resource_destroy () at /usr/lib64/libwayland-server.so.0
#14 0x00007fb9e1a7effa in  () at /usr/lib64/libffi.so.8
#15 0x00007fb9e1a7e47e in  () at /usr/lib64/libffi.so.8
#16 0x00007fb9e1a7eb6d in ffi_call () at /usr/lib64/libffi.so.8
#17 0x00007fb9e14e2796 in  () at /usr/lib64/libwayland-server.so.0
#18 0x00007fb9e14ddc47 in  () at /usr/lib64/libwayland-server.so.0
#19 0x00007fb9e14e0912 in wl_event_loop_dispatch () at /usr/lib64/libwayland-server.so.0
#20 0x00007fb9e2354af7 in wayland_event_source_dispatch (base=<optimized out>, callback=<optimized out>, data=<optimized out>) at ../mutter-45.2/src/wayland/meta-wayland.c:124
#21 0x00007fb9e2924929 in  () at /usr/lib64/libglib-2.0.so.0
#22 0x00007fb9e29269a7 in  () at /usr/lib64/libglib-2.0.so.0
#23 0x00007fb9e292719f in g_main_loop_run () at /usr/lib64/libglib-2.0.so.0
#24 0x00007fb9e22e6015 in meta_context_run_main_loop (context=<optimized out>, error=0x7ffc844302b0) at ../mutter-45.2/src/core/meta-context.c:514
#25 0x00007fb9e1a7effa in  () at /usr/lib64/libffi.so.8
#26 0x00007fb9e1a7e47e in  () at /usr/lib64/libffi.so.8
#27 0x00007fb9e1a7eb6d in ffi_call () at /usr/lib64/libffi.so.8
#28 0x00007fb9e27c3f9b in  () at /usr/lib64/libgjs.so.0
#29 0x00007fb9e27c4842 in  () at /usr/lib64/libgjs.so.0
#30 0x00007fb9e07ad27e in  () at /usr/lib64/libmozjs-115.so.0
#31 0x00007fb9e079ee70 in  () at /usr/lib64/libmozjs-115.so.0
#32 0x00007fb9e07acfb3 in  () at /usr/lib64/libmozjs-115.so.0
#33 0x00007fb9e07ad3bf in  () at /usr/lib64/libmozjs-115.so.0
#34 0x00007fb9e07ad829 in  () at /usr/lib64/libmozjs-115.so.0
#35 0x00007fb9e0833d93 in JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) () at /usr/lib64/libmozjs-115.so.0
#36 0x00007fb9e27f81b0 in  () at /usr/lib64/libgjs.so.0
#37 0x00007fb9e27fb0f0 in  () at /usr/lib64/libgjs.so.0
#38 0x00007fb9e27fb22e in gjs_context_eval_module () at /usr/lib64/libgjs.so.0
#39 0x00007fb9e27fb349 in gjs_context_eval_module_file () at /usr/lib64/libgjs.so.0
#40 0x00005642dc25f9ff in main (argc=<optimized out>, argv=<optimized out>) at ../gnome-shell-45.2/src/main.c:708
@(gdb)