Bug 67139 - Unref current Sugar activity while unrefing all activities previously announced by a contact
Summary: Unref current Sugar activity while unrefing all activities previously announc...
Status: NEW
Alias: None
Product: Telepathy
Classification: Unclassified
Component: gabble (show other bugs)
Version: 0.13
Hardware: Other All
: medium normal
Assignee: Telepathy bugs list
QA Contact: Telepathy bugs list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-07-21 14:14 UTC by Aleksey Lim
Modified: 2013-07-21 14:14 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Aleksey Lim 2013-07-21 14:14:51 UTC
telepathy-gabble-0.13.6 (at least), doesn't unref current Sugar activity while unrefing all activities previously announced by a contact in extract_activities() function. The issue can be reproduced the by the following top-level Sugar usecase:

(1) client A shares new Sugar activity;
(2) client B joins it;
(3) client A reflects on appearing B and sets B's current activity to the newly shared one;
(4) client A leaves the channel;
(5) client B leaves the channel;
(6) on client A side, the refcount incremented by (3) is not reverted.

The affected code:

> --- a/src/conn-olpc.c
> +++ b/src/conn-olpc.c
> @@ -730,6 +730,7 @@ extract_activities (GabbleConnection *conn,
> 
>    if (old_activities != NULL)
>      {
> +      g_hash_table_remove (conn->olpc_current_act, GUINT_TO_POINTER (sender));
>        /* We decrement the refcount (and free if needed) all the
>         * activities previously announced by this contact. */
>        tp_handle_set_foreach (old_activities,


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.