elvetemedve / gnome-shell-extension-system-monitor

Gnome Shell extension for displaying resource usage
GNU General Public License v3.0
87 stars 15 forks source link

JS ERROR: Exception in callback for signal: updated: Error: Type name Gjs_Icon is already registered #23

Closed genodeftest closed 7 years ago

genodeftest commented 7 years ago

I'm getting this in my error logs, resulting in the extension not to work:

JS ERROR: Exception in callback for signal: updated: Error: Type name Gjs_Icon is already registered
 @/home/username/.local/share/gnome-shell/extensions/System_Monitor@bghome.gmail.com/indicator.js:13
 @/home/username/.local/share/gnome-shell/extensions/System_Monitor@bghome.gmail.com/factory.js:2
 @/home/username/.local/share/gnome-shell/extensions/System_Monitor@bghome.gmail.com/view.js:7
 @/home/username/.local/share/gnome-shell/extensions/System_Monitor@bghome.gmail.com/extension.js:4
genodeftest commented 7 years ago

I'm not sure about this but I think it happens after locking+unlocking the screen, when the extension is re-enabled.

elvetemedve commented 7 years ago

You can find that out quickly. Open Gnome Tweak Tool, disable it and enable again. If you see the same error, then it's happening during extension initialisation.

Which version of Gnome do you run?

genodeftest commented 7 years ago

I'm running GNOME 3.22 on Fedora 25, gnome-shell-3.22.2-2.fc25.x86_64.

I tried repeatedly enabling and disabling the extension. At the second, third, forth time I disable this extension, I get a completely different warning:

Dez 01 11:14:58 hostname gnome-shell[9258]: gsignal.c:2641: instance '0x556d2aa7ba10' has no handler with id '111996'
Dez 01 11:14:58 hostname gnome-shell[9258]: gsignal.c:2641: instance '0x556d2aa7ba10' has no handler with id '112239'
Dez 01 11:14:58 hostname gnome-shell[9258]: gsignal.c:2641: instance '0x556d2aa7ba10' has no handler with id '112443'
Dez 01 11:14:58 hostname gnome-shell[9258]: gsignal.c:2641: instance '0x556d2aa7ba10' has no handler with id '112686'
Dez 01 11:14:58 hostname gnome-shell[9258]: gsignal.c:2641: instance '0x556d2aa7ba10' has no handler with id '112687'
Dez 01 11:14:58 hostname gnome-shell[9258]: gsignal.c:2641: instance '0x556d2aa7ba10' has no handler with id '112891'
Dez 01 11:14:58 hostname gnome-shell[9258]: gsignal.c:2641: instance '0x556d2aa7ba10' has no handler with id '112892'
elvetemedve commented 7 years ago

@genodeftest I run the same version of Gnome Shell on Arch Linux and I haven't seen this error yet. I suggest you to report this problem to Fedora or Gnome.

genodeftest commented 7 years ago

@elvetemedve you're right about that, probably caused by some other extension. I just don't know which one and don't know a way to hunt it down. Gnome-shell design sucks (a bit, at least)… Do you have any idea on how I can find the cause?

elvetemedve commented 7 years ago

@genodeftest Gnome-shell extension design is very bad in my opinion and actually it applies to the Shell itself. I started to write this extension as a hobby project, but it was not fun towards the end. Half part of Shell the code base is written in C, while the other half is Javascript. It's not a problem so far, but when I make a mistake in Javascript code I expect to get an error on Javascript level referring to the line of code and variables I used wrongly. Sometimes that works, other times it prints C level errors (like you quoted above) into the log which does not help much. And that's just the tip of the iceberg.

I would suggest you to do the good old bisect method: Disable half of your extensions, use the Shell for a while and see if the issue come up again. If it disappears, you know that the faulty extension must be one of the disabled group, otherwise it's within the enabled group. You continue dividing the group, until you find the problematic extension. The other method would be to recompile Gnome Shell with debugging symbols in it and start the Shell by the gdb debugger and wait for the error to happen. That's the hard way.

genodeftest commented 7 years ago

So, the original issue (see title and first comment) is gone. After disabling all gnome-shell extensions I can now confirm that this extension does not cause the issue. Bisecting successful. Thank you for your patience ;)