Vityacv / window-list-mod

7 stars 2 forks source link

window-list-mod crashes and makes gnome unstable #6

Open freddyw opened 5 years ago

freddyw commented 5 years ago

Sort of linked to my previous bug report: https://github.com/Vityacv/window-list-mod/issues/3

It was kinda working, only needed to restart gnome-shell occassionaly. But lately (perhaps since the upgrade to Fedora30/gnome3.32) the crashes have become so frequent that it makes it unusable. I found out previously that there is some sort of incompatibility with the 'Extend Panel Menu' extension so I stopped using that. For testing sake I have tried the original Windows list extension and that works fine, gives me a very stable desktop. However, I really do not want a window list at the bottom, that's why I simply love the window-list-mod extension. I really want to use this together with the Mutli Monitors Add-on (https://extensions.gnome.org/extension/921/multi-monitors-add-on/) as I have 2 external monitors next to the laptop screen. The journalctl shows errors like these when things are starting to go wrong:

mei 17 19:08:40 laptop gnome-shell[6905]: JS ERROR: Error: Expected type object for Argument 'actor' but got type 'undefined' enablePanel@/home/freddyw/.local/share/gnome-shell/extensions/window-list-mod@vagonpop.gmail.com/extension.js:821:4 _onDestroy@/home/freddyw/.local/share/gnome-shell/extensions/window-list-mod@vagonpop.gmail.com/extension.js:1281:11 disable/<@/home/freddyw/.local/share/gnome-shell/extensions/window-list-mod@vagonpop.gmail.com/extension.js:1368:13 disable@/home/freddyw/.local/share/gnome-shell/extensions/window-list-mod@vagonpop.gmail.com/extension.js:1366:9 disableExtension@resource:///org/gnome/shell/ui/extensionSystem.js:79:9 disableAllExtensions/<@resource:///org/gnome/shell/ui/extensionSystem.js:350:13 disableAllExtensions@resource:///org/gnome/shell/ui/extensionSystem.js:349:9 _sessionUpdated@resource:///org/gnome/shell/ui/extensionSystem.js:367:9 _emit@resource:///org/gnome/gjs/modules/signals.js:142:27 _sync@resource:///org/gnome/shell/ui/sessionMode.js:202:9 pushMode@resource:///org/gnome/shell/ui/sessionMode.js:164:9 activate@resource:///org/gnome/shell/ui/screenShield.js:1269:17 lock@resource:///org/gnome/shell/ui/screenShield.js:1318:9 LockAsync@resource:///org/gnome/shell/ui/shellDBus.js:377:9 _handleMethodCall@resource:///org/gnome/gjs/modules/overrides/Gio.js:353:9 _wrapJSObject/<@resource:///org/gnome/gjs/modules/overrides/Gio.js:384:16 mei 17 19:08:40 laptop gnome-shell[6905]: Object St.Bin (0x55fcc06a6350), has been already deallocated — impossible to set any property on it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.

I have attached a more complete log of the journal. It shows a lot of stack traces after above error. I tried to outline the actions taken after a fresh start in the header of the file.

Any help would be greatly appreciated. journalctl.txt

Vityacv commented 5 years ago

Thanks for report. i tested fedora 30 with xserver and it works fine. Maybe there is a problem with wayland? I attached patched version of original "Window list" fedora extension that located at /usr/share/gnome-shell/extensions/window-list@gnome-shell-extensions.gcampax.github.com Maybe it can help. window-list-mod@vagonpop.gmail.com.zip

Vityacv commented 5 years ago

i tried "Multi Monitors Add-On" on archlinux (gnome 3.32.2) with window list mod and i don't receive crashes. What settings do you use in "Multi Monitors Add-On"?

freddyw commented 5 years ago

First of all thank you for looking into this. I am not using Wayland but X11/xserver. The crashes occur consistent upon screenlock. I tried your zipfile (no relevant differences) to no avail. My multi monitor settings: show indicator on top panel, show panel on additional monitors, show AppMenu-Button on additional monitors enabled, all others disabled.

I have tried to do some debugging myself (my knowledge regarding gnome-shell and extensions is very limited) and to me it seems things start going wrong in the enablePanel function, specifically on the remove/add_actor(clock) actions. As said, things start out fine after a fresh boot until the lockscreen/screensaver kicks in.