Bug 26698

Summary: Deadlock involving dbus-python and some other thread. Needs debugging.
Product: Telepathy Reporter: David Laban <david.laban>
Component: fargoAssignee: David Laban <david.laban>
Status: RESOLVED FIXED QA Contact: Simon McVittie <smcv>
Severity: normal    
Priority: medium Keywords: patch
Version: unspecified   
Hardware: Other   
OS: All   
URL: http://git.collabora.co.uk/?p=user/alsuren/telepathy-fargo.git;a=shortlog;h=refs/heads/deadlock
Whiteboard: review+
i915 platform: i915 features:

Description David Laban 2010-02-22 06:47:56 UTC
Currently we have a deadlock which is worked around with a watchdog in telepathy_fargo.tac. This makes me very sad, and makes it hard to keep the process alive for long enough to properly benchmark it.

This is what I am currently working on. Expect a patch to dbus-python or something soon.
Comment 1 David Laban 2010-02-25 12:18:24 UTC
After a most excellent adventure into gdb+python, via http://dmalcolm.livejournal.com/4545.html and recompiling python2.5 from source, I managed to isolate the bug and fix it. While the deadlock happens because of a non-reentrant lock in dbus python, I don't think a reentrant lock would be safe, so I just pushed unregistering into an idle.

I should probably do some more load testing just to make sure we don't have any other sneaky deadlocks.
Comment 2 Simon McVittie 2010-02-25 13:50:56 UTC
This is terrifying, but looks OK. Ship it, and if you can suggest an improvement to dbus-python, please do so.
Comment 3 Simon McVittie 2010-03-17 05:49:56 UTC
Did you merge this in the end?
Comment 4 David Laban 2010-03-22 05:40:43 UTC
Oops: not pushed to origin. Done now. Closing.

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.