I've noticed the hamster extension disappearing a couple time over the last weeks. Yesterday this happened again, and I caught the following in the logs:
Mar 23 14:02:24 zozo gnome-shell[7334]: Source ID 2823 was not found when attempting to remove it
Mar 23 14:02:24 zozo gnome-shell[7334]: clutter_actor_remove_child: assertion 'child->priv->parent == self' failed
Mar 23 14:02:24 zozo gnome-shell[7334]: Window manager warning: Trying to remove non-existent keybinding "show-hamster-dropdown".
Mar 23 14:02:24 zozo gnome-shell[7334]: Shutting down hamster-shell-extension.
Mar 23 14:02:24 zozo gnome-shell[7334]: Extension contact@projecthamster.org: TypeError: this.panelWidget is null
Stack trace:
_removeWidget@file:///home/matthijs/.local/share/gnome-shell/extensions/contact@projecthamster.org/extension.js:278:47
disable@file:///home/matthijs/.local/share/gnome-shell/extensions/contact@projecthamster.org/extension.js:191:14
_callExtensionDisable@resource:///org/gnome/shell/ui/extensionSystem.js:216:32
_onEnabledExtensionsChanged@resource:///org/gnome/shell/ui/extensionSystem.js:642:24
async*_sessionUpdated@resource:///org/gnome/shell/ui/extensionSystem.js:833:20
ExtensionManager/<@resource:///org/gnome/shell/ui/extensionSystem.js:47:18
_callHandlers@resource:///org/gnome/gjs/modules/core/_signals.js:130:42
_emit@resource:///org/gnome/gjs/modules/core/_signals.js:119:10
_sync@resource:///org/gnome/shell/ui/sessionMode.js:209:14
pushMode@resource:///org/gnome/shell/ui/sessionMode.js:171:14
activate@resource:///org/gnome/shell/ui/screenShield.js:659:34
lock@resource:///org/gnome/shell/ui/screenShield.js:726:14
_prepareForSleep@resource:///org/gnome/shell/ui/screenShield.js:292:22
_callHandlers@resource:///org/gnome/gjs/modules/core/_signals.js:130:42
_emit@resource:///org/gnome/gjs/modules/core/_signals.js:119:10
_prepareForSleep@resource:///org/gnome/shell/misc/loginManager.js:212:14
_callHandlers@resource:///org/gnome/gjs/modules/core/_signals.js:130:42
_emit@resource:///org/gnome/gjs/modules/core/_signals.js:119:10
_convertToNativeSignal@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:152:19
@resource:///org/gnome/shell/ui/init.js:21:20
I am not sure if the first two entries are related, they might be from something else.
The above was logged directly after a system suspend was initiated. I recall that doing a screen lock disables all extensions, so likely hamster is being disabled because of that. In my gnome notifications panel I also see a notification about the hamster service not responding (but the timestamp is not accurate and I do not see this in journalctl, so I am not sure if this happened at the same time).
It is a bit weird that the keybinding error is before the "Shutting down" message, but looking at the code, that is just how things are ordered.
This looks a bit like #365, where this message also appears when the the dbus service disappears, but there it does not seem to correlate with suspending.
This was with a couple months old develop branch, running commit f7d9301 on Gnome 47 on Ubuntu 24.10.
Weirdly enough this now happened a couple times in a few weeks, while I did not see it at all before that, while I did not do any major updates to any related software (except regular security updates from Ubuntu).
I do not know if the hamster extension was actually displaying its UI before this suspend. I suspect that maybe it was not (still waiting for a dbus connection, so deferred_enable did not initialize things yet), so then there might be two issues here:
- Somehow the extension does not initialize on startup sometimes. I suspect this issue exists, but have not verified it.
- when disabling the extension before it is initialized, you get the above error. I see this issue exists in the code, and could be fixed with a check in
disable().
I've applied a possible fix for 2. locally (i.e. do not try disabling if panelWidget is already null), which should prevent the extension going into an error state in this case. This might also offer a workaround for 1., since (when gnome-shell does not see an error) you can re-enable the extension again to retry initialization. I'll see if I can catch this issue again and report back here.
I've noticed the hamster extension disappearing a couple time over the last weeks. Yesterday this happened again, and I caught the following in the logs:
I am not sure if the first two entries are related, they might be from something else.
The above was logged directly after a system suspend was initiated. I recall that doing a screen lock disables all extensions, so likely hamster is being disabled because of that. In my gnome notifications panel I also see a notification about the hamster service not responding (but the timestamp is not accurate and I do not see this in journalctl, so I am not sure if this happened at the same time).
It is a bit weird that the keybinding error is before the "Shutting down" message, but looking at the code, that is just how things are ordered.
This looks a bit like #365, where this message also appears when the the dbus service disappears, but there it does not seem to correlate with suspending.
This was with a couple months old develop branch, running commit f7d9301 on Gnome 47 on Ubuntu 24.10.
Weirdly enough this now happened a couple times in a few weeks, while I did not see it at all before that, while I did not do any major updates to any related software (except regular security updates from Ubuntu).
I do not know if the hamster extension was actually displaying its UI before this suspend. I suspect that maybe it was not (still waiting for a dbus connection, so deferred_enable did not initialize things yet), so then there might be two issues here:
disable().I've applied a possible fix for 2. locally (i.e. do not try disabling if
panelWidgetis already null), which should prevent the extension going into an error state in this case. This might also offer a workaround for 1., since (when gnome-shell does not see an error) you can re-enable the extension again to retry initialization. I'll see if I can catch this issue again and report back here.