Warnings logged about `OsdWindow._relayout()` trying to set properties on already-destroyed objects
I've caught this in my logs - running GNOME 3.30.0 on Fedora 29 - a few times:
Sep 22 17:16:51 adam.happyassassin.net gnome-shell[2255]: Object St.Icon (0x557a9070c0a0), has been already deallocated — impossible to set any property on it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
Sep 22 17:16:51 adam.happyassassin.net org.gnome.Shell.desktop[2255]: == Stack trace for context 0x557a8f8cb220 ==
Sep 22 17:16:51 adam.happyassassin.net org.gnome.Shell.desktop[2255]: #0 557a922a00a8 i resource:///org/gnome/shell/ui/osdWindow.js:223 (7f5467eb6c10 @ 231)
Sep 22 17:16:51 adam.happyassassin.net org.gnome.Shell.desktop[2255]: #1 7ffc28d8cdc0 b resource:///org/gnome/gjs/modules/_legacy.js:82 (7f54a80b0b80 @ 71)
Sep 22 17:16:51 adam.happyassassin.net org.gnome.Shell.desktop[2255]: #2 7ffc28d8ce80 b self-hosted:977 (7f54a80edaf0 @ 413)
Sep 22 17:16:51 adam.happyassassin.net org.gnome.Shell.desktop[2255]: #3 7ffc28d8cf70 b resource:///org/gnome/gjs/modules/signals.js:128 (7f54a80c18b0 @ 386)
Sep 22 17:16:51 adam.happyassassin.net org.gnome.Shell.desktop[2255]: #4 557a922a0020 i resource:///org/gnome/shell/ui/layout.js:530 (7f5467e00ca0 @ 127)
Sep 22 17:16:51 adam.happyassassin.net org.gnome.Shell.desktop[2255]: #5 7ffc28d8def0 b resource:///org/gnome/gjs/modules/_legacy.js:82 (7f54a80b0b80 @ 71)
Sep 22 17:16:51 adam.happyassassin.net org.gnome.Shell.desktop[2255]: #6 7ffc28d8eaf0 b self-hosted:977 (7f54a80edaf0 @ 413)
Sep 22 17:16:51 adam.happyassassin.net org.gnome.Shell.desktop[2255]: == Stack trace for context 0x557a8f8cb220 ==
Sep 22 17:16:51 adam.happyassassin.net org.gnome.Shell.desktop[2255]: #0 557a922a00a8 i resource:///org/gnome/shell/ui/osdWindow.js:224 (7f5467eb6c10 @ 273)
Sep 22 17:16:51 adam.happyassassin.net org.gnome.Shell.desktop[2255]: #1 7ffc28d8cdc0 b resource:///org/gnome/gjs/modules/_legacy.js:82 (7f54a80b0b80 @ 71)
Sep 22 17:16:51 adam.happyassassin.net org.gnome.Shell.desktop[2255]: #2 7ffc28d8ce80 b self-hosted:977 (7f54a80edaf0 @ 413)
Sep 22 17:16:51 adam.happyassassin.net org.gnome.Shell.desktop[2255]: #3 7ffc28d8cf70 b resource:///org/gnome/gjs/modules/signals.js:128 (7f54a80c18b0 @ 386)
Sep 22 17:16:51 adam.happyassassin.net org.gnome.Shell.desktop[2255]: #4 557a922a0020 i resource:///org/gnome/shell/ui/layout.js:530 (7f5467e00ca0 @ 127)
Sep 22 17:16:51 adam.happyassassin.net org.gnome.Shell.desktop[2255]: #5 7ffc28d8def0 b resource:///org/gnome/gjs/modules/_legacy.js:82 (7f54a80b0b80 @ 71)
Sep 22 17:16:51 adam.happyassassin.net org.gnome.Shell.desktop[2255]: #6 7ffc28d8eaf0 b self-hosted:977 (7f54a80edaf0 @ 413)
Sep 22 17:16:51 adam.happyassassin.net gnome-shell[2255]: Object St.BoxLayout (0x557a9070ab30), has been already deallocated — impossible to set any property on it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
This seems to be basically complaining about OsdWindow._relayout()
(from osdWindow.js
) - it seems to be happening in this bit:
this._icon.icon_size = popupSize / (2 * scaleFactor);
this._box.translation_y = Math.round(monitor.height / 4);
this._boxConstraint.minSize = popupSize;
it seems that it's possible that, by the time that code is reached, this._icon
and this._box
have already gone away. Not sure if the fix is as simple as wrapping those calls in if this._icon
and if this._box
, or if there's something else going on.