#12210 NORM 13.1.0: maliit-server causes slow GNOME shutdown (xsmp infinite registration loop) (was: [CL4]Switch from gnome to sugar takes a long time)
Zarro Boogs per Child
bugtracker at laptop.org
Mon Nov 12 12:56:28 EST 2012
#12210: maliit-server causes slow GNOME shutdown (xsmp infinite registration loop)
---------------------------------+------------------------------------------
Reporter: garysu | Owner: dsd
Type: defect | Status: assigned
Priority: normal | Milestone: 13.1.0
Component: distro | Version: not specified
Resolution: | Keywords:
Next_action: never set | Verified: 0
Deployment_affected: | Blockedby:
Blocking: |
---------------------------------+------------------------------------------
Comment(by dsd):
Here's whats happening:
1. gnome-session shuts down all of its clients, one by one, including
maliit-server
2. Something triggers maliit-server to launch again - probably dbus-
activation of a message fired by the maliit GTK+ IM plugin due to a change
of widget focus
3. The new maliit-server attempts to register with gnome-session over
XSMP
4. gnome-session rejects the maliit-server connection attempt due to this
code:
{{{
static gboolean
on_xsmp_client_register_request (GsmXSMPClient *client,
char **id,
GsmManager *manager)
{
if (manager->priv->phase >= GSM_MANAGER_PHASE_QUERY_END_SESSION) {
goto out;
}
}}}
The last 2 steps repeat infinitely, until gnome-session hits a timeout and
stops trying to handle maliit-server. While this is happening, gnome-
session produces these debug messages:
{{{
gnome-session[1919]: DEBUG(+): GsmXSMPClient: Client '0x795e0 []' received
RegisterClient(NULL)
gnome-session[1919]: DEBUG(+): GsmXSMPClient: rejected: invalid
previous_id
}}}
This means that the above diagnosis has probably given us a good
explanation of http://bugs.sugarlabs.org/ticket/1624 as well.
The next question is why this loops infinitely instead of just failing
once. The answer seems to be in libSM.
--
Ticket URL: <http://dev.laptop.org/ticket/12210#comment:4>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system
More information about the Bugs
mailing list