indicator-application-service leaking memory (~10 MiB/h)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Application Indicators |
Fix Released
|
High
|
Unassigned | ||
indicator-application (Ubuntu) |
Fix Released
|
High
|
Unassigned |
Bug Description
I monitored some processes while the system was idling (see http://
I'm attaching a valgrind log (less than an hour runtime), though I've been told on IRC that this isn't really helpful, but at least the issue is now reported. :-)
==5285== LEAK SUMMARY:
==5285== definitely lost: 554,553 bytes in 7,712 blocks
==5285== indirectly lost: 6,904,435 bytes in 169,367 blocks
==5285== possibly lost: 7,313 bytes in 132 blocks
==5285== still reachable: 388,048 bytes in 10,436 blocks
==5285== suppressed: 0 bytes in 0 blocks
ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: indicator-
ProcVersionSign
Uname: Linux 3.2.0-15-generic x86_64
ApportVersion: 1.91-0ubuntu1
Architecture: amd64
Date: Fri Feb 10 18:33:28 2012
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Beta amd64 (20110901)
SourcePackage: indicator-
UpgradeStatus: No upgrade log present (probably fresh install)
Related branches
- Ted Gould (community): Approve
-
Diff: 16 lines (+1/-1)1 file modifiedsrc/application-service-appstore.c (+1/-1)
Changed in indicator-application (Ubuntu): | |
importance: | Undecided → High |
Changed in indicator-application (Ubuntu): | |
status: | New → In Progress |
assignee: | nobody → sbte (sbte) |
Changed in indicator-application: | |
importance: | Undecided → High |
status: | New → In Progress |
assignee: | nobody → sbte (sbte) |
Changed in indicator-application: | |
assignee: | sbte (sbte) → nobody |
Changed in indicator-application (Ubuntu): | |
assignee: | sbte (sbte) → nobody |
Changed in indicator-application: | |
status: | In Progress → Fix Committed |
Changed in indicator-application (Ubuntu): | |
status: | In Progress → Fix Committed |
Changed in indicator-application: | |
status: | Fix Committed → Fix Released |
Changed in indicator-application (Ubuntu): | |
status: | Fix Committed → Fix Released |
It seems like the biggest leak there is coming from a GDBus message. Probably one getting created that we're either keeping a ref when we shouldn't or not unref'ing when we should. I looked through the code and didn't see anything. But, I thought I'd leave a comment for the next person :-/
==5285== 7,458,523 (554,328 direct, 6,904,195 indirect) bytes in 7,699 blocks are definitely lost in loss record 1,568 of 1,568 valgrind/ vgpreload_ memcheck- amd64-linux. so) create_ instance (gtype.c:1872) constructor (gobject.c:1839) message_ new_from_ blob (gdbusmessage. c:1685)
==5285== at 0x4C2B6CD: malloc (in /usr/lib/
==5285== by 0x5A69918: g_malloc (gmem.c:159)
==5285== by 0x5A7C5E2: g_slice_alloc (gslice.c:1003)
==5285== by 0x5A7CB25: g_slice_alloc0 (gslice.c:1029)
==5285== by 0x57FD859: g_type_
==5285== by 0x57E1FC8: g_object_
==5285== by 0x57E3B41: g_object_newv (gobject.c:1622)
==5285== by 0x57E412B: g_object_new (gobject.c:1532)
==5285== by 0x553E558: g_dbus_