[Bug 51634] New: Possible ref count bug in mission-control wrt McdAccount

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Jul 2 01:33:38 CEST 2012


https://bugs.freedesktop.org/show_bug.cgi?id=51634

             Bug #: 51634
           Summary: Possible ref count bug in mission-control wrt
                    McdAccount
    Classification: Unclassified
           Product: Telepathy
           Version: unspecified
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: mission-control
        AssignedTo: telepathy-bugs at lists.freedesktop.org
        ReportedBy: scampa.giovanni at gmail.com
         QAContact: telepathy-bugs at lists.freedesktop.org


While debugging a reproducible crash in mission-control-5 due to restarting the
gnome-online-accounts daemon, I found that two accounts with the same name try
to get on the same DBus name, which causes an assert in dbus-glib.
Since mcd_account_delete is correctly called when goa-daemon goes down (*), and
since I suppose dbus-glib removes the DBus object registration when the
associated GObject is finalized, there must be something keeping the dying
McdAccount alive.
I tracked down to created_cb in mcd-account-manager.c. It creates the account
through ->account_new, so it gets one reference. Then the account is added to
the store in async_created_manager_cb, where the comment says it will be
referenced (and in fact it is, by add_account).
Loading data, including the original ref to McdAccount, is said to be finalized
through _mcd_account_load inside release_load_accounts_lock, but that only
frees the containing structure, and not any object it refers to.

(*) I only saw that because I was debugging another crasher, due to invalid
parameters passed to libgnome-keyring when removing a non-goa account.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA Contact for the bug.
You are the assignee for the bug.



More information about the telepathy-bugs mailing list