Bug 14750

Summary: Crash in mcd_channel_dispose probably caused by weak reference brokenness
Product: Telepathy Reporter: Simon McVittie <smcv>
Component: tp-glibAssignee: Simon McVittie <smcv>
Status: RESOLVED FIXED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Simon McVittie 2008-02-29 07:55:29 UTC
Alberto Mardegan reports a crash in Mission Control that is only reproducible under Valgrind, which appears to boil down to:

15:46 < smcv> so you make a call
15:47 < smcv> you unref the channel
15:47 < smcv> the channel is kept alive by the call
15:47 < Mardy> yes
15:47 < smcv> you now dispose of the weak_object for that call
15:47 < smcv> and it crashes?

I suspect this may be telepathy-glib's fault.
Comment 1 Simon McVittie 2008-02-29 08:22:42 UTC
It turns out that the problem is caused by:
* make a proxy, p, and an object, o, each with one ref
* make a function call with o as weak object
* connect to a signal with o as weak object
* unref p
* unref o
Comment 2 Simon McVittie 2008-03-05 04:22:33 UTC
Fixed in 0.7.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.