[dash] The dash takes 25 seconds to show up when invoked

Bug #738025 reported by Mariano Chavero
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
unity-2d
Fix Released
Critical
Olivier Tilloy

Bug Description

Unity 2D places takes a very long time to launch when click the applications, places or ubuntu logo icons. Panel and Launcher stop working while Places is launch after call. There is no problem if I launch unity-2d-places from the applications folder in nautilus.

Hope this helps,
Cheers

-Mariano

Related branches

Revision history for this message
Mariano Chavero (marianochavero) wrote :
Revision history for this message
Olivier Tilloy (osomon) wrote :

Thanks for the report Mariano.

If I understand correctly the issue you are facing, the first time you try to open the places (aka dash) it takes a long time to load and the other parts of the UI become unresponsive. Is that correct?

Please note that the startup of unity-2d-places is intentionally delayed by 10 seconds in order not to impact startup time.

Changed in unity-2d:
status: New → Incomplete
Revision history for this message
Bill Filler (bfiller) wrote : Re: Unity 2D Places not starting on demand

I can confirm this with the latest from ppa. When clicking the apps place (or any place) we are supposed to start the place and display it. This not working correctly anymore. There is a very long delay after clicking until the place is shown - like 10-20 seconds. It's reproducible each time after login.

Changed in unity-2d:
status: Incomplete → Confirmed
importance: Undecided → Critical
milestone: none → 3.8
assignee: nobody → Olivier Tilloy (osomon)
summary: - Unity 2D Places process not running at startup
+ Unity 2D Places not starting on demand
Revision history for this message
Bill Filler (bfiller) wrote :

I see 2 problems:
1) places are not autostarting after 10 seconds - they are never autostarted
2) clicking place from launcher results in major delay until visible ui

attaching .xsessions-error

Revision history for this message
Bill Filler (bfiller) wrote :
summary: - Unity 2D Places not starting on demand
+ [dash] not starting on demand
Revision history for this message
Bill Filler (bfiller) wrote : Re: [dash] not starting on demand

also confirming as marian reports that the rest of the ui (i.e. indicators, etc,) are blocked while waiting for place to appear

Revision history for this message
Mariano Chavero (marianochavero) wrote :

Unity-2d got an update today (Using daily PPA)
The bug is still there, but now the icons on the launcher don't move.. Can't drag icons inside the launcher. 'killall unity-2d-launcher' doesn't change anything.

I wanted to let you guys know before I submit another bug report... ?

Cheers,

-Mariano

Revision history for this message
Olivier Tilloy (osomon) wrote :

@Mariano: that’s definitely a different issue, please file a separate bug report and we’ll look into it. Thanks!

Revision history for this message
Olivier Tilloy (osomon) wrote :

I can reproduce, and it’s actually quite bad: in my VM, the dash takes more than 20 seconds to appear after a place entry is clicked in the launcher. During all this time, no message is issued to .xsession-errors. The only message that is potentially related to the issue is printed just when the dash finally appears:

unity-2d-launcher: [WARNING] void PlaceEntry::connectToDash(): Fetching Dash.active property failed

Changed in unity-2d:
status: Confirmed → In Progress
Revision history for this message
Olivier Tilloy (osomon) wrote :

So it looks like when clicking a place entry in the launcher, or when clicking the ubuntu button in the panel, the executable for the dash (/usr/bin/unity-2d-places) is started instantly, yet in both cases the actual dash takes ~25 seconds to appear on screen.

However if unity-2d-places is previously started from a terminal, invoking the dash shows it almost immediatly. It looks like the issue is with the D-Bus interface of the dash: the issue can be reproduced by making sure unity-2d-places in not running and invoking the following command:

    qdbus com.canonical.Unity2d.Dash /Dash com.canonical.Unity2d.Dash.activateHome

Revision history for this message
Olivier Tilloy (osomon) wrote :

The revision number that introduced this regression is 458 ([dash] Keep the Launcher visible when the Dash appears).

Revision history for this message
Olivier Tilloy (osomon) wrote :

The blocking call is the instantiation of the D-Bus interface in LauncherClientPrivate::init():

    m_iface = new QDBusInterface(LAUNCHER_DBUS_SERVICE,
                                 LAUNCHER_DBUS_OBJECT_PATH,
                                 LAUNCHER_DBUS_INTERFACE,
                                 QDBusConnection::sessionBus(), q);

Revision history for this message
Olivier Tilloy (osomon) wrote :

It looks like we are hitting http://bugreports.qt.nokia.com/browse/QTBUG-14485.
A possible solution is to use QDBusConnection::asyncCall (http://doc.qt.nokia.com/qdbusconnection.html#asyncCall) instead of building a QDBusInterface.

Olivier Tilloy (osomon)
summary: - [dash] not starting on demand
+ [dash] The dash takes 25 seconds to show up when invoked
Changed in unity-2d:
status: In Progress → Fix Committed
Changed in unity-2d:
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.