|
From: Christian H. <ch...@de...> - 2004-08-01 19:50:00
|
Hello
Someone gave me a valgrind report that showes a memleak but I'm unsure where
it leaks.. I doubt that it is mysql_init/close because several invocations of
these functions do not increase the leaked memory. So is there some well known
leakage in libc6 or ldso?
==7533== 4 bytes in 1 blocks are definitely lost in loss record 1 of 2
==7533== at 0x1B904EDD: malloc (vg_replace_malloc.c:131)
==7533== by 0x1B8E9256: (within /lib/ld-2.3.2.so)
==7533== by 0x1B8EA4B5: _dl_map_object (in /lib/ld-2.3.2.so)
==7533== by 0x1B8EEA18: (within /lib/ld-2.3.2.so)
==7533==
==7533==
==7533== 26 bytes in 1 blocks are definitely lost in loss record 2 of 2
==7533== at 0x1B904EDD: malloc (vg_replace_malloc.c:131)
==7533== by 0x1BD79F7D: ???
==7533== by 0x1BD79E46: ???
==7533== by 0x1BD4BFD1: ???
==7533==
==7533== LEAK SUMMARY:
==7533== definitely lost: 30 bytes in 2 blocks.
(full output attached)
thanks,
-christian-
The source was:
gcc -O -g -fno-inline -o t t.c `mysql_config --libs`
#include "malloc.h"
#include "stdlib.h"
#include "mysql/mysql.h"
#include "mysql/mysqld_error.h"
int main() { MYSQL *a; a=mysql_init(NULL); mysql_close(a); return 0; }
which results in
$ ldd ./t
libz.so.1 => /usr/lib/libz.so.1 (0x41a44000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x4001c000)
libm.so.6 => /lib/libm.so.6 (0x40049000)
libssl.so.0.9.7 => /usr/lib/i686/cmov/libssl.so.0.9.7 (0x4006b000)
libcrypto.so.0.9.7 => /usr/lib/i686/cmov/libcrypto.so.0.9.7
(0x4009c000)
libc.so.6 => /lib/libc.so.6 (0x40199000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x41000000)
libdl.so.2=>/lib/libdl.so.2 (0x402cc000)
|