[regression] Application windows appear over the icon grid when Ubuntu Dock or Dash To Dock is loaded

Bug #1918874 reported by corrado venturini
136
This bug affects 19 people
Affects Status Importance Assigned to Milestone
gnome-shell-extension-ubuntu-dock (Ubuntu)
Undecided
Unassigned
mutter (Ubuntu)
High
Daniel van Vugt

Bug Description

Click on 'Show Applications' the icons of the applications appear but the windows of the applications does not disappear so the icons are hidden.
problem happens with both sessions Xorg and Wayland after last updates
see attached picture

ProblemType: Bug
DistroRelease: Ubuntu 21.04
Package: nautilus 1:3.38.2-1ubuntu1
ProcVersionSignature: Ubuntu 5.10.0-14.15-generic 5.10.11
Uname: Linux 5.10.0-14-generic x86_64
ApportVersion: 2.20.11-0ubuntu60
Architecture: amd64
CasperMD5CheckResult: unknown
CurrentDesktop: ubuntu:GNOME
Date: Fri Mar 12 07:36:41 2021
GsettingsChanges:
 b'org.gnome.nautilus.window-state' b'initial-size' b'(1288, 663)'
 b'org.gnome.nautilus.list-view' b'default-column-order' b"['name', 'size', 'type', 'owner', 'group', 'permissions', 'where', 'date_modified', 'date_modified_with_time', 'date_accessed', 'recency', 'starred', 'detailed_type']"
InstallationDate: Installed on 2021-02-28 (11 days ago)
InstallationMedia: Ubuntu 21.04 "Hirsute Hippo" - Alpha amd64 (20210228)
SourcePackage: nautilus
UpgradeStatus: No upgrade log present (probably fresh install)
usr_lib_nautilus:
 evince 3.39.2-1
 file-roller 3.38.0-1
 nautilus-extension-gnome-terminal 3.38.1-1ubuntu1
 nautilus-share 0.7.3-2ubuntu3

Revision history for this message
corrado venturini (corradoventu) wrote :
Revision history for this message
corrado venturini (corradoventu) wrote :

probably guilty the last upgrade Start-Date: 2021-03-11 20:30:13

Start-Date: 2021-03-11 08:31:54
Commandline: apt upgrade
Requested-By: corrado (1000)
Install: libdebuginfod-common:amd64 (0.183-4, automatic)
Upgrade: openssh-client:amd64 (1:8.4p1-4ubuntu1, 1:8.4p1-4ubuntu2), libmutter-7-0:amd64 (3.38.3-3ubuntu1, 3.38.3-3ubuntu2), apport-gtk:amd64 (2.20.11-0ubuntu59, 2.20.11-0ubuntu60), libdebuginfod1:amd64 (0.183-1, 0.183-4), mutter-common:amd64 (3.38.3-3ubuntu1, 3.38.3-3ubuntu2), ubuntu-desktop:amd64 (1.464, 1.465), gir1.2-mutter-7:amd64 (3.38.3-3ubuntu1, 3.38.3-3ubuntu2), ipp-usb:amd64 (0.9.17-2, 0.9.17-3), python3-pil:amd64 (8.1.1-1, 8.1.2-1), ubuntu-standard:amd64 (1.464, 1.465), ubuntu-desktop-minimal:amd64 (1.464, 1.465), python3-apport:amd64 (2.20.11-0ubuntu59, 2.20.11-0ubuntu60), libflatpak0:amd64 (1.10.1-4, 1.10.2-1), libhandy-1-0:amd64 (1.1.90-1, 1.1.90-2), libdw1:amd64 (0.183-1, 0.183-4), flatpak:amd64 (1.10.1-4, 1.10.2-1), ubuntu-advantage-tools:amd64 (26.1, 26.2), libelf1:amd64 (0.183-1, 0.183-4), python3-problem-report:amd64 (2.20.11-0ubuntu59, 2.20.11-0ubuntu60), apport:amd64 (2.20.11-0ubuntu59, 2.20.11-0ubuntu60), ubuntu-minimal:amd64 (1.464, 1.465)
End-Date: 2021-03-11 08:32:11

Start-Date: 2021-03-11 12:01:05
Commandline: /usr/sbin/synaptic
Requested-By: corrado (1000)
Install: linux-headers-5.11.0-11:amd64 (5.11.0-11.12)
Upgrade: firefox-locale-it:amd64 (86.0+build3-0ubuntu1, 86.0.1+build1-0ubuntu1), firefox:amd64 (86.0+build3-0ubuntu1, 86.0.1+build1-0ubuntu1)
End-Date: 2021-03-11 12:01:28

Start-Date: 2021-03-11 20:30:13
Commandline: apt upgrade
Requested-By: corrado (1000)
Install: libmd0:amd64 (1.0.3-3build1, automatic)
Upgrade: gnome-remote-desktop:amd64 (0.1.9-4build1, 0.1.9-5), libbsd0:amd64 (0.10.0-1, 0.11.3-1build1), libgweather-common:amd64 (3.36.1-1, 3.36.1-2), libgweather-3-16:amd64 (3.36.1-1, 3.36.1-2), gir1.2-gweather-3.0:amd64 (3.36.1-1, 3.36.1-2)
End-Date: 2021-03-11 20:30:15

affects: nautilus (Ubuntu) → gnome-shell (Ubuntu)
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in gnome-shell (Ubuntu):
status: New → Confirmed
Revision history for this message
Fabio Colombo (stratosphere1982) wrote :

Same problem here!

Revision history for this message
galen (galen-technomage) wrote :

Same here.

summary: - Application icons superposed to open windows
+ Application windows appear over the icon grid
Changed in gnome-shell (Ubuntu):
importance: Undecided → High
tags: added: regression-release rls-hh-incoming
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: Application windows appear over the icon grid

Confirmed. The problem seems to only happen when clicking 'Show Applications' and not when pressing Super+A.

Also it seems to mostly happen when the Ubuntu Dock is loaded. I think I saw it once when no extensions were loaded, but cannot reproduce that now... It's easy to reproduce when Ubuntu Dock is loaded.

Can anyone else confirm the conditions under which the bug occurs?

Revision history for this message
corrado venturini (corradoventu) wrote :

Confirmed: The problem only happens when clicking 'Show Applications' and not when pressing Super+A.
When the Ubuntu Dock is not loaded I don't see 'Show Applications'

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

In that case you need to click Activities first.

Revision history for this message
corrado venturini (corradoventu) wrote :

ok, When the Ubuntu Dock is not loaded I click Activities, the dock appears and clicking 'Show Applications' the problem does not appear.

Changed in gnome-shell (Ubuntu):
assignee: nobody → Daniel van Vugt (vanvugt)
status: Confirmed → In Progress
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

680c4fc79ee712d3c4368f3008597a8314996f76 is the first bad commit
commit 680c4fc79ee712d3c4368f3008597a8314996f76
Author: Marco Trevisan (Treviño) <mail@3v1n0.net>
Date: Wed Mar 10 04:20:35 2021 +0100

    d/p/input-thread: Avoid notifying property changes multiple times

    LP: #1918033

 ...RAM_EXPLICIT_NOTIFY-for-actor-and-stage-p.patch | 684 +++++++++++++++++++++
 debian/patches/series | 1 +
 2 files changed, 685 insertions(+)
 create mode 100644 debian/patches/input-thread-backports/clutter-Use-G_PARAM_EXPLICIT_NOTIFY-for-actor-and-stage-p.patch

affects: gnome-shell (Ubuntu) → mutter (Ubuntu)
Changed in mutter (Ubuntu):
assignee: Daniel van Vugt (vanvugt) → nobody
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Confirmed the regression originated in mutter patch:

clutter-Use-G_PARAM_EXPLICIT_NOTIFY-for-actor-and-stage-p.patch

Changed in mutter (Ubuntu):
assignee: nobody → Daniel van Vugt (vanvugt)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Narrowed it down further to the "opacity" property:

  obj_props[PROP_OPACITY] =
    g_param_spec_uint ("opacity",
                       P_("Opacity"),
                       P_("Opacity of an actor"),
                       0, 255,
                       255,
                       G_PARAM_READWRITE |
                       G_PARAM_STATIC_STRINGS |
                       G_PARAM_EXPLICIT_NOTIFY | // HERE
                       CLUTTER_PARAM_ANIMATABLE);

Changed in gnome-shell-extension-ubuntu-dock (Ubuntu):
assignee: nobody → Daniel van Vugt (vanvugt)
Changed in gnome-shell-extension-dashtodock (Ubuntu):
assignee: nobody → Daniel van Vugt (vanvugt)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Narrowed down further to dash-to-dock/ubuntu-dock in _onShowAppsButtonToggled. The broken opacity/hide logic is under:

  if (animate) {

Since the bug is unique to dash-to-dock/ubuntu-dock it looks likely any fix will go in there. I don't yet see anything to fix in mutter or gnome-shell.

Changed in mutter (Ubuntu):
status: In Progress → Won't Fix
Changed in gnome-shell-extension-ubuntu-dock (Ubuntu):
importance: Undecided → High
status: New → In Progress
Changed in gnome-shell-extension-dashtodock (Ubuntu):
importance: Undecided → High
status: New → In Progress
Changed in gnome-shell (Ubuntu):
status: New → Invalid
summary: - Application windows appear over the icon grid
+ [regression] Application windows appear over the icon grid when Ubuntu
+ Dock or Dash To Dock is loaded
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Alternatively, we could just revert the input thread patches from mutter, 3v1n0? :)

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Tracked down further... The bug is caused by this gnome-shell code not running anymore:

            // This is kinda hackish - we want the primary view to
            // appear as parent of this, though in reality it
            // is added directly to Main.layoutManager.overviewGroup
            this._notifyOpacityId = newParent.connect('notify::opacity', () => {
                let opacity = this.get_parent().opacity;
                let primaryView = this._getPrimaryView();
                if (!primaryView)
                    return;
                primaryView.opacity = opacity;
                primaryView.visible = opacity != 0;
            });

because of the introduction of:

  clutter-Use-G_PARAM_EXPLICIT_NOTIFY-for-actor-and-stage-p.patch

in mutter.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

And the above "hackish" code does not exist in gnome-shell 40, which is why they don't experience problems with the mutter patch.

Changed in mutter (Ubuntu):
status: Won't Fix → In Progress
Changed in gnome-shell (Ubuntu):
status: Invalid → Won't Fix
assignee: nobody → Daniel van Vugt (vanvugt)
importance: Undecided → High
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

OK, I have a fix prepared but https://salsa.debian.org/ is down right now. So please 'am' this to salsa as soon as possible...

Changed in gnome-shell-extension-dashtodock (Ubuntu):
status: In Progress → Invalid
Changed in gnome-shell-extension-ubuntu-dock (Ubuntu):
status: In Progress → Invalid
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

And here's a debdiff so we can fix mutter immediately without waiting for salsa.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :
Mathew Hodson (mhodson)
no longer affects: gnome-shell-extension-ubuntu-dock (Ubuntu)
no longer affects: gnome-shell-extension-dashtodock (Ubuntu)
no longer affects: gnome-shell (Ubuntu)
Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

Daniel,

I've the feeling that reverting that will bring us back
https://launchpad.net/bugs/1918033

So, I had no much time to check the root cause, but otherwise I think we can just drop all the input thread patches.

I'm not super happy about it, given that their test did already good results in being able testing and fixing upstream code (and so far with limited regressions), but since that was the team preferred way to handle, it's the one I'll take if we don't decide to go for other solutions.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Fixing bug 1918033 only requires notify::reactive if I read the upstream fix correctly. So that's why I think we are free to revert notify::opacity to fix bug 1918874 here.

Revision history for this message
amano (jyaku) wrote :

I think the input thread code is more worthwhile than keeping the self-proclaimed "kinda hackish" code untouched.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Carrying the input thread code is a risk to 21.04 because it's 45000 lines of patches. It's caused a few regressions so far and is likely to be a maintenance problem when backporting fixes to 21.04 between now and January 2022 (when 21.04 reaches EOL). We're kind of managing at the moment but I am not totally confident it won't continue to be the source of more problems this year.

Also, while we spend days and weeks fixing these regressions in the input thread backport to 3.38, that's time we don't get to spend on GNOME 40/41 for Ubuntu 21.10 and 22.04.

Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

> is likely to be a maintenance problem when backporting fixes to 21.04 between now and January 2022 (when 21.04 reaches EOL)

That is actually the reason why I wanted to carry those patch, but for the other way around: upstream code changed so much on those aspects, that I don't expect ANY fix coming from 3.38 on the input side, while I do expect improvements on the input-thread code, so keeping in sync with upstream on it would allow us to have upstream fixes and support.

> Also, while we spend days and weeks fixing these regressions in the input thread backport to 3.38, that's time we don't get to spend on GNOME 40/41 for Ubuntu 21.10 and 22.04.

Don't agree here, as I personally did few fixes upstream on the input side that I wouldn't probably have done otherwise, so be in sync with upstream allows us to work with such code, addressing both upstream and downstream interests.

Revision history for this message
corrado venturini (corradoventu) wrote :

after last updates problem disappeared:
Start-Date: 2021-03-26 20:20:20
Commandline: apt upgrade
Requested-By: corrado (1000)
Upgrade: libmpdec3:amd64 (2.5.1-1, 2.5.1-2), xserver-xorg-video-intel:amd64 (2:2.99.917+git20200714-1, 2:2.99.917+git20200714-1ubuntu1), gnome-shell-extension-ubuntu-dock:amd64 (68ubuntu20.10.1, 69ubuntu1)
End-Date: 2021-03-26 20:20:20

Start-Date: 2021-03-27 07:50:53
Commandline: apt upgrade
Requested-By: corrado (1000)
Upgrade: libwacom2:amd64 (1.8-2build1, 1.8-2ubuntu1), libwacom-common:amd64 (1.8-2build1, 1.8-2ubuntu1), ubuntu-desktop:amd64 (1.465, 1.466), ubuntu-standard:amd64 (1.465, 1.466), ubuntu-desktop-minimal:amd64 (1.465, 1.466), ubuntu-minimal:amd64 (1.465, 1.466), libwacom-bin:amd64 (1.8-2build1, 1.8-2ubuntu1)
End-Date: 2021-03-27 07:50:55

Revision history for this message
corrado venturini (corradoventu) wrote :
Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

So, as I was suspecting at the beginning this would have been fixed by latest upstream changes on the dock and so it's now fixed by https://launchpad.net/ubuntu/+source/gnome-shell-extension-ubuntu-dock/69ubuntu1

However, sadly, it's too late for the the input thread patches as we've reverted them now: https://launchpad.net/ubuntu/+source/mutter/3.38.4-1ubuntu1

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mutter - 3.38.4-1ubuntu1

---------------
mutter (3.38.4-1ubuntu1) hirsute; urgency=medium

  * Merge with debian, containing new upstream release.
  * debian/tests: Adapt autopkgtest name and linked library to current soname
  * debian/tests/control: Update references to libmutter-7-dev
  * debian/patches: Remove Input Thread backport patches.
    It has been fun, but we decided to revert this, so here it is.
    (LP: #1918874, LP: #1919310)
  * debian/control: Set breaks on gnome-shell 3.38.4.
    That's the first version on which we'll remove the input thread patches
  * debian/libmutter-7-0.symbols: Revert symbol changes due to input thread
  * debian/patches: Add support for ABFR2101010 in v3d used by Raspberry Pi 4
    (LP: #1896171)
  * debian/patches: Handle NVIDIA's zero presentation times (LP: #1880086)
  * debian/patches: Properly handle configuration events on windows
    (LP: #191793)
  * Remaining changes with debian:
    - debian/gbp.conf: update upstream branch to point to ubuntu/master
    - debian/patches/x11-Add-support-for-fractional-scaling-using-Randr.patch:
      + X11: Add support for fractional scaling using Randr

mutter (3.38.4-1) unstable; urgency=medium

  * Team upload
  * New upstream release
    - Fix Wayland spec compliance when reordering subsurfaces.
      This is likely to be required by future Firefox versions in native
      Wayland mode.
    - Many other fixes that we already had via debian/patches
  * Drop most patches, included in the new upstream release

mutter (3.38.3-5) unstable; urgency=medium

  * Team upload

  [ Marco Trevisan (Treviño) ]
  * debian/patches: Include a missing commit from upstream gnome-3-38
    branch to fix X11 UI stutters

mutter (3.38.3-4) unstable; urgency=medium

  * Team upload

  [ Marco Trevisan (Treviño) ]
  * debian/patches: cherry-pick more upstream gnome-3-38 fixes
    - Correctly restore focus to applications that use globally active
      input handling, such as AWT/Swing Java apps
    - Disable double buffered shadow buffering, which was intended to
      improve performance with e.g. llvmpipe but currently makes it worse
  * debian/tests: Adapt autopkgtest name and linked library to current soname
  * debian/tests/control: Update references to libmutter-7-dev

  [ Simon McVittie ]
  * d/patches: Update to commit 3.38.3-26-g30c542ddc from gnome-3-38 branch
    - Fix X11 frame timing getting stuck if frames are skipped, resulting
      in X11 applications not always being redrawn when they should be
    - Fix a crash when clicking below titlebar with broken GTK themes

 -- Marco Trevisan (Treviño) <email address hidden> Fri, 26 Mar 2021 07:17:54 +0100

Changed in mutter (Ubuntu):
status: In Progress → Fix Released
Changed in gnome-shell-extension-ubuntu-dock (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers