Bug 22670 - When a client loses any well-known name, MC thinks it has crashed
Summary: When a client loses any well-known name, MC thinks it has crashed
Alias: None
Product: Telepathy
Classification: Unclassified
Component: mission-control (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Simon McVittie
QA Contact: Telepathy bugs list
URL: http://git.collabora.co.uk/?p=user/sm...
Keywords: patch
Depends on:
Reported: 2009-07-08 04:46 UTC by Simon McVittie
Modified: 2009-07-20 05:50 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Description Simon McVittie 2009-07-08 04:46:00 UTC
>        if (old_owner[0] == ':')
>        {
>            /* it's a unique name - maybe it was handling some channels? */
>            _mcd_handler_map_set_handler_crashed (priv->handler_map,
>                                                  old_owner);
>        }

Both occurrences of "old_owner" here should be "name".

Consider a handler with multiple names, like the fake Kopete in test/twisted/dispatcher/bypass-approval.py:

* unique name, say :1.94
* main well-known name ...Client.Kopete
* sub-handler to claim special channels without approval, ...Client.Kopete.BypassApproval

Now consider what happens if Kopete no longer wishes to bypass approval. MC sees this NameOwnerChanged signal:

* owner of ...Client.Kopete.BypassApproval changed from :1.94 to nothing

That shouldn't cause it to take any special action (except removing the .BypassApproval filter). However, because of the above logic error it's interpreting it as if it was:

* owner of :1.94 changed from :1.94 to nothing

which is what happens if Kopete crashes, causing all its channels to be closed.
Comment 1 Simon McVittie 2009-07-08 09:21:20 UTC
Patch and release preparations in http://git.collabora.co.uk/?p=user/smcv/telepathy-mission-control-smcv.git;a=shortlog;h=refs/heads/misc - I'd like to get this released tomorrow.
Comment 2 Simon McVittie 2009-07-20 05:50:23 UTC
Fixed in 5.1.4

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.