Small memory leak
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Application Indicators |
Invalid
|
Medium
|
Charles Kerr | ||
indicator-application (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Valgrind shows a small memory leak (the last "definitely lost" one not reported):
==9997== 555 (40 direct, 515 indirect) bytes in 1 blocks are definitely lost in loss record 1,774 of 1,837
==9997== at 0x4C2B6CD: malloc (in /usr/lib/
==9997== by 0x5A6EBC8: g_malloc (gmem.c:159)
==9997== by 0x5A818B2: g_slice_alloc (gslice.c:1003)
==9997== by 0x5A9B9F9: g_variant_alloc (gvariant-
==9997== by 0x5A9BB5C: g_variant_
==9997== by 0x5A991E5: g_variant_
==9997== by 0x5A9A8B2: g_variant_
==9997== by 0x5A9AC16: g_variant_new_va (gvariant.c:4591)
==9997== by 0x5A9AD37: g_variant_new (gvariant.c:4530)
==9997== by 0x406839: check_with_
==9997== by 0x404799: check_with_
==9997== by 0x5A660D6: g_list_foreach (glist.c:900)
==9997== by 0x40457B: got_all_properties (application-
==9997== by 0x54E591C: g_simple_
==9997== by 0x5542F05: reply_cb (gdbusproxy.c:2612)
==9997== by 0x54E591C: g_simple_
==9997== by 0x5538FB9: g_dbus_
==9997== by 0x54E591C: g_simple_
==9997== by 0x54E5A4B: complete_in_idle_cb (gsimpleasyncre
==9997== by 0x5A68DD9: g_main_
==9997== by 0x5A6919F: g_main_
==9997== by 0x5A69599: g_main_loop_run (gmain.c:3312)
==9997== by 0x403015: main (application-
application-
ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: indicator-
ProcVersionSign
Uname: Linux 3.2.0-18-generic x86_64
ApportVersion: 1.94.1-0ubuntu2
Architecture: amd64
Date: Tue Mar 13 13:01:46 2012
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Beta amd64 (20110901)
SourcePackage: indicator-
UpgradeStatus: No upgrade log present (probably fresh install)
Changed in indicator-application: | |
importance: | Undecided → Medium |
assignee: | nobody → Charles Kerr (charlesk) |
I don't see the bug here. As the description says, passing the result of a g_variant_new() call (that is, a floating GVariant) as the third argument to g_dbus_proxy_call() should be fine according to the docs: "If the parameters GVariant is floating, it is consumed. This allows convenient 'inline' use of g_variant_new()"
Hernando, are you running valgrind with G_SLICE= always- malloc ? My first guess is maybe this slice is being leaked from some other item in the same slice never being freed.