RaphaelRochet / arch-update

Update indicator for ArchLinux and Gnome-Shell
https://extensions.gnome.org/extension/1010/archlinux-updates-indicator/
GNU General Public License v3.0
231 stars 69 forks source link

Gtk.IconTheme.get_defaults(...) is null error #151

Closed jjgalvez closed 4 years ago

jjgalvez commented 4 years ago

Gtk.IconTheme.get_defaults(...) is null error gnome-shell 3.36.4

RaphaelRochet commented 4 years ago

Can't reproduce

davidmytton commented 4 years ago

I am also seeing this error. With gnome-shell-extension-arch-update 37-1. If I set "Use build-in icons" to true then it works fine, so there seems to be an issue with the call to Gtk.IconTheme.get_default.has_icon.

RaphaelRochet commented 4 years ago

On my up-to-date Arch, there's nothing, and theme icon works. Anything in log ? Using standard gnome theme ?

ckotte commented 4 years ago

May I ask where you can see the error? My extension just crashed (after the update and reboot) and I can't re-enable it. I cannot see anything with journalctl /usr/bin/gnome-shell.

P.S.: I cannot enable the extension if I don't enable "Use build-in icons". I use materia theme.

RaphaelRochet commented 4 years ago

You may have something in looking glass : Alt+F2, type "lg" then Enter, there's a tab "extensions" on top right, then a button "show errors" on Arch Update extension. If you switch to Adwaita theme, does this still happen ?

RaphaelRochet commented 4 years ago

I installed Materia theme and still working fine ... that's annoying I can't see what may be wrong here

ckotte commented 4 years ago

I disabled "Use build-in icons" and it didn't crash again yet. I will try to get more information via looking glass if it happens again.

davidmytton commented 4 years ago

I don't really know how to reproduce this either. It started after I installed some new themes but even switching back to the default still shows the error. I also tried resetting all settings in Gnome Tweak back to default and that didn't affect it. Here is the error in looking glass

image

jjgalvez commented 4 years ago

can confirm, setting use build-in icons works as a workaround

RaphaelRochet commented 4 years ago

Could it be related to Wayland (I use Xorg) or maybe only after a sleep/resume ?

ckotte commented 4 years ago

I can confirm now. I have the same error Gtk.IconTheme.get_defaults(...) is null in looking glass and I can't enable the extension anymore. I use Wayland. I'm not sure if it's related to sleep/resume as well. I just noticed that the icon disappeared.

Does the extension polls for the icon theme in an interval or only at start? If the extension runs, then I can enable/disable the option and nothing happens.

Btw. does it use the icons from the Icons theme configured in Tweaks? If yes, then it's Numix-Circle-Arc and not Materia.

RaphaelRochet commented 4 years ago

The check is done each time the icon changes, incl. at start or after resume. As an icon, it should be fetched from the icon theme indeed.

RaphaelRochet commented 4 years ago

Could you try latest master ? (74c90e0c73c9203a32b2ddcce1b9937c89345189) As I can't reproduce the bug, i can't tell myself if the fix is good ... I added a test that should prevent this. I'd really like to know why this is needed, but ... sometimes we can't :(

jjgalvez commented 4 years ago

Just tried the latest build from git (74c90e0) and the issues seems resolved no errors now, thank you

ckotte commented 4 years ago

I have "Use build-in Icons" enabled for one week and the extension is still working fine. With many resumes..

thilko commented 4 years ago

I can confirm the error.

Sep 14 22:33:58 thilko gnome-shell[1604]: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
Sep 14 22:33:58 thilko gnome-shell[1604]: JS ERROR: Extension arch-update@RaphaelRochet: TypeError: Gtk.IconTheme.get_default(...) is null
                                          _getCustIcon@/usr/share/gnome-shell/extensions/arch-update@RaphaelRochet/extension.js:85:43
                                          wrapper@resource:///org/gnome/gjs/modules/script/_legacy.js:82:27
                                          _updateStatus@/usr/share/gnome-shell/extensions/arch-update@RaphaelRochet/extension.js:349:37
                                          wrapper@resource:///org/gnome/gjs/modules/script/_legacy.js:82:27
                                          _applySettings@/usr/share/gnome-shell/extensions/arch-update@RaphaelRochet/extension.js:217:8
                                          wrapper@resource:///org/gnome/gjs/modules/script/_legacy.js:82:27
                                          _init@/usr/share/gnome-shell/extensions/arch-update@RaphaelRochet/extension.js:156:8
                                          wrapper@resource:///org/gnome/gjs/modules/script/_legacy.js:82:27
                                          enable@/usr/share/gnome-shell/extensions/arch-update@RaphaelRochet/extension.js:485:24
                                          _callExtensionEnable@resource:///org/gnome/shell/ui/extensionSystem.js:166:32
                                          loadExtension@resource:///org/gnome/shell/ui/extensionSystem.js:348:26
                                          _loadExtensions/<@resource:///org/gnome/shell/ui/extensionSystem.js:590:18
                                          collectFromDatadirs@resource:///org/gnome/shell/misc/fileUtils.js:27:17
                                          _loadExtensions@resource:///org/gnome/shell/ui/extensionSystem.js:569:19
                                          _enableAllExtensions@resource:///org/gnome/shell/ui/extensionSystem.js:599:18
                                          _sessionUpdated@resource:///org/gnome/shell/ui/extensionSystem.js:630:18
                                          init@resource:///org/gnome/shell/ui/extensionSystem.js:55:14
                                          _initializeUI@resource:///org/gnome/shell/ui/main.js:254:22
                                          start@resource:///org/gnome/shell/ui/main.js:143:5
                                          @<main>:1:47

If I enable "use build-in Icons" the the icon is shown and the extension seems to work.

My configuration:

RaphaelRochet commented 4 years ago

Can you install latest version from git @thilko ? It should fix this

gthomassen commented 4 years ago

I get this error with Wayland but not with X11

RaphaelRochet commented 4 years ago

That's interesting, and may be why I couldn't reproduce this (I use X11) Do you still have the error with latest version from git @gthomassen ?

gthomassen commented 4 years ago

That's interesting, and may be why I couldn't reproduce this (I use X11) Do you still have the error with latest version from git @gthomassen ?

It looks like the fix in git works fine on Wayland! Thank you @RaphaelRochet