Window actors call update_stage_views() without allocation after non-interactive resize on X11
Affected version
GNOME Shell 43.1 on Manjaro Linux (X11)
Bug summary
After upgrading to GNOME 43.1 the other night, Pop! Shell no longer works as expected, and windows render incorrectly in various ways (see screenshots below for examples). Minimising windows causes an image of the minimised window to remain overlaid on top of the window now taking up the full screen. This seems to not be exclusive to Pop! Shell, but also appears to happen when using other window tiling extensions such as Material Shell and Forge. An issue was opened on the Pop! Shell github repository, where it was recommended that the issue be taken here instead. Other problems noted in the linked thread include scroll bars not working properly, and instead freezing the contents of the window until the bar is released.
Steps to reproduce
- Run GNOME Shell 43.1
- Activate window tiling extension such as Pop! Shell, Material Shell, or Forge.
- Manipulate tiled windows (opening, closing, minimising, maximising, etc.)
Relevant logs, screenshots, screencasts etc.
In this first image, I had the terminal fullscreened on one monitor with the Extensions window floating over it, and this is the result when I activated Pop! Shell:
I also opened the screenshot in Krita to save it, with a Firefox window open to the left (each window tiled to take half the screen). Minimising the Krita window had the following result: (Other tabs pixelised by me, so not part of the issue)
After running the following command, I opened Extensions, activated Pop! Shell, and minimised one of my two Firefox windows. The results were essentially the same as pictured above. I then deactivated Pop! Shell before terminating the command.
➜ ~ journalctl -f _COMM=gnome-shell
nov 06 17:56:14 BALVEDA gnome-shell[2249]: == Stack trace for context 0x561121245190 ==
nov 06 17:56:14 BALVEDA gnome-shell[2249]: #0 7ffcf25d5410 b resource:///org/gnome/shell/ui/windowPreview.js:566 (121b70c2f10 @ 10)
nov 06 17:56:14 BALVEDA gnome-shell[2249]: == Stack trace for context 0x561121245190 ==
nov 06 17:56:14 BALVEDA gnome-shell[2249]: #0 7ffcf25d5410 b resource:///org/gnome/shell/ui/windowPreview.js:567 (121b70c2f10 @ 36)
nov 06 17:56:14 BALVEDA gnome-shell[2249]: == Stack trace for context 0x561121245190 ==
nov 06 17:56:14 BALVEDA gnome-shell[2249]: #0 7ffcf25d5410 b resource:///org/gnome/shell/ui/windowPreview.js:570 (121b70c2f10 @ 77)
nov 06 17:56:14 BALVEDA gnome-shell[2249]: Object St.Label (0x5611238f7f40), has been already disposed — impossible to get any property from it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
nov 06 17:56:14 BALVEDA gnome-shell[2249]: Object .Gjs_ui_windowPreview_WindowPreview (0x561121f509f0), has been already disposed — impossible to get any property from it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
nov 06 18:01:30 BALVEDA gnome-shell[2249]: Can't update stage views actor <unnamed>[<MetaWindowActorX11>:0x56112d039d40] is on because it needs an allocation.
nov 06 18:01:30 BALVEDA gnome-shell[2249]: Can't update stage views actor <unnamed>[<MetaSurfaceActorX11>:0x56112353d770] is on because it needs an allocation.
nov 06 18:02:03 BALVEDA gnome-shell[2249]: Received error from D-Bus search provider org.gnome.Terminal.desktop: Gio.DBusError: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Object does not exist at path “/org/gnome/Terminal/SearchProvider”
nov 06 18:02:03 BALVEDA gnome-shell[2249]: Received error from D-Bus search provider org.gnome.Terminal.desktop: Gio.DBusError: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Object does not exist at path “/org/gnome/Terminal/SearchProvider”
nov 06 18:02:04 BALVEDA gnome-shell[2249]: Window manager warning: Buggy client sent a _NET_ACTIVE_WINDOW message with a timestamp of 0 for 0x5400004
nov 06 18:02:04 BALVEDA gnome-shell[2249]: Window manager warning: Buggy client sent a _NET_ACTIVE_WINDOW message with a timestamp of 0 for 0x5400004
nov 06 18:02:18 BALVEDA gnome-shell[2249]: Source ID 60716 was not found when attempting to remove it
nov 06 18:02:18 BALVEDA gnome-shell[2249]: failed to get settings for org.gnome.shell.extensions.pop-cosmic: Error: GSettings schema org.gnome.shell.extensions.pop-cosmic not found
nov 06 18:02:19 BALVEDA gnome-shell[2249]: Can't update stage views actor <unnamed>[<MetaWindowActorX11>:0x561122c04220] is on because it needs an allocation.
nov 06 18:02:19 BALVEDA gnome-shell[2249]: Can't update stage views actor <unnamed>[<MetaSurfaceActorX11>:0x56112353ccc0] is on because it needs an allocation.
nov 06 18:02:19 BALVEDA gnome-shell[2249]: Can't update stage views actor <unnamed>[<MetaWindowActorX11>:0x56112ead2a40] is on because it needs an allocation.
nov 06 18:02:19 BALVEDA gnome-shell[2249]: Can't update stage views actor <unnamed>[<MetaSurfaceActorX11>:0x56112353c930] is on because it needs an allocation.
nov 06 18:02:19 BALVEDA gnome-shell[2249]: Can't update stage views actor <unnamed>[<MetaWindowActorX11>:0x56112d039d40] is on because it needs an allocation.
nov 06 18:02:19 BALVEDA gnome-shell[2249]: Can't update stage views actor <unnamed>[<MetaSurfaceActorX11>:0x56112353d770] is on because it needs an allocation.
nov 06 18:02:19 BALVEDA gnome-shell[2249]: Can't update stage views actor <unnamed>[<MetaWindowActorX11>:0x561124d2cde0] is on because it needs an allocation.
nov 06 18:02:19 BALVEDA gnome-shell[2249]: Can't update stage views actor <unnamed>[<MetaSurfaceActorX11>:0x56112353d050] is on because it needs an allocation.
nov 06 18:02:19 BALVEDA gnome-shell[2249]: Window manager warning: Overwriting existing binding of keysym ff54 with keysym ff54 (keycode 74).
nov 06 18:02:19 BALVEDA gnome-shell[2249]: Window manager warning: Overwriting existing binding of keysym ff51 with keysym ff51 (keycode 71).
nov 06 18:02:19 BALVEDA gnome-shell[2249]: Window manager warning: Overwriting existing binding of keysym ff53 with keysym ff53 (keycode 72).
nov 06 18:02:19 BALVEDA gnome-shell[2249]: Window manager warning: Overwriting existing binding of keysym 6f with keysym 6f (keycode 20).
nov 06 18:02:19 BALVEDA gnome-shell[2249]: Window manager warning: Overwriting existing binding of keysym 6c with keysym 6c (keycode 2e).
nov 06 18:02:19 BALVEDA gnome-shell[2249]: Window manager warning: Overwriting existing binding of keysym ff52 with keysym ff52 (keycode 6f).
nov 06 18:02:23 BALVEDA gnome-shell[2249]: Can't update stage views actor <unnamed>[<MetaWindowActorX11>:0x56112ead2a40] is on because it needs an allocation.
nov 06 18:02:23 BALVEDA gnome-shell[2249]: Can't update stage views actor <unnamed>[<MetaSurfaceActorX11>:0x56112353c930] is on because it needs an allocation.
nov 06 18:02:23 BALVEDA gnome-shell[2249]: Can't update stage views actor <unnamed>[<MetaWindowActorX11>:0x561122c04220] is on because it needs an allocation.
nov 06 18:02:23 BALVEDA gnome-shell[2249]: Can't update stage views actor <unnamed>[<MetaSurfaceActorX11>:0x56112353ccc0] is on because it needs an allocation.
nov 06 18:02:26 BALVEDA gnome-shell[2249]: Can't update stage views actor <unnamed>[<MetaWindowActorX11>:0x56112d039d40] is on because it needs an allocation.
nov 06 18:02:26 BALVEDA gnome-shell[2249]: Can't update stage views actor <unnamed>[<MetaSurfaceActorX11>:0x56112353d770] is on because it needs an allocation.
nov 06 18:02:37 BALVEDA gnome-shell[2249]: Can't update stage views actor <unnamed>[<MetaWindowActorX11>:0x56112ead2a40] is on because it needs an allocation.
nov 06 18:02:37 BALVEDA gnome-shell[2249]: Can't update stage views actor <unnamed>[<MetaSurfaceActorX11>:0x56112353c930] is on because it needs an allocation.
nov 06 18:02:37 BALVEDA gnome-shell[2249]: Can't update stage views actor <unnamed>[<MetaWindowActorX11>:0x56112d039d40] is on because it needs an allocation.
nov 06 18:02:37 BALVEDA gnome-shell[2249]: Can't update stage views actor <unnamed>[<MetaSurfaceActorX11>:0x56112353d770] is on because it needs an allocation.
nov 06 18:02:37 BALVEDA gnome-shell[2249]: Can't update stage views actor <unnamed>[<MetaWindowActorX11>:0x561124d2cde0] is on because it needs an allocation.
nov 06 18:02:37 BALVEDA gnome-shell[2249]: Can't update stage views actor <unnamed>[<MetaSurfaceActorX11>:0x56112353d050] is on because it needs an allocation.