Bug #667
GNOME frontend leaks memory
Status: | Feedback | Start: | 01/01/2012 | |
Priority: | Urgent | Due date: | ||
Assigned to: | Mirco Bauer | % Done: | 0% |
|
Category: | Frontend GNOME | |||
Target version: | - | |||
Complexity: | High |
Found in Version: | ||
Votes: | 0 |
Description
It looks like the GNOME frontend is leaking memory. After a single day the memory usage (RSS) is way above 100MB while it starts around 60MB with a fully populated interface.
Associated revisions
Revision af9f70bcda72fde1852e4968f50c686dd8842eb3
[Frontend-GNOME] Fixed thread/memleak when reconnecting frontend (closes: #805, refs: #667)
Reconnecting to the smuxi-server was leaking all ChatView objects as
the ChatViewManager.ChatRemoved event was never raised from
ChatViewManager.Clear(). Thus StatusIconManager, NotifyManager and
IndicateManager continued to reference ChatViews objects. This leaked the
LastSeenHighlightQueue thread and probably also GTK+'s TextBuffer used in
MessageTextView.
Now we use the regular cleanup code of ChatViewManager.RemoveChat() instead.
Revision 95f63d422e7d5c6c85e2f9cc20fb198a21a5c33b
[Frontend-GNOME] Fixed a few leaking refrences to ChatView (refs: #667)
Revision aa05b1c404b86032b7898fb21c7d240236a2f2f5
[Frontend-GNOME] Fix remaining ChatView memleak (refs: #667)
Release TreeViewColumn.SetCellDataFunc() callback in ChatView.Dispose()
Revision 1f4922d3781c3e0c579a3f988afb65dd9408e8bc
[Frontend-GNOME] Explicitly dispose TextTagTable to fix leaking LinkTags (refs: #667)
Revision f55d9c943fa00e25f8884e8859c330664762e78f
[Frontend] Fixed leaking ChatView references held by ChatViewSyncManager.SyncReleaseQueue (refs: #667)
Revision 072b80e877e8132ae0970c0557499ccf351ef87a
[Frontend-GNOME] Fixed memory leak in MessageTextView.GetPangoWidth() (refs: #667)
Revision f3b0fb9d57e1cde74112203f7e49f24792fd459e
[Frontend-GNOME] Fixed leaking text marks in MessageTextView.AddMessage() (refs: #667)
Revision e960bdb97d9ee7abb456a33597225bb62888bd5d
[Frontend-GNOME] Fixed leaking text tags in MessageTextView.CheckBufferSize() (refs: #667)
Revision 7e68deccd3b776cd2d42ba167bda166112633e73
[Frontend-GNOME] Explicitly release Pango.Layouts (refs: #667)
Revision 0919f1819ac552bc8db05d10d3031c4da8c6cdb1
[Frontend-GNOME] Fixed leaking topic MessageTextViews (refs: #667)
Revision 2a924833e7f217af666410f7ca8a645faade102a
[Frontend-GNOME] Explicitly release Pango.Context in ThemeSettings (refs: #667)
Revision b02a23d7ae28f02c23ad591388cab59a44034451
[Frontend-GNOME] Release SyncedPersons in GroupChatView.Populate() (refs: #667)
Revision f8f61d8e3ec389106533dc7c77232e7268caf9ec
Frontend-GNOME: fixed leaking PersonTags in MessageTextView (refs: #667)
History
Updated by Michael Schmitt 4738 days ago
50000 persitent buffer lines
200 volatile buffer lines
1000 engine buffer lines
1000 buffer lines
234MB right after start / finished sync, 29 tabs (server- and channeltabs)
frontend version: 0.8.1-0~65~natty1 (Sat, 31 Dec 2011 20:19:13 +0000)
mono runtime: 2.6.7-5 (mono-runtime, Debian sid)
runtime: I keep an eye on it and update this ticket accordingly.
Updated by Michael Schmitt 4737 days ago
Michael Schmitt wrote:
50000 persitent buffer lines 200 volatile buffer lines 1000 engine buffer lines 1000 buffer lines
234MB right after start / finished sync, 29 tabs (server- and channeltabs) frontend version: 0.8.1-0~65~natty1 (Sat, 31 Dec 2011 20:19:13 +0000) mono runtime: 2.6.7-5 (mono-runtime, Debian sid) runtime: I keep an eye on it and update this ticket accordingly.
After approximately one day: 390MB
Updated by Michael Schmitt 4737 days ago
After approximately one day: 390MB
After almost 2 days: 593MB
Updated by Michael Schmitt 4736 days ago
Michael Schmitt wrote:
After approximately one day: 390MB
After almost 2 days: 593MB
Day 3, over 900MB, stopped the test. What next?
Updated by Michael Schmitt 4736 days ago
Next test, (engine) buffer set to 200 lines, with now 32 tabs open. Right from the start 217MB. Did an upgrade before the test, now on Debian sids packages (newer than daily build?) 0.8.9.1-1.
Updated by Michael Schmitt 4735 days ago
Still stripped down to 200 (buffer) lines, after approximately one day, 479MB and still on sids packages.
Updated by Mirco Bauer 4733 days ago
- Target version changed from 0.10 to 0.8.10
Updated by Mirco Bauer 4558 days ago
- Target version changed from 0.8.10 to 0.9
Updated by Mirco Bauer 4349 days ago
- Status changed from New to Feedback
Please test git master HEAD and check if the memory usage stops increasing as seen in your tests.
Updated by Mirco Bauer 4346 days ago
- File smuxi-memleak3.jpg added
Updated by Mirco Bauer 4346 days ago
- File smuxi-memleak2.jpg added
Updated by Mirco Bauer 4346 days ago
mono --trace=T:GLib.DestroyHelper,T:GtkSharp.TreeIterCompareFuncWrapper,M:Gtk.ListStore:SetSortFunc smuxi-frontend-gnome.exe [0x7f37f899d740: 0.00000 0] ENTER: Gtk.ListStore:SetSortFunc (int,Gtk.TreeIterCompareFunc)(this:0x7f37e40934d0[Gtk.ListStore smuxi-frontend-gnome.exe], 0, [Gtk.TreeIterCompareFunc:0x7f37e407b958], ) [0x7f37f899d740: 0.00044 1] ENTER: GtkSharp.TreeIterCompareFuncWrapper:.ctor (Gtk.TreeIterCompareFunc)(this:0x7f37e4063ed8[GtkSharp.TreeIterCompareFuncWrapper smuxi-frontend-gnome.exe], [Gtk.TreeIterCompareFunc:0x7f37e407b958], ) [0x7f37f899d740: 0.00067 1] LEAVE: GtkSharp.TreeIterCompareFuncWrapper:.ctor (Gtk.TreeIterCompareFunc) [0x7f37f899d740: 0.00106 1] ENTER: GLib.DestroyHelper:get_NotifyHandler ()() [0x7f37f899d740: 0.00108 1] LEAVE: GLib.DestroyHelper:get_NotifyHandler ()[GLib.DestroyNotify:0x7f37e407b7b8] [0x7f37f899d740: 0.00138 0] LEAVE: Gtk.ListStore:SetSortFunc (int,Gtk.TreeIterCompareFunc) [0x7f37f899d740: 0.00440 0] ENTER: GLib.DestroyHelper:get_NotifyHandler ()() [0x7f37f899d740: 0.00445 0] LEAVE: GLib.DestroyHelper:get_NotifyHandler ()[GLib.DestroyNotify:0x7f37e407b7b8] [0x7f37f899d740: 12.64061 0] ENTER: (wrapper native-to-managed) GLib.DestroyHelper:ReleaseGCHandle (intptr)(0x29f3, ) [0x7f37f899d740: 12.64100 1] ENTER: GLib.DestroyHelper:ReleaseGCHandle (intptr)(0x29f3, ) [0x7f37f899d740: 12.64104 1] LEAVE: GLib.DestroyHelper:ReleaseGCHandle (intptr) [0x7f37f899d740: 12.64107 0] LEAVE: (wrapper native-to-managed) GLib.DestroyHelper:ReleaseGCHandle (intptr)
Updated by Mirco Bauer 4346 days ago
- File smuxi-memleak.jpg added
Updated by Mirco Bauer 4254 days ago
- File paste_43f2e89d.txt added
Mo 29. Apr 03:54:24 CEST 2013 mschmitt 8343 112 16.1 334224 166140 ? Rl 03:48 6:44 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe mschmitt 8479 0.0 0.0 3572 824 pts/3 S+ 03:54 0:00 grep mono ________ Mo 29. Apr 03:59:34 CEST 2013 mschmitt 8343 63.8 16.4 334352 169208 ? Sl 03:48 7:07 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mo 29. Apr 04:59:34 CEST 2013 mschmitt 8343 16.6 16.8 334416 173284 ? Sl 03:48 11:51 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mo 29. Apr 05:59:34 CEST 2013 mschmitt 8343 14.2 16.8 334416 173284 ? Sl 03:48 18:42 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mo 29. Apr 06:59:34 CEST 2013 mschmitt 8343 13.2 16.8 334548 172384 ? Sl 03:48 25:17 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mo 29. Apr 07:59:34 CEST 2013 mschmitt 8343 15.0 20.9 378840 215168 ? Rl 03:48 37:43 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mo 29. Apr 08:59:35 CEST 2013 mschmitt 8343 15.7 21.2 387160 218384 ? Sl 03:48 49:02 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mo 29. Apr 09:59:35 CEST 2013 mschmitt 8343 15.3 21.3 387224 218708 ? Sl 03:48 56:54 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mo 29. Apr 10:59:35 CEST 2013 mschmitt 8343 15.0 21.3 387224 218928 ? Sl 03:48 64:42 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mo 29. Apr 11:59:35 CEST 2013 mschmitt 8343 14.9 21.1 387492 216540 ? Sl 03:48 73:26 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mo 29. Apr 12:59:35 CEST 2013 mschmitt 8343 14.7 21.1 387624 216776 ? Sl 03:48 81:08 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mo 29. Apr 13:59:35 CEST 2013 mschmitt 8343 14.4 21.1 388024 217088 ? Sl 03:48 88:28 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mo 29. Apr 14:59:35 CEST 2013 mschmitt 8343 14.4 20.9 388420 214680 ? Sl 03:48 96:44 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mo 29. Apr 15:59:35 CEST 2013 mschmitt 8343 14.9 21.0 389220 215580 ? Sl 03:48 109:39 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mo 29. Apr 16:59:35 CEST 2013 mschmitt 8343 15.4 21.1 389880 217148 ? Sl 03:48 122:25 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mo 29. Apr 17:59:35 CEST 2013 mschmitt 8343 16.1 21.2 390672 218020 ? Rl 03:48 137:47 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mo 29. Apr 18:59:35 CEST 2013 mschmitt 8343 16.8 21.0 391464 216376 ? Sl 03:48 153:44 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mo 29. Apr 19:59:36 CEST 2013 mschmitt 8343 17.5 20.8 392400 214376 ? Rl 03:48 170:42 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mo 29. Apr 20:59:36 CEST 2013 mschmitt 8343 17.9 20.8 393048 214096 ? Sl 03:48 184:47 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mo 29. Apr 21:59:37 CEST 2013 mschmitt 8343 17.8 20.8 393460 213596 ? Sl 03:48 195:08 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mo 29. Apr 22:59:37 CEST 2013 mschmitt 8343 18.0 20.8 394256 214060 ? Sl 03:48 207:34 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mo 29. Apr 23:59:37 CEST 2013 mschmitt 8343 18.0 20.8 394928 214280 ? Sl 03:48 219:07 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Di 30. Apr 00:59:37 CEST 2013 mschmitt 8343 18.1 25.5 440036 262172 ? Rl Apr29 230:21 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Di 30. Apr 01:59:37 CEST 2013 mschmitt 8343 17.9 25.7 440100 264436 ? Sl Apr29 238:23 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Di 30. Apr 02:59:37 CEST 2013 mschmitt 8343 17.6 25.8 440100 264664 ? Sl Apr29 245:03 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Di 30. Apr 03:59:37 CEST 2013 mschmitt 8343 17.2 25.7 440100 263960 ? Sl Apr29 250:47 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Di 30. Apr 04:59:38 CEST 2013 mschmitt 8343 17.1 25.7 440100 263892 ? Sl Apr29 259:33 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Di 30. Apr 05:59:38 CEST 2013 mschmitt 8343 16.8 25.7 440100 264168 ? Sl Apr29 264:51 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Di 30. Apr 06:59:38 CEST 2013 mschmitt 8343 16.5 25.7 440100 263932 ? Sl Apr29 269:37 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Di 30. Apr 07:59:38 CEST 2013 mschmitt 8343 16.5 27.2 462464 279676 ? Sl Apr29 279:54 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Di 30. Apr 08:59:38 CEST 2013 mschmitt 8343 16.2 27.5 462596 282296 ? Sl Apr29 284:54 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Di 30. Apr 09:59:38 CEST 2013 mschmitt 8343 16.2 26.8 462728 275416 ? Sl Apr29 294:35 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Di 30. Apr 10:59:38 CEST 2013 mschmitt 8343 16.3 26.8 462996 275616 ? Sl Apr29 305:03 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Di 30. Apr 11:59:38 CEST 2013 mschmitt 8343 16.4 26.6 463532 273732 ? Rl Apr29 317:04 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Di 30. Apr 12:59:39 CEST 2013 mschmitt 8343 16.6 26.8 464308 275876 ? Rl Apr29 331:24 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Di 30. Apr 13:59:39 CEST 2013 mschmitt 8343 16.6 26.9 464836 276616 ? Sl Apr29 342:10 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Di 30. Apr 14:59:39 CEST 2013 mschmitt 8343 16.6 26.9 465232 276264 ? Sl Apr29 351:21 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Di 30. Apr 15:59:39 CEST 2013 mschmitt 8343 16.7 26.9 465892 276532 ? Sl Apr29 364:20 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mi 1. Mai 06:17:24 CEST 2013 mschmitt 8343 12.6 33.2 528596 341268 ? Sl Apr29 383:19 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mi 1. Mai 07:17:24 CEST 2013 mschmitt 8343 12.6 32.5 528596 333820 ? Sl Apr29 390:12 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mi 1. Mai 08:17:25 CEST 2013 mschmitt 8343 12.8 35.2 561600 361396 ? Sl Apr29 403:50 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mi 1. Mai 09:17:25 CEST 2013 mschmitt 8343 12.7 35.2 561748 361088 ? Sl Apr29 409:21 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mi 1. Mai 10:17:25 CEST 2013 mschmitt 8343 12.7 35.2 561880 361472 ? Sl Apr29 416:51 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________ Mi 1. Mai 11:17:25 CEST 2013 mschmitt 8343 12.8 35.2 562144 361384 ? Sl Apr29 426:58 mono --debug /usr/lib/smuxi/smuxi-frontend-gnome.exe ________
Updated by Mirco Bauer 4144 days ago
- Target version changed from 0.9 to 0.10
Updated by Michael Schmitt 4136 days ago
- File smuxi-RAM-stats.log added
- File smuxi-frontend-gnome.log.tar.xz added
New testrun with the following packages / versions:
smuxi 1:0.9+git-0~292~precise1 (dailys from ppa.launchpad.net/meebey/smuxi-daily)
mono-runtime 3.0.6+dfsg2-4 (debian sid)
with the following buffer settings:
Buffer lines 1000
Engine buffer lines 1000
persistence typ persistent
Lines of volatile buffer 1000
lines of persistent buffer 50000
Updated by Mirco Bauer 4043 days ago
- Target version deleted (
0.10)