Hi, On 01/25/2014 11:47 PM, v_2e at ukr.net wrote:> I have tested the newly released IceCast 2.4beta4 and again found a > noticeable memory leak in it.Can you please run Icecast under Valgrind? I'm personally using: valgrind -v --time-stamp=yes --leak-check=full --show-reachable=yes icecast -c /etc/icecast2/icecast.xml With our experiments so far we were not able to see such massive leaks. It would also help to know more about your setup. Which distro is this on? Which version of it? Built from source? OBS package?> This time it is even larger than in the beta3 version. > Here is the graph similar to the one I prepared last time: > http://ftp.wombat.org.ua/IceCast-2_4_beta4-memory_leak.png >By the looks of it each stream leaks something in your case. How long are the songs you have in the playlists (Wondering how often it gets metadata updates). Really appreciate your help, as we want to make a good 2.4 release soon. Cheers Thomas
On 01/26/2014 06:56 AM, "Thomas B. R?cker" wrote:> Hi, > > On 01/25/2014 11:47 PM, v_2e at ukr.net wrote: >> I have tested the newly released IceCast 2.4beta4 and again found a >> noticeable memory leak in it. > Can you please run Icecast under Valgrind? > I'm personally using: > valgrind -v --time-stamp=yes --leak-check=full --show-reachable=yes > icecast -c /etc/icecast2/icecast.xmlTo do live checking, without needing to terminate Icecast, I have patched my local Icecast build with Valgrind instrumentation. See attached patch. Admin interface requests trigger Valgrind output on the console: - "/admin/listmounts.xsl" - |VALGRIND_DO_ADDED_LEAK_CHECK| - "/admin/stats.xsl" - |VALGRIND_DO_LEAK_CHECK|
Hello! On Sun, 26 Jan 2014 12:28:36 +0000 "Thomas B. R?cker" <thomas at ruecker.fi> wrote:> > Can you please run Icecast under Valgrind? > > I'm personally using: > > valgrind -v --time-stamp=yes --leak-check=full --show-reachable=yes > > icecast -c /etc/icecast2/icecast.xml >I will test using this command, however I have never used Valgrind and know absolutely nothing about it. But I'll try to log its output to file.> > With our experiments so far we were not able to see such massive > > leaks. It would also help to know more about your setup. > > Which distro is this on? Which version of it? > > Built from source? OBS package?I use it on the Debian 7.2 (stable) system. The OS is running on the virtual private server. I compiled the IceCast package by myself and created a .deb-file for it. After that I installed this .deb-file as an ordinary Debian package.> > > > By the looks of it each stream leaks something in your case. > > How long are the songs you have in the playlists (Wondering how > > often it gets metadata updates). >The songs are usually about 3 to 5 minutes long -- a usual radio format.> One thing I noticed from the 2.3.99.3 graph is that there the leak > seemed to only occur for ices0. The 2.3.99.4 graph has it active all > the time, so it's hard to tell, what's interesting though, is that > ices2 now seems to have an impact on the growth rate. > But without knowing more about the setup, server config, etc - it's > impossible to tell what really happens.According to my observations, every IceS stream adds some memory leak. It was true both for the Icecast-2.4beta3 and Icecast-2.4beta4. The only difference I noticed was in the actual leakage rate. It was bigger for beta4. If you still have my old graph for beta3, you can see the transition from the band #4 to #5. One of the IceS instances (the smaller one -- for the single stream) was turned off at that point. And one may clearly see a sharp change in the memory leakage rate (from 80 bytes/sec to 50 bytes/sec). Please let me know if I can help in some way. I'll do my best. Meanwhile let me see what Valgrind shows. Regards, Vladimir ----- <v_2e at ukr.net>
Hello! I started the IceCast using Valgrind, just like you suggested before. It started with ~37MB of residend memory used by the Valgrind process and then started to grow steadily after the IceS stream start. I waited till the memory used by Valgrind reached ~79MB and stopped the IceS stream. The Valgrind memory usage also stopped to grow. I waited for several hours and checked the memory again. It showed only a negligible memory usage growth. So one may conclude that the Icecast memory usage grows ONLY when some IceS stream is connected to it. I don't know whether it is relevant or not, but it also seems to be not dependent on the client connections to the Icecast server. Here is the full Valgrind log: https://gist.github.com/8640648 I hope it helps to trace the origin of the problem. Regards, Vladimir ----- <v_2e at ukr.net>