memory leak in gnome-power-manager
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Application Indicators |
Fix Released
|
Medium
|
Karl Lattimer | ||
Unity Foundations |
Fix Released
|
Undecided
|
Michael Terry | ||
gnome-power-manager (Ubuntu) |
Won't Fix
|
Undecided
|
Unassigned | ||
Lucid |
Won't Fix
|
Undecided
|
Unassigned | ||
Maverick |
Fix Released
|
Undecided
|
Unassigned | ||
indicator-application (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Lucid |
Won't Fix
|
Medium
|
Unassigned | ||
Maverick |
Won't Fix
|
Medium
|
Unassigned |
Bug Description
==== 10.10 SRU ====
I'm requesting a backported fix for 10.10's gnome-power-manager based on the menu leak I found in 11.04. It's a simple one-line change, only affecting gnome-power-manager (rather than fixing root cause in libappindicator, because that potentially may adversely affect consumers that worked around it, though we know of none).
gnome-power-manager is seemingly the worst offender, so it gets special treatment. Test case right below. Watch memory use for a bit. It may go up for a few minutes, but then stabilizes.
Debdiff to follow, it's already been uploaded to maverick-proposed.
===================
TEST CASE: (at the beginning because it's a long post):
1. Monitor the output of the command for a few hours
$ watch -n1 'grep heap -A11 /proc/$( pidof gnome-power-manager )/smaps'
VERIFICATION SUCCEEDED:
- Memory usage is stable over time
DESCRIPTION:
Binary package hint: gnome-power-manager
gnome-power-manager (2.30.0-0ubuntu1) seems to have a memory leak my machine running Lucid. I witnessed it using up to 120MB in the RES column according to "top". My machine is 64 bit and is connected to a APC uninterruptible power supply. I haven't yet tried unplugging it to see if the UPS is somehow related to this problem. Another person reported a similar problem in bug #196688 comment 25. Opening a new bug seemed like a good idea since that bug was fixed 2 years ago.
Here is some information for what gnome-power-manager looks like after running for a long period of time (from /proc/`pidof gnome-power-
0147b000-08810000 rw-p 00000000 00:00 0 [heap]
Size: 118356 kB
Rss: 118188 kB
Pss: 118188 kB
Shared_Clean: 0 kB
Shared_Dirty: 0 kB
Private_Clean: 0 kB
Private_Dirty: 118188 kB
Referenced: 118020 kB
Swap: 0 kB
KernelPageSize: 4 kB
MMUPageSize: 4 kB
I rebooted my machine and let it sit at the login screen. I logged via ssh and found that gnome-power-manager was using the following:
01f6e000-02075000 rw-p 00000000 00:00 0 [heap]
Size: 1052 kB
Rss: 944 kB
Pss: 944 kB
Shared_Clean: 0 kB
Shared_Dirty: 0 kB
Private_Clean: 0 kB
Private_Dirty: 944 kB
Referenced: 944 kB
Swap: 0 kB
KernelPageSize: 4 kB
MMUPageSize: 4 kB
I logged out of my ssh session and didn't touch the machine until 5 and 1/2 hours later---and I logged in again remotely with ssh to check on gnome-power-manager and found:
01f6e000-02e5d000 rw-p 00000000 00:00 0 [heap]
Size: 15292 kB
Rss: 15280 kB
Pss: 15280 kB
Shared_Clean: 0 kB
Shared_Dirty: 0 kB
Private_Clean: 0 kB
Private_Dirty: 15280 kB
Referenced: 15280 kB
Swap: 0 kB
KernelPageSize: 4 kB
MMUPageSize: 4 kB
ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: gnome-power-manager 2.30.0-0ubuntu1
ProcVersionSign
Uname: Linux 2.6.32-21-generic x86_64
NonfreeKernelMo
Architecture: amd64
Date: Fri Apr 23 22:23:32 2010
GnomeSessionIdl
GnomeSessionInh
GnomeSessionSus
MachineType: DELL Inc. XPS 730X
ProcCmdLine: BOOT_IMAGE=
ProcEnviron:
PATH=(custom, user)
LANG=en_US.UTF-8
SHELL=/bin/bash
SourcePackage: gnome-power-manager
dmi.bios.date: 07/16/2009
dmi.bios.vendor: DELL INC.
dmi.bios.version: 1.0.5
dmi.board.name: 0P270J
dmi.board.vendor: DELL Inc.
dmi.board.version: A00
dmi.chassis.type: 3
dmi.chassis.vendor: DELL Inc.
dmi.modalias: dmi:bvnDELLINC.
dmi.product.name: XPS 730X
dmi.product.
dmi.sys.vendor: DELL Inc.
Related branches
- Ken VanDine: Pending requested
-
Diff: 944 lines (+204/-140)17 files modifiedChangeLog (+35/-0)
bindings/mono/Makefile.am (+3/-2)
bindings/mono/Makefile.in (+3/-2)
configure (+10/-10)
configure.ac (+2/-2)
debian/changelog (+17/-0)
debian/patches/child-leakage.patch (+0/-17)
docs/reference/html/ch01.html (+1/-1)
docs/reference/html/index.html (+1/-1)
docs/reference/html/libappindicator-app-indicator.html (+54/-62)
docs/reference/html/object-tree.html (+1/-1)
docs/reference/libappindicator-docs.sgml (+1/-1)
docs/reference/version.xml (+1/-1)
docs/reference/xml/app-indicator.xml (+2/-4)
gtk-doc.make (+61/-33)
src/Makefile.in (+6/-3)
src/libappindicator/app-indicator.c (+6/-0)
-
Diff: 14 lines (+4/-0)1 file modifiedlibdbusmenu-glib/server.c (+4/-0)
- Ted Gould (community): Approve
-
Diff: 11 lines (+1/-1)1 file modifiedsrc/app-indicator.c (+1/-1)
- Ken VanDine: Pending requested
-
Diff: 17235 lines (+6462/-3698)43 files modifiedAUTHORS (+1/-0)
ChangeLog (+36/-0)
Makefile.in (+5/-1)
aclocal.m4 (+0/-99)
bindings/Makefile.in (+5/-1)
bindings/mono/Makefile.in (+5/-1)
bindings/mono/examples/Makefile.in (+5/-1)
bindings/python/Makefile.in (+5/-1)
bindings/vala/Makefile.am (+5/-1)
bindings/vala/Makefile.in (+10/-2)
bindings/vala/appindicator-0.1-custom.vala (+31/-0)
bindings/vala/examples/Makefile.in (+5/-1)
bindings/vala/examples/indicator-example.vala (+1/-0)
config.guess (+120/-105)
config.sub (+101/-55)
configure (+1714/-810)
configure.ac (+2/-2)
debian/changelog (+9/-0)
docs/Makefile.in (+5/-1)
docs/reference/Makefile.in (+5/-1)
docs/reference/html/annotation-glossary.html (+2/-2)
docs/reference/html/api-index-deprecated.html (+2/-2)
docs/reference/html/api-index-full.html (+2/-2)
docs/reference/html/ch01.html (+3/-3)
docs/reference/html/index.html (+3/-3)
docs/reference/html/libappindicator-app-indicator.html (+29/-37)
docs/reference/html/libappindicator.devhelp (+0/-80)
docs/reference/html/object-tree.html (+2/-2)
docs/reference/libappindicator-docs.sgml (+1/-1)
docs/reference/tmpl/app-indicator.sgml (+2/-0)
docs/reference/version.xml (+1/-1)
docs/reference/xml/app-indicator.xml (+27/-35)
example/Makefile.in (+5/-1)
example/simple-client-vala.c (+329/-203)
gtk-doc.make (+71/-55)
ltmain.sh (+2619/-1390)
m4/gtk-doc.m4 (+6/-0)
m4/libtool.m4 (+1256/-782)
m4/ltoptions.m4 (+7/-6)
m4/ltversion.m4 (+6/-6)
m4/lt~obsolete.m4 (+9/-3)
src/Makefile.in (+5/-1)
tests/Makefile.in (+5/-1)
- Ken VanDine: Pending requested
-
Diff: 51142 lines (+10848/-18012)96 files modifiedAUTHORS (+5/-0)
ChangeLog (+607/-0)
Makefile.am (+2/-0)
Makefile.in (+7/-1)
aclocal.m4 (+38/-18)
bindings/Makefile.am (+8/-1)
bindings/Makefile.in (+15/-5)
bindings/mono/Makefile.am (+7/-0)
bindings/mono/Makefile.in (+13/-1)
bindings/mono/examples/IndicatorExample.cs (+8/-1)
bindings/mono/examples/Makefile.in (+6/-1)
bindings/mono/libappindicator-api.metadata (+8/-0)
bindings/mono/libappindicator-api.raw (+41/-1)
bindings/python/Makefile.in (+6/-1)
bindings/python/appindicator.defs (+74/-47)
bindings/vala/Makefile.am (+40/-0)
bindings/vala/Makefile.in (+695/-0)
bindings/vala/appindicator-0.1-custom.vala (+31/-0)
bindings/vala/examples/Makefile.am (+39/-0)
bindings/vala/examples/Makefile.in (+604/-0)
bindings/vala/examples/indicator-example.vala (+66/-0)
config.guess (+120/-105)
config.sub (+101/-55)
configure (+2924/-2469)
configure.ac (+36/-33)
debian/changelog (+0/-627)
debian/compat (+0/-1)
debian/control (+0/-129)
debian/copyright (+0/-60)
debian/gir1.2-appindicator-0.1.install (+0/-1)
debian/gir1.2-appindicator3-0.1.install (+1/-0)
debian/libappindicator-dev.install (+0/-5)
debian/libappindicator-doc.install (+0/-1)
debian/libappindicator0.1-cil-dev.install (+0/-1)
debian/libappindicator0.1-cil.install (+0/-1)
debian/libappindicator0.1-cil.installcligac (+0/-3)
debian/libappindicator1.install (+0/-1)
debian/libappindicator1.symbols (+28/-0)
debian/libappindicator3-1.install (+1/-0)
debian/libappindicator3-1.symbols (+28/-0)
debian/libappindicator3-dev.install (+4/-0)
debian/python-appindicator.install (+0/-2)
debian/rules (+0/-93)
debian/watch (+0/-2)
docs/Makefile.in (+6/-1)
docs/reference/Makefile.am (+9/-1)
docs/reference/Makefile.in (+11/-2)
docs/reference/html/annotation-glossary.html (+44/-0)
docs/reference/html/api-index-deprecated.html (+42/-0)
docs/reference/html/api-index-full.html (+0/-253)
docs/reference/html/ch01.html (+0/-34)
docs/reference/html/index.html (+0/-37)
docs/reference/html/index.sgml (+0/-74)
docs/reference/html/libappindicator-app-indicator.html (+0/-1397)
docs/reference/html/libappindicator.devhelp (+0/-68)
docs/reference/html/libappindicator.devhelp2 (+0/-76)
docs/reference/html/object-tree.html (+0/-34)
docs/reference/html/style.css (+0/-265)
docs/reference/libappindicator-docs.sgml (+5/-1)
docs/reference/libappindicator-docs.sgml.in (+4/-0)
docs/reference/libappindicator-sections.txt (+7/-0)
docs/reference/tmpl/app-indicator.sgml (+0/-466)
docs/reference/tmpl/libappindicator-unused.sgml (+36/-0)
docs/reference/version.xml (+1/-1)
docs/reference/xml/annotation-glossary.xml (+26/-0)
docs/reference/xml/api-index-deprecated.xml (+0/-8)
docs/reference/xml/api-index-full.xml (+0/-65)
docs/reference/xml/app-indicator.xml (+0/-1002)
example/Makefile.am (+42/-4)
example/Makefile.in (+78/-15)
example/simple-client-vala.c (+881/-0)
example/simple-client-vala.vala (+181/-0)
example/simple-client.c (+65/-54)
gtk-doc.make (+116/-66)
ltmain.sh (+2619/-1390)
m4/gtk-doc.m4 (+0/-61)
m4/libtool.m4 (+0/-7377)
m4/ltoptions.m4 (+0/-368)
m4/ltsugar.m4 (+0/-123)
m4/ltversion.m4 (+0/-23)
m4/lt~obsolete.m4 (+0/-92)
src/AppIndicator-0.1.metadata.in (+2/-0)
src/AppIndicator3-0.1.metadata.in (+3/-0)
src/Makefile.am (+19/-29)
src/Makefile.in (+38/-60)
src/app-indicator.c (+729/-720)
src/app-indicator.h (+167/-145)
src/appindicator3-0.1.pc.in (+1/-1)
src/application-service-marshal.c (+74/-0)
src/application-service-marshal.list (+2/-0)
src/dbus-shared.h (+3/-3)
src/gen-notification-item.xml.c (+13/-1)
src/notification-item.xml (+13/-1)
tests/Makefile.am (+15/-8)
tests/Makefile.in (+29/-17)
tests/test-libappindicator.desktop (+4/-3)
affects: | gnome-power-manager (Ubuntu) → indicator-application (Ubuntu) |
Changed in indicator-application (Ubuntu): | |
assignee: | nobody → Ken VanDine (ken-vandine) |
importance: | Undecided → Medium |
Changed in indicator-application: | |
assignee: | nobody → Ted Gould (ted) |
importance: | Undecided → Medium |
milestone: | none → maverick-alpha-2 |
tags: | added: maverick |
summary: |
- memory leak in gnome-power-manager on lucid + memory leak in gnome-power-manager |
Changed in indicator-application: | |
status: | Fix Released → Confirmed |
tags: | removed: verification-failed |
Changed in indicator-application (Ubuntu Lucid): | |
status: | Confirmed → Triaged |
Changed in indicator-application (Ubuntu Maverick): | |
status: | New → Triaged |
Changed in indicator-application (Ubuntu Lucid): | |
importance: | Undecided → Medium |
Changed in indicator-application: | |
assignee: | Ted Gould (ted) → Karl Lattimer (karl-qdh) |
Changed in indicator-application: | |
status: | Confirmed → In Progress |
Changed in indicator-application (Ubuntu Maverick): | |
status: | Triaged → Fix Released |
Changed in indicator-application: | |
status: | In Progress → Fix Released |
Changed in gnome-power-manager (Ubuntu Maverick): | |
status: | New → Invalid |
Changed in gnome-power-manager (Ubuntu Lucid): | |
status: | New → Invalid |
Changed in indicator-application (Ubuntu Maverick): | |
status: | Fix Released → Confirmed |
Changed in indicator-application (Ubuntu): | |
assignee: | Ken VanDine (ken-vandine) → nobody |
Changed in indicator-application (Ubuntu Maverick): | |
assignee: | Ken VanDine (ken-vandine) → nobody |
Changed in gnome-power-manager (Ubuntu Maverick): | |
status: | Invalid → Confirmed |
Changed in gnome-power-manager (Ubuntu): | |
status: | Invalid → Won't Fix |
Changed in gnome-power-manager (Ubuntu Maverick): | |
status: | Confirmed → Triaged |
Changed in unity-foundations: | |
assignee: | nobody → Michael Terry (mterry) |
tags: |
added: verification-done removed: verification-needed |
tags: | added: testcase |
Changed in gnome-power-manager (Ubuntu Lucid): | |
assignee: | Joe le Kiffeur (joelekiffeur) → nobody |
Changed in indicator-application (Ubuntu Maverick): | |
status: | Invalid → Won't Fix |
Changed in indicator-application (Ubuntu Lucid): | |
status: | Triaged → Won't Fix |
Changed in gnome-power-manager (Ubuntu Lucid): | |
status: | Won't Fix → Confirmed |
assignee: | nobody → Michael Terry (mterry) |
Changed in gnome-power-manager (Ubuntu Lucid): | |
assignee: | Michael Terry (mterry) → nobody |
Changed in gnome-power-manager (Ubuntu Lucid): | |
status: | Fix Committed → Won't Fix |
tags: | removed: verification-needed |
tags: | added: verification-failed |
Changed in gnome-power-manager (Ubuntu): | |
assignee: | Gennadiy (gen-pover) → nobody |
Hi,
I am also affected by this bug. Not sure what I should attach so I just copied the stats from top.
top - 23:10:09 up 7 days, 19:28, 2 users, load average: 1.65, 1.79, 1.86
Tasks: 236 total, 2 running, 234 sleeping, 0 stopped, 0 zombie
Cpu(s): 8.2%us, 18.8%sy, 0.5%ni, 72.2%id, 0.0%wa, 0.2%hi, 0.0%si, 0.0%st
Mem: 4059784k total, 3909296k used, 150488k free, 85432k buffers
Swap: 5116692k total, 809624k used, 4307068k free, 690984k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2661 alex 20 0 1028m 523m 3376 S 0 13.2 2:06.77 gnome-power-man
31557 alex 25 5 1204m 397m 11m S 0 10.0 5:58.16 chrome
31572 alex 20 0 1213m 361m 11m S 0 9.1 7:54.32 chrome
31567 alex 20 0 1021m 230m 10m S 0 5.8 5:36.99 chrome
1377 alex 20 0 981m 155m 24m S 3 3.9 437:33.93 firefox-bin
31562 alex 20 0 915m 130m 11m S 0 3.3 2:35.42 chrome
.....