daniellandau / switcher

Gnome Shell extension to switch windows quickly by typing
GNU General Public License v3.0
341 stars 43 forks source link

Switcher crashes when opened twice over an open "hide on lose focus" guake window on Wayland #165

Open brettk-git opened 3 months ago

brettk-git commented 3 months ago

The following steps lead to a complete crash and logout of Gnome (steps tested on a fresh Fedora 39 installation):

1) log in using Wayland (not Xorg); 2) install and enable the Switcher extension; 3) open a terminal, run "guake -p"; 4) in the "Main window" tab, check the "Hide on lose focus" option, close the preferences window; 5) in another terminal, type "guake-toggle" to make the guake window appear; 6) now the guake window has appeared, press Super+W to make the Switcher window appear; 7) at this point the guake window has disappeared by itself, which is normal; press Esc to make the Switcher window disappear as well; 8) repeat steps 5) and 6); now the crash occurs.

daniellandau commented 3 months ago

Would you have something in the logs? I'm wondering where the bug in that even is, guake, switcher, or gnome shell

brettk-git commented 3 months ago

I would think the bug may come from switcher, or from gnome-shell, or from both (I doubt it comes from guake). My logs show this

`gnome-shell[6225]: Object St.Icon (0x559545b1ecc0), has been already disposed — impossible to access it. This might be caused by the object having been destroyed from C code using something such as destro> == Stack trace for context 0x5595458dc390 ==

0 5595459a6b48 i file:///home/brettk/.local/share/gnome-shell/extensions/switcher@landau.fi/util.js:180 (11faa5b79c90 @ 29)

                                          #1   5595459a6a50 i   file:///home/brettk/.local/share/gnome-shell/extensions/switcher@landau.fi/modes/modeUtils.js:183 (3134655114c0 @ 839)
                                          #2   5595459a6988 i   file:///home/brettk/.local/share/gnome-shell/extensions/switcher@landau.fi/modes/switcher.js:76 (3134655f0880 @ 135)
                                          #3   5595459a68e0 i   file:///home/brettk/.local/share/gnome-shell/extensions/switcher@landau.fi/extension.js:122 (31346556fa60 @ 84)
                                          #4   7ffcae949870 b   self-hosted:221 (3350b5670970 @ 267)
                                          #5   5595459a6840 i   file:///home/brettk/.local/share/gnome-shell/extensions/switcher@landau.fi/extension.js:121 (313465536d30 @ 63)
                                          #6   5595459a67a8 i   file:///home/brettk/.local/share/gnome-shell/extensions/switcher@landau.fi/extension.js:217 (3134655a9d80 @ 164)
                                          #7   7ffcae94a330 b   file:///home/brettk/.local/share/gnome-shell/extensions/switcher@landau.fi/extension.js:225 (31346552ed80 @ 1031)
                                          #8   7ffcae94aa40 b   file:///home/brettk/.local/share/gnome-shell/extensions/switcher@landau.fi/extension.js:426 (11faa5b5a1f0 @ 6)
                                          #9   5595459a6718 i   resource:///org/gnome/shell/ui/init.js:21 (3350b5670ba0 @ 48)

gnome-shell[6225]: Object St.Icon (0x559545b1ecc0), has been already disposed — impossible to access it. This might be caused by the object having been destroyed from C code using something such as destro> == Stack trace for context 0x5595458dc390 ==

0 5595459a6a50 i file:///home/brettk/.local/share/gnome-shell/extensions/switcher@landau.fi/modes/modeUtils.js:184 (3134655114c0 @ 851)

                                          #1   5595459a6988 i   file:///home/brettk/.local/share/gnome-shell/extensions/switcher@landau.fi/modes/switcher.js:76 (3134655f0880 @ 135)
                                          #2   5595459a68e0 i   file:///home/brettk/.local/share/gnome-shell/extensions/switcher@landau.fi/extension.js:122 (31346556fa60 @ 84)
                                          #3   7ffcae949870 b   self-hosted:221 (3350b5670970 @ 267)
                                          #4   5595459a6840 i   file:///home/brettk/.local/share/gnome-shell/extensions/switcher@landau.fi/extension.js:121 (313465536d30 @ 63)
                                          #5   5595459a67a8 i   file:///home/brettk/.local/share/gnome-shell/extensions/switcher@landau.fi/extension.js:217 (3134655a9d80 @ 164)
                                          #6   7ffcae94a330 b   file:///home/brettk/.local/share/gnome-shell/extensions/switcher@landau.fi/extension.js:225 (31346552ed80 @ 1031)
                                          #7   7ffcae94aa40 b   file:///home/brettk/.local/share/gnome-shell/extensions/switcher@landau.fi/extension.js:426 (11faa5b5a1f0 @ 6)
                                          #8   5595459a6718 i   resource:///org/gnome/shell/ui/init.js:21 (3350b5670ba0 @ 48)

`

and then

audit[6225]: ANOM_ABEND auid=1001 uid=1001 gid=1001 ses=5 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 pid=6225 comm="gnome-shell" exe="/usr/bin/gnome-shell" sig=11 res=1 kernel: gnome-shell[6225]: segfault at 8 ip 00007f06fbcac100 sp 00007ffcae94a460 error 6 in libmutter-clutter-13.so.0.0.0[7f06fbc8d000+9a000] likely on CPU 4 (core 8, socket 0)

followed by a core dump.

Can you reproduce?