libindicate, libdbusmenu, indicator-messages-service memleaks
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| DBus Menu |
Fix Released
|
Undecided
|
Unassigned | |
| Messaging Menu |
Fix Released
|
Undecided
|
Unassigned | |
| Unity Foundations |
Undecided
|
Unassigned | ||
| libindicate |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
affects libindicate
affects dbusmenu
affects indicator-messages
As per the title, these projects leak memory. dbus_g_
to free the memory it allocates, including the GErrors. The patch attached does
that.
indicator-messages has an additional leak, which I'm not sure is libdbusmenu's
or indicator-messages' fault. libdbusmenu passes a GdkPixbuf into
indicator-messages, indicator-messages scales it and doesn't free the original
pixbuf. However, libdbusmenu doesn't free those pixbufs either, so it gets
leaked. The same thing happened with indicator-sound, but the patch for that has
already been committed.
These patches are by no means complete. I'm just hunting down memleaks one by
one using Valgrind's massif, and targeting functions that allocate too much memory.
--
Kind regards,
Loong Jin
Related branches
- Conor Curran (community): Approve on 2011-02-07
-
Diff: 26 lines (+3/-0)1 file modifiedlibindicate/listener.c (+3/-0)
- Conor Curran (community): Approve on 2011-02-01
-
Diff: 43 lines (+4/-8)1 file modifiedsrc/indicator-messages.c (+4/-8)
- Mikkel Kamstrup Erlandsen (community): Approve on 2011-01-24
-
Diff: 67 lines (+12/-3)2 files modifiedlibdbusmenu-glib/client.c (+4/-1)
libdbusmenu-glib/menuitem.c (+8/-2)
- Ken VanDine: Approve on 2011-09-20
- Sebastien Bacher: Pending requested 2011-09-20
-
Diff: 20244 lines (+9654/-9078)48 files modifiedAUTHORS (+4/-0)
ChangeLog (+128/-0)
Makefile.am (+11/-2)
Makefile.in (+14/-4)
aclocal.m4 (+48/-8661)
bindings/Makefile.am (+9/-1)
bindings/Makefile.in (+11/-3)
bindings/mono/Makefile.in (+7/-1)
bindings/mono/indicate-gtk/Makefile.in (+7/-1)
bindings/mono/indicate/Makefile.in (+7/-1)
bindings/mono/indicate/indicate-api.raw (+10/-0)
bindings/python/Makefile.in (+7/-1)
configure (+421/-94)
configure.ac (+84/-29)
debian/changelog (+11/-0)
debian/patches/lp_690668.patch (+0/-28)
docs/Makefile.in (+7/-1)
docs/reference/Makefile.in (+7/-1)
docs/reference/html/IndicateIndicator.html (+4/-4)
docs/reference/html/IndicateListener.html (+4/-4)
docs/reference/html/IndicateServer.html (+2/-2)
docs/reference/html/base.html (+2/-2)
docs/reference/html/index.html (+2/-2)
docs/reference/html/ix01.html (+3/-3)
docs/reference/html/libindicate.devhelp (+0/-77)
docs/reference/html/listeners.html (+2/-2)
docs/reference/html/subclass.html (+2/-2)
docs/reference/tmpl/indicator.sgml (+0/-2)
docs/reference/tmpl/listener.sgml (+0/-2)
docs/reference/tmpl/server.sgml (+0/-2)
docs/reference/version.xml (+1/-1)
docs/reference/xml/indicator.xml (+2/-2)
docs/reference/xml/listener.xml (+2/-2)
examples/Makefile.am (+11/-9)
examples/Makefile.in (+49/-74)
gtk-doc.make (+71/-55)
libindicate-gtk/Makefile.in (+7/-1)
libindicate/Makefile.in (+7/-1)
libindicate/listener.c (+2/-0)
m4/gnome-doc-utils.m4 (+56/-0)
m4/gtk-doc.m4 (+67/-0)
m4/introspection.m4 (+94/-0)
m4/libtool.m4 (+7851/-0)
m4/ltoptions.m4 (+369/-0)
m4/ltsugar.m4 (+123/-0)
m4/ltversion.m4 (+23/-0)
m4/lt~obsolete.m4 (+98/-0)
tests/Makefile.in (+7/-1)
- Ken VanDine: Pending requested 2011-09-28
-
Diff: 174 lines (+27/-55)8 files modifiedAUTHORS (+1/-0)
ChangeLog (+12/-0)
configure (+1/-1)
configure.ac (+1/-1)
debian/changelog (+8/-0)
debian/patches/lp_690668.patch (+0/-44)
debian/patches/series (+0/-1)
src/indicator-messages.c (+4/-8)
Chow Loong Jin (hyperair) wrote : | #1 |
Chow Loong Jin (hyperair) wrote : | #2 |
Alex Launi (alexlauni) wrote : | #3 |
The dbusmenu patch no longer applies, libindicate seems to have been fixed already. Indicator messages still looks useful though. I will ping Ted to give it a more thorough reviewing.
Changed in indicator-messages: | |
status: | New → In Progress |
Changed in dbusmenu: | |
status: | New → Incomplete |
Changed in libindicate: | |
status: | New → Incomplete |
Ted Gould (ted) wrote : | #4 |
The dbusmenu one didn't apply, but I went through and tried to get the heart of the changes. I pushed that into this branch:
I also adapted the libindicate patch and pushed it here:
And the indicator messages one applied cleanly (with fuzz):
Changed in dbusmenu: | |
status: | Incomplete → In Progress |
Changed in libindicate: | |
status: | Incomplete → In Progress |
Changed in libindicate: | |
status: | In Progress → Fix Committed |
milestone: | none → 0.5.92 |
Changed in libindicate: | |
milestone: | 0.5.92 → 0.6.0 |
Changed in unity-foundations: | |
status: | New → In Progress |
milestone: | none → oneiric-beta-2 |
Changed in libindicate: | |
status: | Fix Committed → Fix Released |
Changed in dbusmenu: | |
status: | In Progress → Fix Released |
Changed in unity-foundations: | |
milestone: | oneiric-beta-2 → oneiric-final |
Changed in indicator-messages: | |
status: | In Progress → Fix Committed |
milestone: | none → 0.4.96 |
Changed in unity-foundations: | |
status: | In Progress → Fix Committed |
Changed in indicator-messages: | |
milestone: | 0.4.96 → 0.5.0 |
status: | Fix Committed → Fix Released |
Changed in unity-foundations: | |
status: | Fix Committed → Fix Released |
Updated dbusmenu and libindicate patches to free GValues as well. I think the dbusmenu one is particularly prominent -- the GHashTable doesn't free the GValue for you if you don't give it a freeing function.