Summary: | terminating action chain in pendingproc_connect_signals() leads to crash | ||
---|---|---|---|
Product: | Telepathy | Reporter: | Danielle Madeley <danielle> |
Component: | logger | Assignee: | Telepathy bugs list <telepathy-bugs> |
Status: | RESOLVED FIXED | QA Contact: | Telepathy bugs list <telepathy-bugs> |
Severity: | normal | ||
Priority: | medium | CC: | cosimo.alfarano |
Version: | git master | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Danielle Madeley
2010-03-17 20:40:23 UTC
Ok. This patch cleans a few things up, it makes channel registering a bit less messy, and fixes a leak in TplActionChain that means it's now possible to finalize a channel. When the dead channel is finalized it stops receiving signals and later crashing the logger. http://git.collabora.co.uk/?p=user/danni/telepathy-logger.git;a=commitdiff;h=9cd9a58d7331a96e20f262402628b81dfc675c68 Freeing the action chain is now moved from tpl_actionchain_continue/terminate to tpl_actionchain_finish, otherwise you can't get the result. The bug was that tpl_actionchain_free() didn't free the GSimpleAsyncResult, so it leaked, along with its ref to the source object. That has now been fixed, so we can't free it before we get the result. Also includes the contents of tpl-conf-iface commit 7971e1a0d6101cd125381ca1860f7c79ef8f74d0 which I independently came across and then realised was the same thing. ~ Need to still fix the bug where channels not implementing Messages never get logged. Found another leak. TplLogEntryText objects were being leaked, which summarily leaked TplChannelText's that had received a message. Fixed this and merged it to master along with the rest of log-store-sqlite-avoid-dups. |
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.