bug: tab decorator disappears randomly
Description
Randomly, with no obvious user interaction to cause it, tab bars will disappear from one or both monitors in a dual-monitor configuration. Instead, a blank space will appear above windows in the tab group, with the desktop background below showing through.
The problem can be solved by disabling Forge from extensions.gnome.org and then re-enabling it, but this causes all tab groups to forget their placement, and requires rebuilding the window layout from scratch.
Problem Explanation
I apologize that I have not yet been able to isolate conditions under which the bug reliably occurs. At least once, the error occurred immediately after launching a Wine-based application.
Details
Mark with [ ] all that applies:
It happens with any application?
'
- [ ] Yes, it applies to any application.
- [ ] No. Only with the following applications:
- VSCode, Terminal, ...
- [ ] It works with the following applications that I have tried:
- Fill in a list with any application that applies
It happens only on one computer?
- [x] I don't know.
- [ ] No. I have tried it on more than one computer.
It happens only with some specific gnome configuration?
- [x] I don't think that the configuration matters.
- [ ] Yes. Only if the following config is set up:
- Fill in a list with any configuration tha applies.
It happens only with some specific extension installed?
- [x] I don't think that the installed extensions affect the bug/behavior.
- [ ] Yes. Only if the following gnome extension is installed:
- Fill in a list with any extension tha applies.
- Fill in also any detail about the extensions that applies.
Diagnostics
Under what conditions does it happen?
Fill in all information that applies:
Environment
- Distro version : ... (
uname -a) - GNOME Shell version: ... (
gnome-shell --version) - Forge source : ... (e.g: git branch or extensions.gnome.org)
- Forge version : ... (
gnome-extensions show [email protected])
Display Setup
Displays:
- 2 x 4k
Screenshots
If applicable, add screenshots to help explain your problem:
Screenshot 1 description
A window layout after tab bars have disappeared.
Screenshot 2 description
...
Output and Logs
Also if possible, please provide latest logs like:
Gnome Logs
Command: journalctl --since='1 hour ago' --follow /usr/bin/gnome-shell
Oct 24 12:46:37 ... gnome-shell[5018]: meta_window_set_stack_position_no_sync: assertion 'window->stack_position >= 0' failed
Oct 24 12:46:37 ... gnome-shell[5018]: clutter_actor_insert_child_below: assertion 'sibling == NULL || (CLUTTER_IS_ACTOR (sibling) && sibling->priv->parent == self)' failed
Oct 24 12:46:37 ... gnome-shell[5018]: clutter_actor_insert_child_below: assertion 'sibling == NULL || (CLUTTER_IS_ACTOR (sibling) && sibling->priv->parent == self)' failed
Oct 24 12:46:37 ... gnome-shell[5018]: clutter_actor_insert_child_below: assertion 'sibling == NULL || (CLUTTER_IS_ACTOR (sibling) && sibling->priv->parent == self)' failed
Oct 24 12:46:37 ... gnome-shell[5018]: clutter_actor_insert_child_below: assertion 'sibling == NULL || (CLUTTER_IS_ACTOR (sibling) && sibling->priv->parent == self)' failed
Oct 24 12:46:37 ... gnome-shell[5018]: clutter_actor_insert_child_below: assertion 'sibling == NULL || (CLUTTER_IS_ACTOR (sibling) && sibling->priv->parent == self)' failed
Oct 24 12:46:37 ... gnome-shell[5018]: clutter_actor_insert_child_below: assertion 'sibling == NULL || (CLUTTER_IS_ACTOR (sibling) && sibling->priv->parent == self)' failed
Oct 24 12:46:37 ... gnome-shell[5018]: clutter_actor_insert_child_below: assertion 'sibling == NULL || (CLUTTER_IS_ACTOR (sibling) && sibling->priv->parent == self)' failed
Oct 24 12:46:37 ... gnome-shell[5018]: clutter_actor_insert_child_below: assertion 'sibling == NULL || (CLUTTER_IS_ACTOR (sibling) && sibling->priv->parent == self)' failed
Oct 24 12:46:37 ... gnome-shell[5018]: clutter_actor_insert_child_below: assertion 'sibling == NULL || (CLUTTER_IS_ACTOR (sibling) && sibling->priv->parent == self)' failed
Oct 24 12:47:02 ... gnome-shell[5018]: Can't update stage views actor
#### Extension Configuration
**Command:** `dconf dump /org/gnome/shell/extensions/forge/`
``` bash
$ dconf dump /org/gnome/shell/extensions/forge/
[/]
css-last-update=uint32 37
focus-border-toggle=false
stacked-tiling-mode-enabled=false
tabbed-tiling-mode-enabled=true
[keybindings]
con-split-horizontal=['<Super>z']
con-split-layout-toggle=['<Super>g']
con-split-vertical=['<Super>v']
con-stacked-layout-toggle=['<Shift><Super>s']
con-tabbed-layout-toggle=['<Shift><Super>t']
con-tabbed-showtab-decoration-toggle=['<Control><Alt>y']
focus-border-toggle=['<Super>x']
mod-mask-mouse-tile='None'
prefs-tiling-toggle=['<Super>w']
window-focus-down=['<Super>j']
window-focus-left=['<Super>h']
window-focus-right=['<Super>l']
window-focus-up=['<Super>k']
window-gap-size-decrease=['<Control><Super>minus']
window-gap-size-increase=['<Control><Super>plus']
window-move-down=['<Shift><Super>j']
window-move-left=['<Shift><Super>h']
window-move-right=['<Shift><Super>l']
window-move-up=['<Shift><Super>k']
window-resize-bottom-decrease=['<Shift><Control><Super>i']
window-resize-bottom-increase=['<Control><Super>u']
window-resize-left-decrease=['<Shift><Control><Super>o']
window-resize-left-increase=['<Control><Super>y']
window-resize-right-decrease=['<Shift><Control><Super>y']
window-resize-right-increase=['<Control><Super>o']
window-resize-top-decrease=['<Shift><Control><Super>u']
window-resize-top-increase=['<Control><Super>i']
window-snap-center=['<Alt><Super>c']
window-snap-one-third-left=['<Control><Alt>d']
window-snap-one-third-right=['<Control><Alt>g']
window-snap-two-third-left=['<Control><Alt>e']
window-snap-two-third-right=['<Control><Alt>t']
window-swap-down=['<Control><Super>j']
window-swap-last-active=['<Super>Return']
window-swap-left=['<Control><Super>h']
window-swap-right=['<Control><Super>l']
window-swap-up=['<Control><Super>k']
window-toggle-always-float=['<Shift><Super>c']
window-toggle-float=['<Super>c']
workspace-active-tile-toggle=['<Shift><Super>w']
Enabled Extensions
Command: gnome-extensions list --enabled --details
$ gnome-extensions list --enabled --details
[email protected]
Name: User Themes
Description: Load shell themes from user directory.
Path: /home/cgranade/.local/share/gnome-shell/extensions/[email protected]
URL: https://gitlab.gnome.org/GNOME/gnome-shell-extensions
Version: 51
State: ENABLED
[email protected]
Name: Tailscale Status
Description: Manage Tailscale connections and check status from desktop read more at https://github.com/maxgallup/tailscale-status/blob/main/README.md
Path: /home/cgranade/.local/share/gnome-shell/extensions/[email protected]
URL: https://github.com/maxgallup/tailscale-status
Version: 20
State: ENABLED
[email protected]
Name: Vitals
Description: A glimpse into your computer's temperature, voltage, fan speed, memory usage, processor load, system resources, network speed and storage stats. This is a one stop shop to monitor all of your vital sensors. Uses asynchronous polling to provide a smooth user experience. Feature requests or bugs? Please use GitHub.
Path: /home/cgranade/.local/share/gnome-shell/extensions/[email protected]
URL: https://github.com/corecoding/Vitals
Version: 61
State: ENABLED
[email protected]
Name: Forge
Description: Tiling and window manager for GNOME
Please report bugs/issues on https://github.com/forge-ext/forge/issues
Path: /home/cgranade/.local/share/gnome-shell/extensions/[email protected]
URL: https://github.com/forge-ext/forge
Version: 72
State: ENABLED
[email protected]
Name: Desktop Icons NG (DING)
Description: Adds icons to the desktop. Fork of the original Desktop Icons extension, with several enhancements .
Path: /usr/share/gnome-shell/extensions/[email protected]
URL: https://gitlab.com/rastersoft/desktop-icons-ng
State: ENABLED
[email protected]
Name: Ubuntu AppIndicators
Description: Support app indicators and legacy tray icons in top panel, as the default Ubuntu experience. System update of AppIndicator and KStatusNotifierItem Support extension.
Path: /usr/share/gnome-shell/extensions/[email protected]
URL: https://github.com/ubuntu/gnome-shell-extension-appindicator
State: ENABLED
[email protected]
Name: Ubuntu Dock
Description: A dock for the Gnome Shell, default Ubuntu experience. This extension is a modified version of Dash To Dock with different defaults. Dash To Dock can be installed to replace it and give more (but unsupported) configuration options.
Path: /usr/share/gnome-shell/extensions/[email protected]
URL: https://micheleg.github.io/dash-to-dock/
Original author: [email protected]
Version: 79
State: ENABLED
Graphics information
Command: lshw -C display
$ lshw -C display
*-display
description: VGA compatible controller
product: TU104 [GeForce RTX 2080 SUPER]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:0b:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
configuration: driver=nvidia latency=0
resources: irq:158 memory:fb000000-fbffffff memory:d0000000-dfffffff memory:e0000000-e1ffffff ioport:e000(size=128) memory:c0000-dffff
*-graphics
product: EFI VGA
physical id: 1
logical name: /dev/fb0
capabilities: fb
configuration: depth=32 resolution=1024,768
Monitor information
Command: xrandr --properties | grep -vE '(x|\s|\.|\d)+$'
$ xrandr --properties | grep -vE '(x|\s|\.|\d)+$'
Screen 0: minimum 8 x 8, current 7680 x 2160, maximum 32767 x 32767
DP-0 connected 3840x2160+3840+0 (normal left inverted right x axis y axis) 697mm x 392mm
...
supported: 4
range: (0, 65535)
supported: DisplayPort
supported: 0, 1
DP-1 disconnected (normal left inverted right x axis y axis)
supported: 4
range: (0, 65535)
supported: TMDS
supported: 0, 1
HDMI-0 disconnected (normal left inverted right x axis y axis)
supported: 4
range: (0, 65535)
supported: TMDS
supported: 0, 1
DP-2 disconnected (normal left inverted right x axis y axis)
supported: 4
range: (0, 65535)
supported: DisplayPort
supported: 0, 1
DP-3 disconnected (normal left inverted right x axis y axis)
supported: 4
range: (0, 65535)
supported: TMDS
supported: 0, 1
DP-4 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 697mm x 392mm
...
supported: 4
range: (0, 65535)
supported: DisplayPort
supported: 0, 1
DP-5 disconnected (normal left inverted right x axis y axis)
supported: 4
range: (0, 65535)
supported: TMDS
supported: 0, 1
Hi @cgranade - thanks for the report. Based on the extension info list you had provided, Forge is at v72. That is under GNOME 44. Our main development branch is for GNOME 45.
Few questions for you since some of the bug report form has been left out:
- What applications under wine does it break?
- Does it break in other non-wine apps?
- What distro are you on?
Apologies for leaving some of the info blank, I wasn't sure how to fill everything out given it seems quite random.
Few questions for you since some of the bug report form has been left out:
* What applications under wine does it break?
The one I noticed today was that when I ran Scrivener, it caused all tab bars on one monitor to vanish.
* Does it break in other non-wine apps?
Yes, but it was a few days ago and I forgot to note which one, sorry. I'll update with more info if it happens again, thanks for your patience with incomplete details.
* What distro are you on?
This is on Ubuntu 23.04 x86_64.
Not sure if it is any helpful but I am experiencing the exact same behaviour under Arch running GNOME 45 and Forge 77. It's a fresh install and it worked for a few minutes and then suddenly the tab decorator permanently disappeared.
Just a quick addendum, but I recently ran into the issue again when starting a new Zoom meeting. Running Zoom itself was fine, but specifically starting a call made tab bars disappear.
I'm having the same issue, also dual monitor. The tab decoration actually appears on the next workspace.
Hello, I am having the same issue, I am not using wine, and this is a fresh manjaro installation. My journal tells me this everytime is hide or unhide the tab bar:
Jan 19 19:58:22 gnome-shell[2138]: Object St.Label (0x55da8ba95890), has been already disposed — 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. == Stack trace for context 0x55da85dad660 == #0 7ffc6d3c33f0 b file:///usr/share/gnome-shell/extensions/[email protected]/extension.js:107 (1e89bff50240 @ 132) #1 7ffc6d3c4a40 b file:///usr/share/gnome-shell/extensions/[email protected]/lib/extension/window.js:930 (c08ca030a10 @ 138) #2 7ffc6d3c4b10 b file:///usr/share/gnome-shell/extensions/[email protected]/lib/extension/tree.js:1236 (c08ca03ac90 @ 122) #3 7ffc6d3c4c10 b self-hosted:203 (16eb4c96a60 @ 245) #4 55da85e77948 i file:///usr/share/gnome-shell/extensions/[email protected]/lib/extension/tree.js:1232 (c08ca03abf0 @ 104) #5 55da85e778a0 i file:///usr/share/gnome-shell/extensions/[email protected]/lib/extension/tree.js:1218 (c08ca03aba0 @ 111) #6 55da85e77818 i file:///usr/share/gnome-shell/extensions/[email protected]/lib/extension/window.js:1125 (c08ca030ba0 @ 43) #7 55da85e77788 i resource:///org/gnome/shell/ui/init.js:21 (16eb4c70ba0 @ 48) Jan 19 19:58:22 gnome-shell[2138]: clutter_text_get_editable: assertion 'CLUTTER_IS_TEXT (self)' failed Jan 19 19:58:22 gnome-shell[2138]: clutter_text_get_text: assertion 'CLUTTER_IS_TEXT (self)' failed Jan 19 19:58:22 gnome-shell[2138]: clutter_text_set_text: assertion 'CLUTTER_IS_TEXT (self)' failed
Hello, I also have the same issue, and I have seen that in multiple environments, I use gnome 45 and the latest forge version and with random application sometimes the Stacked Header is disappearing. I'm not sure how to help here, if you need any help to debug it, please tell me how to pinpoint the issue in my logs.