[regression] resizing some apps in Unity8 makes them distorted and freeze (usually software clients)

Bug #1649662 reported by dinamic on 2016-12-13
26
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Canonical System Image
High
Unassigned
MirAL
High
Unassigned
gtk+3.0 (Ubuntu)
High
Unassigned
mir (Ubuntu)
Undecided
Unassigned
qtmir (Ubuntu)
High
Unassigned
unity8 (Ubuntu)
High
Unassigned

Bug Description

ubuntu 17.04 unity8 + proposed and 16.04 + overlay PPA
mir 0.25
miral 0.25
unity8/zesty-proposed,now 8.15+17.04.20161207.1-0ubuntu1 amd64 [installed,automatic]

steps:
1)run gedit, nautilus, sol or whatever gtk+3 app ("ubuntu-app-launch sol" for ex). if you are not sure how to launch a gtk3 app run "ubuntu-app-launch-appids" first to see the appids and then "ubuntu-app-launch <appid>"

2) resize the window (the context gets stretched in a weird way and input doesn't work anymore)

see attached screenshot

Alternate test case:
$ mir_demo_client_progressbar 20 --desktop_file_hint=unity8

dinamic (dinamic6661) wrote :
dinamic (dinamic6661) wrote :

qt5 apps seems to not be affected, so maybe it's a gtk3 mir bug?

description: updated
Daniel van Vugt (vanvugt) wrote :

Invalid for GTK -- the toolkit can never cause such stretching.

Invalid for Mir -- Mir still works well elsewhere.

If your pixels are stretched then that's definitely a server/compositor bug. So QtMir or Unity8.

I can't reproduce the bug in regular 17.04 so assume it's just a problem in proposed...

affects: gtk+3.0 (Ubuntu) → ubuntu
Changed in ubuntu:
status: New → Invalid
Changed in mir (Ubuntu):
status: New → Invalid
summary: - resizing a gtk+3/mir app makes it unusable
+ resizing a gtk+3/mir app makes it unusable - pixels get stretched and
+ input stops working
affects: ubuntu → gtk+3.0 (Ubuntu)
Changed in qtmir (Ubuntu):
importance: Undecided → High
Changed in unity8 (Ubuntu):
importance: Undecided → High
tags: added: unity8-desktop
Changed in canonical-devices-system-image:
importance: Undecided → High

It's worth remembering a client can always (rightly or wrongly) refuse to render a new frame (e.g. it might freeze or it might be by design). It is always the server's responsibility to render the pixels of the last frame from the client correctly, never stretched out of proportion.

Launchpad Janitor (janitor) wrote :

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

Changed in qtmir (Ubuntu):
status: New → Confirmed
Changed in unity8 (Ubuntu):
status: New → Confirmed
dinamic (dinamic6661) wrote :

it's the same on 16.04 + overlay ppa

description: updated
Daniel van Vugt (vanvugt) wrote :

Hmm actually this /could/ be GTK's fault if GTK is now using GL rather than software rendering. Need to check.

Changed in gtk+3.0 (Ubuntu):
status: Invalid → Incomplete
importance: Undecided → High
tags: added: gtk-mir
Changed in gtk+3.0 (Ubuntu):
status: Incomplete → New
Launchpad Janitor (janitor) wrote :

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

Daniel van Vugt (vanvugt) wrote :

Yes I can see some GL code in GTK's Mir backend. However I also notice the proposed new version of GTK in zesty got promoted yesterday. I've just tested it and can't reproduce the bug yet, so it seems unlikely to be caused by that.

Changed in ubuntu:
status: New → Confirmed
affects: gtk+3.0 (Ubuntu) → ubuntu
Launchpad Janitor (janitor) wrote :

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

Changed in gtk+3.0 (Ubuntu):
status: New → Confirmed
affects: ubuntu → gtk+3.0 (Ubuntu)
tags: added: regression zesty-proposed
summary: - resizing a gtk+3/mir app makes it unusable - pixels get stretched and
- input stops working
+ [regression] resizing a gtk+3/mir app makes it unusable - pixels get
+ stretched and input stops working

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

Changed in gtk+3.0 (Ubuntu):
status: New → Confirmed
Daniel van Vugt (vanvugt) wrote :

Confirmed. The bug has now escaped proposed and is in zesty.

Changed in canonical-devices-system-image:
status: New → Confirmed
Daniel van Vugt (vanvugt) wrote :

Invalid for GTK. I have now reproduced the same bug using a pure Mir demo (which is software rendered in case that's relevant):

$ mir_demo_client_progressbar 20 --desktop_file_hint=unity8

affects: gtk+3.0 (Ubuntu) → ubuntu
Changed in ubuntu:
status: Confirmed → Invalid
summary: - [regression] resizing a gtk+3/mir app makes it unusable - pixels get
- stretched and input stops working
+ [regression] resizing a some apps in Unity8 makes them distorted and
+ freeze (usually software clients)
affects: ubuntu → gtk+3.0 (Ubuntu)

Also the bug does not exist in Mir demo servers.

This is just a QtMir/Unity8 bug.

Lukáš Tinkl (lukas-kde) wrote :

It resumes working when you shrink the window to its very minimal size but breaks again when enlarging it.

tags: added: resizing
description: updated
Daniel van Vugt (vanvugt) wrote :

Still experiencing this bug, particularly with AisleRiot Solitaire in Unity8.

Changed in miral:
importance: Undecided → High

Cannot reproduce in in miral-shell

Changed in miral:
status: New → Invalid
dinamic (dinamic6661) wrote :

this bug makes all gtk3 apps unusable and hard to test :(

summary: - [regression] resizing a some apps in Unity8 makes them distorted and
+ [regression] resizing some apps in Unity8 makes them distorted and
freeze (usually software clients)
Daniel van Vugt (vanvugt) wrote :

OK, I think we have an answer. Now (probably) fixed as part of bug 1663062.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers