Bug 29731

Summary: Tests (or tp-qt4 itself?) leak memory horribly
Product: Telepathy Reporter: Olli Salli <ollisal>
Component: tp-qtAssignee: Telepathy bugs list <telepathy-bugs>
Status: RESOLVED FIXED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium CC: andrunko
Version: git master   
Hardware: All   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Olli Salli 2010-08-22 08:34:04 UTC
There has been a check-valgrind Make target in the tp-qt4 build system for a while now. Overjoyed by this discovery, I ran it, and found out a number of memory use bugs both in tp-qt4 library code and the test code, which I already fixed in the branch for bug #29702. However, there also are a lot of memory leaks in the tests identified this way. While some of them (all, hopefully! but probably not) might be false positives, we should at least make suppressions for them and use those suppressions in check-valgrind.

This is important, because now that the tests leak memory, we can't identify memory leaks in tp-qt4 proper. Some of the memory leaks reported in the tests may in fact currently be in the library code, affecting real tp-qt4 using applications in addition to just the tests.

Once this is fixed, it should be added to the release procedure to do make check-valgrind to ensure that there are no memory leaks or other memory errors in the code which the tests run. If new false positives surface, the suppressions should be updated.
Comment 1 Olli Salli 2010-12-06 10:17:53 UTC
Fix merged to master. Will be in 0.5.1.

There's still one source of leaks: doing becomeReady(FeatureRoster(Groups)) on a Connection will make that Connection never be freed. While quite an expensive leak, fixing it would be quite hard in the current code BUT it will be fixed by andre's current work targetting using the new Conn.I.Roster API, disabling the code that causes the leak for new CMs.

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.