Skip to content
This repository has been archived by the owner on Dec 13, 2023. It is now read-only.

GNOME Shell complains about accessing disposable objects... #22

Open
guihkx opened this issue Feb 7, 2022 · 1 comment
Open

GNOME Shell complains about accessing disposable objects... #22

guihkx opened this issue Feb 7, 2022 · 1 comment

Comments

@guihkx
Copy link

guihkx commented Feb 7, 2022

... in specific scenarios. The error:

Object .Gjs_ui_slider_Slider (0x55ebefb9ad80), has been already disposed — impossible to access it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
../glib/gobject/gsignal.c:2654: instance '0x55ebefb9ad80' has no handler with id '17472'

To reproduce:

  1. Open a terminal window running journalctl -f to monitor errors.
  2. Open any app and preferably play a long video or audio (just to keep the same PulseAudio sink active while reproducing this, otherwise you can't trigger it).
  3. Disable the extension: gnome-extensions disable [email protected]
  4. Enable the extension: gnome-extensions enable [email protected]
  5. Move around the volume slider of the app opened in step number 2

Now go back to the terminal window of step 1 and notice the following errors:

Object .Gjs_ui_slider_Slider (0x55bca24aca00), has been already disposed  impossible to access it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
== Stack trace for context 0x55bca08181f0 ==
#0   55bca644f670 i   resource:///org/gnome/gjs/modules/core/overrides/GObject.js:574 (2b6e2e4bff60 @ 25)
#1   55bca644f5d8 i   resource:///org/gnome/shell/ui/status/volume.js:165 (907f4ce02e0 @ 31)
#2   55bca644f528 i   resource:///org/gnome/shell/ui/status/volume.js:172 (907f4ce0290 @ 106)
#3   7ffdedf76970 b   self-hosted:844 (2b6e2e4af9c0 @ 454)
== Stack trace for context 0x55bca08181f0 ==
#0   55bca644f670 i   resource:///org/gnome/shell/ui/barLevel.js:59 (6d70fad7510 @ 112)
#1   55bca644f5d8 i   resource:///org/gnome/shell/ui/status/volume.js:166 (907f4ce02e0 @ 47)
#2   55bca644f528 i   resource:///org/gnome/shell/ui/status/volume.js:172 (907f4ce0290 @ 106)
#3   7ffdedf76970 b   self-hosted:844 (2b6e2e4af9c0 @ 454)
== Stack trace for context 0x55bca08181f0 ==
#0   55bca644f670 i   resource:///org/gnome/shell/ui/barLevel.js:60 (6d70fad7510 @ 127)
#1   55bca644f5d8 i   resource:///org/gnome/shell/ui/status/volume.js:166 (907f4ce02e0 @ 47)
#2   55bca644f528 i   resource:///org/gnome/shell/ui/status/volume.js:172 (907f4ce0290 @ 106)
#3   7ffdedf76970 b   self-hosted:844 (2b6e2e4af9c0 @ 454)
== Stack trace for context 0x55bca08181f0 ==
#0   55bca644f670 i   resource:///org/gnome/gjs/modules/core/overrides/GObject.js:577 (2b6e2e4bff10 @ 25)
#1   55bca644f5d8 i   resource:///org/gnome/shell/ui/status/volume.js:167 (907f4ce02e0 @ 78)
#2   55bca644f528 i   resource:///org/gnome/shell/ui/status/volume.js:172 (907f4ce0290 @ 106)
#3   7ffdedf76970 b   self-hosted:844 (2b6e2e4af9c0 @ 454)
../glib/gobject/gsignal.c:2654: instance '0x55bca24aca00' has no handler with id '48653'
== Stack trace for context 0x55bca08181f0 ==
#0   55bca644f670 i   resource:///org/gnome/gjs/modules/core/overrides/GObject.js:574 (2b6e2e4bff60 @ 25)
#1   55bca644f5d8 i   resource:///org/gnome/shell/ui/status/volume.js:165 (907f4ce02e0 @ 31)
#2   55bca644f528 i   resource:///org/gnome/shell/ui/status/volume.js:172 (907f4ce0290 @ 106)
#3   7ffdedf76db0 b   self-hosted:844 (2b6e2e4af9c0 @ 454)
== Stack trace for context 0x55bca08181f0 ==
#0   55bca644f670 i   resource:///org/gnome/gjs/modules/core/overrides/GObject.js:577 (2b6e2e4bff10 @ 25)
#1   55bca644f5d8 i   resource:///org/gnome/shell/ui/status/volume.js:167 (907f4ce02e0 @ 78)
#2   55bca644f528 i   resource:///org/gnome/shell/ui/status/volume.js:172 (907f4ce0290 @ 106)
#3   7ffdedf76db0 b   self-hosted:844 (2b6e2e4af9c0 @ 454)
Object .Gjs_ui_slider_Slider (0x55bca24aca00), has been already disposed  impossible to access it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
Object .Gjs_ui_slider_Slider (0x55bca24aca00), has been already disposed  impossible to access it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
clutter_content_invalidate: assertion 'CLUTTER_IS_CONTENT (content)' failed
Object .Gjs_ui_slider_Slider (0x55bca24aca00), has been already disposed  impossible to access it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
../glib/gobject/gsignal.c:2696: instance '0x55bca24aca00' has no handler with id '48653'
Object .Gjs_ui_slider_Slider (0x55bca24aca00), has been already disposed  impossible to access it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
../glib/gobject/gsignal.c:2654: instance '0x55bca24aca00' has no handler with id '48653'
Object .Gjs_ui_slider_Slider (0x55bca24aca00), has been already disposed  impossible to access it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
../glib/gobject/gsignal.c:2696: instance '0x55bca24aca00' has no handler with id '48653'
  • OS: Arch Linux
  • GNOME: 41.3 (X11)
@guihkx
Copy link
Author

guihkx commented Feb 7, 2022

I noticed this behavior after a session unlock, because GNOME disables all extensions when you lock the session and re-enables them when you unlock it. So, that's why in the reproduction steps you have to disable it temporarily.

And because I have a persistent audio sink (Music Player Daemon), every time I'd move the volume slider, I'd notice a bunch of errors in the journal.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant