Dash doesn't accept input (appears frozen) after youtube scope auth

Bug #1534541 reported by Paweł Stołowski
44
This bug affects 6 people
Affects Status Importance Assigned to Milestone
Canonical System Image
Fix Released
High
Michał Sawicz
Mir
Invalid
Undecided
Unassigned
ubuntu-system-settings-online-accounts (Ubuntu)
Invalid
Undecided
Unassigned
unity-scopes-shell (Ubuntu)
Invalid
Critical
Unassigned
unity8 (Ubuntu)
Fix Released
Critical
Nick Dedekind

Bug Description

1. Make sure youtube scope is not favorited.
2. Remove Google account from Accounts settings.
3. Open youtube scope via Manage Dash
4. Hit the orange 'Log-in to..' button
5. Authenticate with google.
6. Wait till youtube results are refreshed.

The dash appears frozen now. It doesn't crash though, in fact the process is running and the dash responds to the dbus signal which invalidates current scope and forces a refresh (tested with dbus-send --session --type=signal '/com/canonical/unity/scopes' com.canonical.unity.scopes.InvalidateResults string:'clickscope').

Note, the launcher as well as apps still receive input and work ok.

Tags: testcase

Related branches

Revision history for this message
Paweł Stołowski (stolowski) wrote :
Changed in unity-scopes-shell (Ubuntu):
importance: Undecided → Critical
summary: - Dash doesn't accept input (appears frozen) after scope auth
+ Dash doesn't accept input (appears frozen) after youtube scope auth
Changed in canonical-devices-system-image:
importance: Undecided → Critical
assignee: nobody → kevin gunn (kgunn72)
status: New → Confirmed
Changed in unity-scopes-shell (Ubuntu):
status: New → Confirmed
Changed in canonical-devices-system-image:
milestone: none → ww02-2016
description: updated
Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :

Confirmed on latest rc-proposed (krillin 231). The dash doesn't receive any input but the launcher, the indicators, the greeter or any app launched from the launcher work fine.

tags: added: testcase
Revision history for this message
Paweł Stołowski (stolowski) wrote :

Some more observations / remarks:

- I cannot reproduce it with Facebook scope (which uses similiar auth scenario - i.e. a special card in the scope search results, as opposed to authentication from a preview).
- I cannot reproduce it with Ubuntu Store scope (which uses different auth scenario - from a preview).
- I'm able to reproduce with Youtube scope every time.

In all authentication scenarios the dash calls into online accounts api. For the duration of authentication (i.e. when the auth prompt is displayed), the dash runs a QEventLoop with disabled input processing, so that it's not possible to interact with the dash until auth fails or succeeds:

    QEventLoop loop;
    connect(&future_watcher, &QFutureWatcher<void>::finished, &loop, &QEventLoop::quit);
    loop.exec(QEventLoop::ProcessEventsFlag::ExcludeUserInputEvents);

This loop is stopped as soon as auth API finishes processing the prompt (see http://bazaar.launchpad.net/~unity-team/unity-scopes-shell/trunk/view/head:/src/Unity/logintoaccount.cpp).

Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :

This issue is reproducible on OTA8.5. Given that it is not a regression and a very specific case, I'm dropping the priority and targeting to next OTA.

Changed in canonical-devices-system-image:
importance: Critical → High
milestone: ww02-2016 → ww08-2016
Revision history for this message
Paweł Stołowski (stolowski) wrote :
Revision history for this message
Paweł Stołowski (stolowski) wrote :
Revision history for this message
Paweł Stołowski (stolowski) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

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

Changed in ubuntu-system-settings-online-accounts (Ubuntu):
status: New → Confirmed
Changed in unity8 (Ubuntu):
status: New → Confirmed
Revision history for this message
Alberto Mardegan (mardy) wrote :

I've marked bug 1536100 as a duplicate of this bug, even though that case is quite different: there, it's the Facebook webapp with is not receiving using input after the trusted session terminates.

I don't think that Online Accounts or Oxide can do anything to cause the input to be blocked for *another* process (OA and oxide run in the process that is shown in the trusted session, which should not be able to cause any harm to the initiator of the trusted session, which in this case is the dash).

I'm adding the mir project for investigation.

Changed in ubuntu-system-settings-online-accounts (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Alberto Mardegan (mardy) wrote :

Have no idea what happened to my comment :-) I meant: "...there, it's the Facebook webapp which is not receiving user input..."

Revision history for this message
Evgeny (zhenchik35026) wrote :

I have simmilar bug when exiting fullscreen mode on youtube. Everything freezes, but I still can move mouse and do ctrl+alt+f1.

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

we did just release mir0.19 on friday. it was a nontrivial release with bug fixes around input as well.
It would be good to confirm you still see this bug today.

Changed in mir:
status: New → Incomplete
Changed in unity8 (Ubuntu):
assignee: nobody → Nick Dedekind (nick-dedekind)
Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :

It is still an issue on
current build number: 237
device name: arale
channel: ubuntu-touch/rc-proposed/meizu.en

Changed in mir:
status: Incomplete → Confirmed
Changed in ubuntu-system-settings-online-accounts (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Please do this to help us debug the situation:

   restart unity8-dash MIR_CLIENT_INPUT_RECEIVER_REPORT=log

Now log in to the device and tail -f unity8-dash.log You should see the input events coming in. Now reproduce the bug. Do the input events keep getting logged?

Changed in mir:
status: Confirmed → Incomplete
Revision history for this message
Nick Dedekind (nick-dedekind) wrote :

No events from the client input receiver. or the unity8 server input log; so it seems it's a u8/qtmir issue.

Changed in unity8 (Ubuntu):
importance: Undecided → Critical
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Oh I missed "Note, the launcher as well as apps still receive input and work ok." which makes it very likely Mir is not involved in this bug.

Changed in mir:
status: Incomplete → Invalid
Changed in unity-scopes-shell (Ubuntu):
status: Confirmed → Invalid
Changed in ubuntu-system-settings-online-accounts (Ubuntu):
status: Confirmed → Invalid
Revision history for this message
Marcus Tomlinson (marcustomlinson) wrote :

Nick's branch indeed fixes the issue. Thanks Nick!

Changed in unity8 (Ubuntu):
status: Confirmed → In Progress
Michał Sawicz (saviq)
Changed in canonical-devices-system-image:
status: Confirmed → In Progress
assignee: kevin gunn (kgunn72) → Michał Sawicz (saviq)
Revision history for this message
Launchpad Janitor (janitor) wrote :

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

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

  [ Albert Astals Cid ]
  * Do not use components in card creator generated code
  * Forward the makesurevisible signal from the inner preview widget
  * Make fallback also be fallback when the image is empty and not only
    on error (LP: #1531913)
  * Make the artShapeSize assignment be updated when using dynamic grid
    units
  * Visual improvements to the dash audio play cards
  * We don't use the unity-scope-scopes anymore (LP: #1439172)

  [ Andrea Cimitan ]
  * only request a bigger image if zoomable widget data property is
    true, otherwise just leave the screen size (LP: #1536814)

  [ CI Train Bot ]
  * Update translation template

  [ Daniel d'Andrada ]
  * Set initial surface size (LP: #1532974)

  [ Daniel d'Andrada, Michał Sawicz ]
  * Window Size Hints

  [ Florian Boucault ]
  * Splash screen: delay showing the ActivityIndicator by 2 seconds.

  [ Lukáš Tinkl ]
  * Replace the word "phone" with a more generic term "device" in the
    welcome wizard (LP: #1294732, #1543527)

  [ Michael Terry ]
  * Have the tablet greeter set appropriate OSK hints if the user has a
    passcode instead of a passphrase. (LP: #1544173)

  [ Michael Zanetti ]
  * Don't eat mouse events in the edgebarrer

  [ Michał Sawicz ]
  * Bump unity-api dependencies

  [ Nick Dedekind ]
  * Added support for secondary indicator actions (LP: #1398888)
  * Remove zombie if they're not animated. (LP: #1534541)
  * Removed unused panel resources

  [ Ted Gould ]
  * Start the indicators after Unity8 starts instead of before

 -- Michał Sawicz <email address hidden> Fri, 12 Feb 2016 00:12:41 +0000

Changed in unity8 (Ubuntu):
status: In Progress → Fix Released
Michał Sawicz (saviq)
Changed in canonical-devices-system-image:
status: In Progress → Fix Committed
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.