forge icon indicating copy to clipboard operation
forge copied to clipboard

bug: tab decorator disappears randomly

Open cgranade opened this issue 2 years ago • 9 comments

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:

  1. 2 x 4k

Screenshots

If applicable, add screenshots to help explain your problem:

image

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 [<MetaWindowActorX11>:0x561e75e757e0] is on because it needs an allocation. Oct 24 12:47:02 ... gnome-shell[5018]: Can't update stage views actor [<MetaSurfaceActorX11>:0x561e75a6d320] is on because it needs an allocation. Oct 24 12:48:56 ... gnome-shell[5018]: Window manager warning: Buggy client sent a _NET_ACTIVE_WINDOW message with a timestamp of 0 for 0x280000b


#### 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

cgranade avatar Oct 24 '23 19:10 cgranade

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?

jmmaranan avatar Oct 24 '23 23:10 jmmaranan

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.

cgranade avatar Oct 24 '23 23:10 cgranade

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.

asjur avatar Oct 26 '23 11:10 asjur

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.

cgranade avatar Nov 03 '23 18:11 cgranade

I'm having the same issue, also dual monitor. The tab decoration actually appears on the next workspace.

rdong8 avatar Nov 14 '23 23:11 rdong8

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

Hypnotist1148 avatar Jan 19 '24 19:01 Hypnotist1148

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.

athamour1 avatar May 30 '24 11:05 athamour1