GNOME Bugzilla – Bug 525169
ugly memory leak
Last modified: 2008-11-15 05:14:55 UTC
I don't what caused it, but today my rhythmbox tried to eat whole RAM memory available. I killed it as fast as it was possible to prevent pushing "reset" on case of my computer. I probably have to proof that, I have screenshot. what I did? * I queued three songs from two artists into play queue * they played with 10s crossfade * when stopped, I didn't closed rhythmbox * after ~15 minutes tray icon dissapeared and system became unresponsible and unusable
Created attachment 108286 [details] screenshot notice blank area in system tray, near pidgin's icon and nm-applet.
after making the screenshot and slightly before killing rhythmbox, memory usage was still jumping and I noticed 489MBs high usage.
What version of rhythmbox are you using? Has this happened before with this same version? What types of files were you playing? What versions of gstreamer and the various plugin packages are you using? Which audio sink are you using? Have you changed that recently? Which rhythmbox plugins are you using? How is this bug a blocker?
rhythmbox-0.11.5 gstreamer-0.10.18 gstreamer-tools-0.10.18 gstreamer-plugins-base-0.10.18 gstreamer-plugins-good-0.10.7 gstreamer-plugins-ugly-0.10.7 gstreamer-plugins-bad-0.10.6-3 gstreamer-plugins-pulse-0.9.5 gstreamer-ffmpeg-0.10.3 gstreamer-python-0.10.11 I didn't not noticed memory leaks in this version of Rhythmbox before. I've played only mp3s with pulsesink. I didn't changed this, since Fedora from its 8th release ships PulseAudio as default sound server. Enabled plugins: MTP support, FM radio, covers, power manager > How is this bug a blocker? It blocks me from using Rhythmbox and my computer. However, if it was wrong, thanks for fixing.
'blocker' severity is for bugs that block a release. A memory leak that one person has seen once and that may not even be in rhythmbox itself doesn't really qualify. This leak must have been triggered by some unusual circumstance, since you would have noticed it earlier if it happened all the time. Did you notice anything else happening at the time? Are the actions you listed above the first thing you did after starting rhythmbox, or had it been running for some time before that?
They are the only thing I did. And the memory leak I can reproduce... Just let it play, clear the queue and wait, doing other things with Rhythmbox in system tray.
OK, try disabling plugins one at a time, and if it still happens with all plugins disabled, try a different audio sink.
I can disable all plugins, but changing audio sink is quite impossible. ALSA will redirect to PulseAudio, don't know how about OSS. Part of output (first of below is repeated with other window IDs): [_gs_watcher_notice_window_created] gs-watcher-x11.c:568 (06:58:48): Window created: noticing activity on 0x3E01029 [listener_add_ref_entry] gs-listener-dbus.c:723 (06:58:50): adding inhibitor from Totem for reason 'Odtwarzanie filmu' on connection :1.32 [listener_check_activation] gs-listener-dbus.c:412 (06:58:50): Checking for activation [listener_remove_ref_entry] gs-listener-dbus.c:748 (06:59:03): removing inhibitor from Totem for reason 'Odtwarzanie filmu' on connection :1.32 [listener_check_activation] gs-listener-dbus.c:412 (06:59:03): Checking for activation [listener_service_deleted] gs-listener-dbus.c:1043 (06:59:06): DBUS service deleted: :1.32
Sorry, the output should not land in this bug. My mistake.
Created attachment 108308 [details] rhythmbox gone crazy I've got the reason, I think, cause the leak. Tooltip shows strangely long delay, while mp3 has 3:38m.
Probably not. That's what typically happens when the pipeline doesn't answer duration queries properly. That in turn may be a symptom of the audio sink doing something strange, which is why I'm asking you to try a different sink.
So, Rhythmbox had memory leak, because PulseAudio was suspended. PA in default configuration in Fedora suspends sinks when idle, however I saw, that "pulseaudio" process gone, when should be daemonized in my opinion. I configured it, and it no longer closes itself. If it is really true, that Rhythmbox has leak if sink unavailable, it needs to be workarounded somehow to prevent such situations. Other apps simply display errors when trying to play.
Can you reproduce the problem with Totem for example? If so, it's a bug in the GStreamer PulseAudio plugin, which is beyond our control. Otherwise, it might be a problem in Rhythmbox' pipeline (or something else ;)
With Banshee. When PulseAudio had crash, Banshee stopped responding and the tray icon gone in the same way. Totem only stops playing mp3, after some delay, even when nothing bad gone with PA.
If you could find out what is allocating all of this memory (using valgrind or something), that would be helpful.
Ok, I'll found out how to use this. PS: I can say only that, when GNOME starts with PulseAudio and I start playing some music stream, PulseAudio closes and the player stops/hangs/freezes, even if after while PA is started by me and can has leak.
It is completely unusable with valgrind... I can't even make Rhythmbox show it's main window and valgrind already shows some leak...
Yes, running under valgrind does make things much slower, but on reasonably new machines it is almost usable. There's some useful information here: http://live.gnome.org/Valgrind
Thanks for the bug report. This particular bug has already been reported into our bug tracking system, but please feel free to report any further bugs you find. *** This bug has been marked as a duplicate of 537539 ***