AstraExt / astra-monitor

Resource Monitor for GNOME shell
GNU General Public License v3.0
223 stars 12 forks source link

Extension crashes after upgrading to v26 #94

Closed nicocarbone closed 3 months ago

nicocarbone commented 3 months ago

Astra just upgraded and now it doesn't load in my Ubuntu 23.10 install. The extension manager says that the error is "Object 0x2f04cc7943e8 is not a subclass of GObject_Boxed, it's a Object".

See attached screenshot. Captura desde 2024-03-26 18-02-42

ljuzig commented 3 months ago

I need more details. Try to run apt show gnome-shell to check what's your exact gnome shell version. Also the details on that error could help a lot. Last but not least, could you provide the journalctl log of that crash? Thank you!

SSDGADsss commented 3 months ago

I have a same question on gnome 45.5, Here is my log when i install this extension This question happened when I update my Astra extension

Extension monitor@astraext.github.io: TypeError: Object 0x18906129e330 is not a subclass of GObject_Boxed, it's a Object

                                             Stack trace:
                                               createCheckedMethod/<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:730:46
                                               set@file:///home/shenzhe/.local/share/gnome-shell/extensions/monitor@astraext.github.io/src/config.js:34:29
                                               configUpdateFixes@file:///home/shenzhe/.local/share/gnome-shell/extensions/monitor@astraext.github.io/src/utils/utils.js:1766:24
                                               init@file:///home/shenzhe/.local/share/gnome-shell/extensions/monitor@astraext.github.io/src/utils/utils.js:46:15
                                               enable@file:///home/shenzhe/.local/share/gnome-shell/extensions/monitor@astraext.github.io/extension.js:35:15
                                               _callExtensionEnable@resource:///org/gnome/shell/ui/extensionSystem.js:253:38
                                               loadExtension@resource:///org/gnome/shell/ui/extensionSystem.js:461:32
                                               async*_onInstallButtonPressed@resource:///org/gnome/shell/ui/extensionDownloader.js:300:35
                                               async*addButton/<@resource:///org/gnome/shell/ui/dialog.js:134:41
                                               @resource:///org/gnome/shell/ui/init.js:21:20

My system environment : gnome 45.4 manjaro wayland

I need more details. Try to run apt show gnome-shell to check what's your exact gnome shell version. Also the details on that error could help a lot. Last but not least, could you provide the journalctl log of that crash? Thank you!

ljuzig commented 3 months ago

I'm currently away from my PC, if someone could try to insert this line to /utils/utils.js line number 33

        else if (type === 'json')
            Config.settings.set_string(key, JSON.stringify(value));

the result should be like this

        else if (type === 'number')
            Config.settings.set_double(key, value);
        else if (type === 'json')
            Config.settings.set_string(key, JSON.stringify(value));
        else
            Config.settings.set_value(key, value);

you should find the extension folder inside this path: ~/.local/share/gnome-shell/extensions

if someone of you is able to change that and confirm it's not crashing anymore I'm gonna issue a new release as soon as I can put my hands on my PC.

Thank you!

nicocarbone commented 3 months ago

Sorry if I am doing something wrong, but I no see a utils folder in my extension folder: Captura desde 2024-03-27 10-41-29

nicocarbone commented 3 months ago

This is the full stack trace:

`The settings of extension monitor@astraext.github.io had an error:

TypeError: Object 0x372b0d20ec60 is not a subclass of GObject_Boxed, it's a Object

Stack trace:

createCheckedMethod/<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:730:46
set@file:///home/nicolas/.local/share/gnome-shell/extensions/monitor@astraext.github.io/src/config.js:34:29
configUpdateFixes@file:///home/nicolas/.local/share/gnome-shell/extensions/monitor@astraext.github.io/src/utils/utils.js:1766:24
init@file:///home/nicolas/.local/share/gnome-shell/extensions/monitor@astraext.github.io/src/utils/utils.js:46:15
fillPreferencesWindow@file:///home/nicolas/.local/share/gnome-shell/extensions/monitor@astraext.github.io/prefs.js:59:15
_loadPrefs@resource:///org/gnome/Shell/Extensions/js/extensionPrefsDialog.js:39:18
async*_init@resource:///org/gnome/Shell/Extensions/js/extensionPrefsDialog.js:24:14
ExtensionPrefsDialog@resource:///org/gnome/Shell/Extensions/js/extensionPrefsDialog.js:15:4
OpenExtensionPrefsAsync@resource:///org/gnome/Shell/Extensions/js/extensionsService.js:139:33
async*LaunchExtensionPrefsAsync@resource:///org/gnome/Shell/Extensions/js/extensionsService.js:126:14
_handleMethodCall@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:373:35
_wrapJSObject/<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:408:34
_init/GLib.MainLoop.prototype.runAsync/</<@resource:///org/gnome/gjs/modules/core/overrides/GLib.js:266:34

`

ljuzig commented 3 months ago

Thank you everyone for reporting this, I was able to reproduce the bug, the issue was indeed the line I suggested to add:

        else if (type === 'json')
            Config.settings.set_string(key, JSON.stringify(value));

Wait for extensions.gnome.org to approve it or manually add the line above.

@nicocarbone the file is inside src/utils/utils.js (line number 33), i forgot to mention src folder before, sorry!

Another way to temporarily solve this issue is to manually delete the key /org/gnome/shell/extensions/astra-monitor/processor-menu-gpu if you have dconf editor or you are practical with dconf/gsettings. note: you'll have to manually set your GPU in Astra Monitor settings after this.

EDIT: The update is live on extensions.gnome.org so you should be able to update to the bugfree version already.