[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