Thanks for the detailed information, every bit helps. This is a tricky
one to figure out.

First off, did you get this from /usr/lib/indicator-session/gtk-logout-
helper --logout ? I see

gnome-session[2984]: DEBUG(+): GsmManager: sending query-end-session to
clients (logout mode: no confirmation)

and wonder why there was no confirmation.

Also, are you using the latest PPA or Onieric beta?


Taking your log without the Dash first:

On logout, gnome-session sends the "QueryEndSession" signal to every app
to ask if they're ok with quitting now, and waits for a reply. unity-
2d-{panel,launcher} gets this and sends a reply, which should declare
that it's ok.

gnome-session[2984]: DEBUG(+): GsmDBusClient: sending QueryEndSession signal to 
:1.21
unity-2d-launcher: [DEBUG] void GnomeSessionClient::queryEndSession(): 
unity-2d-launcher: [DEBUG] bool 
GnomeSessionClientPrivate::sendEndSessionResponse(): 
gnome-session[2984]: DEBUG(+): GsmManager: adding client to query clients: 
/org/gnome/SessionManager/Client6

Instead it appears to be sending the opposite, that it is busy:

gnome-session[2984]: DEBUG(+): GsmManager: Inhibitor app:unity-2d-panel
client:/org/gnome/SessionManager/Client5 bus-name: reason:Questo
programma sta bloccando la terminazione della sessione.

which gnome-session-manager considers an "Inhibitor" of logout - used in
the "The apps are blocking logout" dialog.

I'm surprised that it is doing this. Anyway, eventually unity-
2d-{panel,launcher} say that they're ok with quitting (is-ok=1):

gnome-session[2984]: DEBUG(+): GsmXSMPClient: Client '0x9a7f590 
[unity-2d-launcher 1022e5226e5dbeea9131841391225066900000029840038]' received 
InteractDone(cancel_shutdown = False)
gnome-session[2984]: DEBUG(+): GsmManager: Response from end session request: 
is-ok=1 do-last=0 cancel=0 reason=

the Inhibitor is removed, and the QueryEndSession phase completes.

Next the EndSession phase begins, when apps are all told to quit.

gnome-session[2984]: DEBUG(+): GsmXSMPClient: Client '0x9a7f590 
[unity-2d-launcher 1022e5226e5dbeea9131841391225066900000029840038]' received 
SaveYourselfDone(success = True)
gnome-session[2984]: DEBUG(+): GsmManager: Response from end session request: 
is-ok=1 do-last=0 cancel=0 reason=

We again confirm that we're ok to quit (above output), and start the
shutdown. In order to shutdown in a way that gnome-session is aware of,
we stay alive long enough to receive the EndSession signal:

unity-2d-panel: [DEBUG] void GnomeSessionClient::waitForEndSession(): 
Application is about to quit, waiting for gnome-session to call us back 
unity-2d-panel: [DEBUG] void GnomeSessionClient::endSession(): 
unity-2d-panel: [DEBUG] bool 
GnomeSessionClientPrivate::sendEndSessionResponse(): 

which it must do within 3 seconds, or we quit anyway with an error (not
in your log, so good). Note that gnome-session is designed to kill any
program after 10 seconds if it doesn't reply. That could explain the
wait.

Yet I still see at the very end of your log (mine too):
unity-2d-launcher: [WARNING] Gdk: unity-2d-launcher: Fatal IO error 0 
(Successo) on X server :0.

I believe this message comes from a thread which monitors keypresses
(for the Super key & other shortcuts). I suspect that this thread isn't
exiting on quit, stopping the launcher from exiting cleanly.

Your with-dash output looks pretty consistent with what I expect. I'm
still digging.

This is my progress so far, I thought you'd like to know :)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/812104

Title:
  Long delay on session logout

To manage notifications about this bug go to:
https://bugs.launchpad.net/unity-2d/+bug/812104/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to