ubuntu-pd instability with rotation, OSK and hdmi plug/unplug

Bug #1545286 reported by kevin gunn
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Canonical Pocket Desktop
In Progress
Critical
Michał Sawicz
Canonical System Image
Fix Released
Critical
Michał Sawicz
qtmir (Ubuntu)
Fix Released
Critical
Unassigned
unity8 (Ubuntu)
Fix Released
Critical
Michael Zanetti

Bug Description

Not sure what change - I know I tested ubuntu-pd, specifically connecting/disconnecting hdmi and using OSK as part of the landing of mir0.19.2, maybe it was a bit of a race with the qtmir/unity8 landings. Or possibly my image was older than i thought? seeing this on moako ubuntu-pd image 140

stable phone overlay ppa says
mir 0.19.2 published Feb 11
qtmir Feb 9
unity8 Feb 9
u-s-c Feb 5

At the moment I see
1) the OSK won't popup on the n4-screen-as-trackpad
 2) whatever is focused app while connected to hdmi, if you hold the phone in portrait mode and unplug - the app will not fill the whole screen or resize properly
 as an example http://www.youtube.com/watch?v=9pehRcVwXnE
and http://www.youtube.com/watch?v=5Z3MFseEBDc
 3) specifically i saw the dash become totally weird (wrong size assets and all jumbled) after #2 (only saw this once, haven't been able to repro)
4) shell seemed to freeze then crash, i could interact with app...but lost launcher and app switcher (also only saw once, but got the file)

one more note: i kind of wonder if this is related to rotation
http://www.youtube.com/watch?v=0bLnGRdNxvw
http://www.youtube.com/watch?v=vbvsLzbqofs

logs attached

Related branches

Revision history for this message
kevin gunn (kgunn72) wrote :
Revision history for this message
kevin gunn (kgunn72) wrote :
Revision history for this message
kevin gunn (kgunn72) wrote :
Changed in mir (Ubuntu):
importance: Undecided → Critical
Changed in qtmir (Ubuntu):
importance: Undecided → Critical
Changed in unity8 (Ubuntu):
importance: Undecided → Critical
Changed in canonical-pocket-desktop:
importance: Undecided → Critical
description: updated
kevin gunn (kgunn72)
description: updated
description: updated
description: updated
kevin gunn (kgunn72)
description: updated
kevin gunn (kgunn72)
description: updated
Revision history for this message
kevin gunn (kgunn72) wrote :

Just going backward in time, i see similar
on
phablet@ubuntu-phablet:~$ system-image-cli -i
current build number: 137
device name: mako
channel: ubuntu-touch/rc-proposed/ubuntu-pd
last update: 2016-02-13 16:42:59
version version: 137
version ubuntu: 20160210
version device: 20160112
version custom: 20150929-2-vivid
phablet@ubuntu-phablet:~$ apt-cache policy qtmir-android
qtmir-android:
  Installed: 0.4.7+15.04.20160208-0ubuntu1
  Candidate: 0.4.7+15.04.20160208-0ubuntu1
  Version table:
 *** 0.4.7+15.04.20160208-0ubuntu1 0
        100 /var/lib/dpkg/status
phablet@ubuntu-phablet:~$ apt-cache policy unity8
unity8:
  Installed: 8.11+15.04.20160208-0ubuntu1
  Candidate: 8.11+15.04.20160208-0ubuntu1
  Version table:
 *** 8.11+15.04.20160208-0ubuntu1 0
        100 /var/lib/dpkg/status
phablet@ubuntu-phablet:~$ apt-cache policy libmirserver*
libmirserver37:
  Installed: 0.19.1+15.04.20160204-0ubuntu1
  Candidate: 0.19.1+15.04.20160204-0ubuntu1
  Version table:
 *** 0.19.1+15.04.20160204-0ubuntu1 0
        100 /var/lib/dpkg/status
phablet@ubuntu-phablet:~$

Revision history for this message
kevin gunn (kgunn72) wrote :

still see it, but it's seems slightly less awful....selecting text field while attached to hdmi, no OSK, but on disconnect OSK is there.
still get the wrong window size when rotating while connected, then disconnect

phablet@ubuntu-phablet:~$ system-image-cli -i
current build number: 133
device name: mako
channel: ubuntu-touch/rc-proposed/ubuntu-pd
last update: 2016-02-13 17:01:07
version version: 133
version ubuntu: 20160206
version device: 20160112
version custom: 20150929-2-vivid
phablet@ubuntu-phablet:~$ apt-cache policy unity8
unity8:
  Installed: 8.11+15.04.20160129-0ubuntu1
  Candidate: 8.11+15.04.20160129-0ubuntu1
  Version table:
 *** 8.11+15.04.20160129-0ubuntu1 0
        100 /var/lib/dpkg/status
phablet@ubuntu-phablet:~$ apt-cache policy qtmir-android
qtmir-android:
  Installed: 0.4.7+15.04.20160127.1-0ubuntu1
  Candidate: 0.4.7+15.04.20160127.1-0ubuntu1
  Version table:
 *** 0.4.7+15.04.20160127.1-0ubuntu1 0
        100 /var/lib/dpkg/status
phablet@ubuntu-phablet:~$ apt-cache policy libmirserver*
libmirserver37:
  Installed: 0.19.1+15.04.20160204-0ubuntu1
  Candidate: 0.19.1+15.04.20160204-0ubuntu1
  Version table:
 *** 0.19.1+15.04.20160204-0ubuntu1 0
        100 /var/lib/dpkg/status
phablet@ubuntu-phablet:~$

description: updated
Revision history for this message
kevin gunn (kgunn72) wrote :

OK, so i know i saw the OSK this time on the trackpad. But after some rotating & unplugging seeing the issue again.
Starting think this is just something nasty that's been lurking and haven't seen
Also, got the "browser" stuck to one orientation after unplugging

phablet@ubuntu-phablet:~$ system-image-cli -i
current build number: 131
device name: mako
channel: ubuntu-touch/rc-proposed/ubuntu-pd
last update: 2016-02-13 17:13:47
version version: 131
version ubuntu: 20160204
version device: 20160112
version custom: 20150929-2-vivid
phablet@ubuntu-phablet:~$ apt-cache policy unity8
unity8:
  Installed: 8.11+15.04.20160129-0ubuntu1
  Candidate: 8.11+15.04.20160129-0ubuntu1
  Version table:
 *** 8.11+15.04.20160129-0ubuntu1 0
        100 /var/lib/dpkg/status
phablet@ubuntu-phablet:~$ apt-cache policy qtmir-android
qtmir-android:
  Installed: 0.4.7+15.04.20160127.1-0ubuntu1
  Candidate: 0.4.7+15.04.20160127.1-0ubuntu1
  Version table:
 *** 0.4.7+15.04.20160127.1-0ubuntu1 0
        100 /var/lib/dpkg/status
phablet@ubuntu-phablet:~$ apt-cache policy libmirserver*
libmirserver37:
  Installed: 0.19.0+15.04.20160128-0ubuntu1
  Candidate: 0.19.0+15.04.20160128-0ubuntu1
  Version table:
 *** 0.19.0+15.04.20160128-0ubuntu1 0
        100 /var/lib/dpkg/status
phablet@ubuntu-phablet:~$

Revision history for this message
Michał Sawicz (saviq) wrote :

Has anyone else seen this? My adapter is broken, will pick one up tomorrow first thing.

Until then...

Tracking down the display change:

> [1455372172.788740] mirserver: New display configuration:
> [1455372172.825853] mirserver: 0.1: LVDS 4.7" 61x102mm
> [1455372172.826036] mirserver: Current mode 768x1280 60.00Hz
> [1455372172.826189] mirserver: Preferred mode 768x1280 60.00Hz
> [1455372172.826341] mirserver: Logical position +0+0
> [1455372172.826464] mirserver: 0.2: unused DisplayPort

Mir is sane.

> qtmir.screens: QWindow ShellView(0x1c9f388) with geom QRect(0,0 768x1280) is backed by a Screen(0x1bccfc0) with geometry QRect(0,0 768x1280)

QtMir is sane.

> qtmir.surfaces: MirSurface[0x28cb3f8,"unity8-dash"]::resize old (768,660), new (1920,1026)
> qtmir.surfaces: MirSurface[0x21bb450,"webbrowser-app"]::resize old (768,660), new (1920,1026)
> qtmir.surfaces: MirSurface[0x264e350,"ubuntu-system-settings"]::resize old (768,660), new (1920,1026)

This is not sane... Why would all the windows get resized like that - it's as if the phone stage thought it stayed on the external screen of 1920x(1080 - $panelHeight), so it doesn't fit on the screen.

Could, in theory, be related to rotation, if caught at the wrong moment... That last 3s video looks like shell crashed mid-rotation.

Changed in mir (Ubuntu):
status: New → Incomplete
Changed in qtmir (Ubuntu):
status: New → Incomplete
Changed in unity8 (Ubuntu):
status: New → Triaged
assignee: nobody → Michael Zanetti (mzanetti)
Changed in canonical-pocket-desktop:
assignee: nobody → Michał Sawicz (saviq)
status: New → Triaged
Revision history for this message
Michał Sawicz (saviq) wrote :

The code to update shell size lives here:

https://bazaar.launchpad.net/~unity-team/unity8/trunk/view/2181/src/ShellView.cpp

There is some mention of Qt not doing the right thing... wonder if we're hitting that. Would need some debug logging when reproducing this.

Changed in mir:
status: New → Incomplete
Revision history for this message
kevin gunn (kgunn72) wrote :

so just doing some more testing, i was able to use the OSK with silo 37 + image 140 (latest)
interesting thing is, OSK was working even with HDMI connected, the OSK eventually "disappeared"/stopped popping up after browser+rotation

Revision history for this message
Michael Zanetti (mzanetti) wrote :

Ok. Figured that Screen.orientation stops updating when plugging/unplugging an external screen. Marking QtMir Confirmed.

Changed in qtmir (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Michael Zanetti (mzanetti) wrote :

Before the screen plug/unplug, QtMir produces those messages:

qtmir.sensor: Screen::onOrientationReadingChanged
qtmir.sensor: Screen::customEvent - new orientation 1 handled

They are gone after those steps to reproduce:

* Open the browser, rotate to landscape
* plug external screen
* unplug external screen
=> rotation is broken, the above messages won't appear any more.

kevin gunn (kgunn72)
summary: - [regression] ubuntu-pd instability
+ ubuntu-pd instability
summary: - ubuntu-pd instability
+ ubuntu-pd instability with rotation, OSK and hdmi plug/unplug
Revision history for this message
kevin gunn (kgunn72) wrote :

OSK disappearing, steps i used on image140+silo37 (which just landed)
1) boot phone, still locked, I placed in cradle landscape
2) unlocked phone with OSK
3) connected hdmi
4) selected dash search - osk appeared
5) diconnect, reconnect, rotating - osk appeared (including osk rotating on trackpad)
6) no rotation, connect, launch browser, select url bar - osk appeared
7) disconnect rotated, interact with browser/locking phone - osk appearing
8) reconnect, select browser - NO osk , once here, no matter how many reboots etc, OSK won't appear on trackpad, altho also in this state the osk appears on disconnected device just fine.

Revision history for this message
kevin gunn (kgunn72) wrote :

re no OSK on trackpad situation

phablet@ubuntu-phablet:~$ gsettings list-recursively com.canonical.keyboard.maliit | sort
com.canonical.keyboard.maliit active-language 'en'
com.canonical.keyboard.maliit auto-capitalization false
com.canonical.keyboard.maliit auto-completion false
com.canonical.keyboard.maliit disable-height false
com.canonical.keyboard.maliit double-space-full-stop false
com.canonical.keyboard.maliit enabled-languages ['en', 'emoji']
com.canonical.keyboard.maliit key-press-feedback false
com.canonical.keyboard.maliit key-press-feedback-sound '/usr/share/maliit/plugins/com/ubuntu/styles/ubuntu/sounds/key_tick2_quiet.wav'
com.canonical.keyboard.maliit key-press-haptic-feedback true
com.canonical.keyboard.maliit plugin-paths ['/custom/share/maliit/plugins/com/ubuntu/lib/']
com.canonical.keyboard.maliit predictive-text false
com.canonical.keyboard.maliit previous-language ''
com.canonical.keyboard.maliit spell-checking false
com.canonical.keyboard.maliit spell-checking-languages @as []
com.canonical.keyboard.maliit stay-hidden false

Revision history for this message
Michael Zanetti (mzanetti) wrote :

Missing OSK fixed in 2 of the linked branches

Changed in unity8 (Ubuntu):
status: Triaged → In Progress
Changed in qtmir (Ubuntu):
status: Confirmed → In Progress
Michał Sawicz (saviq)
Changed in canonical-devices-system-image:
status: New → In Progress
Changed in canonical-pocket-desktop:
status: Triaged → In Progress
Changed in canonical-devices-system-image:
importance: Undecided → Critical
assignee: nobody → Michał Sawicz (saviq)
milestone: none → ww08-2016
Revision history for this message
Lukáš Tinkl (lukas-kde) wrote :

FWIW, I'm hitting this as well inside the OOBE wizard.

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

This bug was fixed in the package qtmir - 0.4.7+16.04.20160310.1-0ubuntu1

---------------
qtmir (0.4.7+16.04.20160310.1-0ubuntu1) xenial; urgency=medium

  [ Alan Griffiths ]
  * Copy the Window Management work-in-progress from Mir examples.

  [ Alberto Aguirre ]
  * Hook MirOpenGLContext::doneCurrent to Screen::doneCurrent

  [ Daniel d'Andrada ]
  * Ensure QmlEngine doesn't delete our MirSurfaces

  [ Gerry Boland ]
  * Allow Mir remove command line arguments it understands, before
    letting Qt process them.
  * Ensure ScreenWindow geometry correctly set and used after moving
    Screen (LP: #1545286)
  * Screen: only enable orientation sensor for internal display. (LP:
    #1545286)

  [ Michael Terry ]
  * Fix some mocks to use more realistic code paths.

  [ Michael Zanetti ]
  * Add a dedicated property for the inputMethodSurface (LP: #1545286)

  [ Michał Sawicz ]
  * Drop dummy autopkgtest

 -- Michał Sawicz <email address hidden> Thu, 10 Mar 2016 09:29:49 +0000

Changed in qtmir (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.6 KiB)

This bug was fixed in the package unity8 - 8.11+16.04.20160310.4-0ubuntu1

---------------
unity8 (8.11+16.04.20160310.4-0ubuntu1) xenial; urgency=medium

  [ Albert Astals Cid ]
  * Add context for Re-dock as asked by translators (LP: #1534608)
  * Add emblem to the preview header widget (LP: #1424720)
  * Add haptics to ScopesListCategoryItem buttons
  * Audio Cards: Make some of the image loading async (LP: #1533432)
  * Do not create fallback code for the card tool fake card (LP:
    #1545865)
  * Fix resizing the dash bringing temp scopes size out of sync (LP:
    #1543130)
  * Minor fixes for unity-scope-tool
  * Resolve title alignment on card creator time instead of on runtime
  * Use fixedHeaderHeight only in the non cardtool cards
  * Use the new undeprecated connectivityqt::Connectivity
  * asynchronous is only false on the fake card in cardtool
  * clazy fixes

  [ Albert Astals Cid, CI Train Bot ]
  * click scope: Add the else branch so we reset the card size in all
    situations

  [ Andrea Cimitan ]
  * PreviewSharing widget now accepts both string and array of
    widgetData["share-data"]["uri"] (LP: #1549056)
  * Update AP tests for new single preview
  * Use Text.Wrap for body notification text (LP: #1544909)

  [ Andrea Cimitan, Lukáš Tinkl, Michael Zanetti, Nick Dedekind ]
  * some fixes for the new palette (LP: #1554616)

  [ CI Train Bot ]
  * Resync trunk.
  * Update translation template

  [ CI Train Bot, Daniel d'Andrada ]
  * Ensure the QML engine doesn't delete our mock MirSurfaces on its
    own.

  [ Daniel d'Andrada ]
  * tst_Shell: Remove unused qml items

  [ Josh Arenson ]
  * Allow the shell to blacklist input devices and force the OSK shown.
    (LP: #1542224)

  [ Lukáš Tinkl ]
  * Disallow resizing windows up, past the Panel (LP: #1544766)
  * Elide the window title not to let it overflow into the indicators
    area (LP: #1535767)
  * Enable the PIN lockscreen to be used with a HW keyboard (LP:
    #1550359)
  * Fix tiny windows when switching stages
  * Provide a range of ports to QML JS Debugger
  * Watch for launcher item icon changes (LP: #1543290)

  [ Michael Terry ]
  * Proxy more mouse and touchpad properties to USC (LP: #1540398) (LP:
    #1543344, #1540398)
  * Refactor the AccountsService plugin and make it slightly faster.
  * To let the user log in if a mouse is connected, hide the greeter
    cover page on a mouse click (but NOT a touch click). (LP: #1540497)
  * Watch AccountsService for changes to the user's real name. This was
    preventing us from noticing when the user set their name in the
    welcome wizard.

  [ Michael Zanetti ]
  * Allow alt+tabbing in staged mode too (LP: #1540502)
  * Allow invoking the staged mode spreads by mouse right edge pushes
    too (LP: #1540392)
  * Allow loading the device configuration from an external file
  * Implement Launcher's keyboard navigation and updated pip design
  * Make launcher scalable, allow it locking (LP: #1511015)
  * Properly parent launcher items in all cases (LP: #1495732)
  * Read inputMethod surface from the new property int QtMir (LP:
    #1545286)
  * Some visual updates and rotation lock for the virtual touchpad (LP:
    ...

Read more...

Changed in unity8 (Ubuntu):
status: In Progress → Fix Released
Changed in canonical-devices-system-image:
status: In Progress → Fix Committed
no longer affects: mir
no longer affects: mir (Ubuntu)
Changed in canonical-devices-system-image:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.