[collectd] Memoy leak advice

Daniel Rowe lists at fathom13.com
Sat Jan 26 02:54:55 CET 2008


Hi Florian

On Fri, 2008-01-25 at 16:17 +0100, Florian Forster wrote:

> what version of librrd do you have installed? The above output indicates
> that memory is lost inside the rrd library. I tried to check the code
> around the call to the `info_push' function, but soon lost track of all
> allocated memory. [*]

rrdtool-1.3-0.5.beta3.fc8

> 
> Can you please replace the rrdtool plugin with the csv plugin to double
> check if really the rrdtool plugin is the one to blame? If that should
> be the case you should try the newest version of rrdtool and see if the
> problem still exists.
> 

This is with RRD disabled and CSV enabled in collectd, this is th eonly
change I made to the config file:

[root at bajor etc]# valgrind --leak-check=full /opt/collectd/sbin/collectd
-f -C /opt/collectd/etc/collectd.conf
==5696== Memcheck, a memory error detector.
==5696== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==5696== Using LibVEX rev 1732, a library for dynamic binary
translation.
==5696== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==5696== Using valgrind-3.2.3, a dynamic binary instrumentation
framework.
==5696== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==5696== For more details, rerun with: -v
==5696== 
==5696== 
==5696== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 4 from 1)
==5696== malloc/free: in use at exit: 74,850 bytes in 717 blocks.
==5696== malloc/free: 42,973 allocs, 42,256 frees, 64,515,120 bytes
allocated.
==5696== For counts of detected errors, rerun with: -v
==5696== searching for pointers to 717 not-freed blocks.
==5696== checked 447,416 bytes.
==5696== 
==5696== 2,363 (48 direct, 2,315 indirect) bytes in 1 blocks are
definitely lost in loss record 10 of 29
==5696==    at 0x4A059F6: malloc (vg_replace_malloc.c:149)
==5696==    by 0x40EC89: yyparse (parser.y:179)
==5696==    by 0x40CEFC: oconfig_parse_fh (oconfig.c:43)
==5696==    by 0x40CF6C: oconfig_parse_file (oconfig.c:69)
==5696==    by 0x408652: cf_read_file (configfile.c:415)
==5696==    by 0x408A2A: cf_read (configfile.c:568)
==5696==    by 0x404429: main (collectd.c:373)
==5696== 
==5696== LEAK SUMMARY:
==5696==    definitely lost: 48 bytes in 1 blocks.
==5696==    indirectly lost: 2,315 bytes in 82 blocks.
==5696==      possibly lost: 0 bytes in 0 blocks.
==5696==    still reachable: 72,487 bytes in 634 blocks.
==5696==         suppressed: 0 bytes in 0 blocks.
==5696== Reachable blocks (those to which a pointer was found) are not
shown.
==5696== To see them, rerun with: --leak-check=full --show-reachable=yes

> Please let me know what you find out in any case - I don't sleep well
> with a potential memory leak in collectd ;)
> 
> Regards,
> -octo

Regards
Daniel




More information about the collectd mailing list