Bug#725522: libgnutls28: memory leak calling gnutls_global_init/gnutls_global_deinit

Tim Ruehsen tim.ruehsen at gmx.de
Mon Oct 7 07:54:17 UTC 2013


On Sunday 06 October 2013 22:47:28 Daniel Kahn Gillmor wrote:
> On 10/06/2013 03:30 PM, Tim Rühsen wrote:
> > Package: libgnutls28
> > Version: 3.2.4-4
> > Severity: normal
> > 
> > Dear Maintainer,
> > 
> > calling gnutls_global_init() followed by gnutls_global_deinit() leaves one
> > memory chunk
> 
> > unfreed. That's what valgrind says:

> This looks to me like it might be quite similar to
> http://bugs.debian.org/700899 -- what version of valgrind are you running?
> 
> see also
> http://lists.freedesktop.org/archives/p11-glue/2013-February/000263.html

Yes, it looks like the same bug.
My valgrind is 3.8.1-5.

BTW, bug #700899 is not solved here.
Your dlopentest.c still behaves as you described in the original bug report 
though the valgrind suppression is there in/usr/lib/valgrind/debian.supp:

{
  dlopen() with -lpthread bug#700899
  Memcheck:Leak
  fun:calloc
  fun:_dlerror_run
  fun:dlopen@@GLIBC_2.2.5
}

Valgrind still says:
==18794==     in use at exit: 32 bytes in 1 blocks
==18794==   total heap usage: 6 allocs, 5 frees, 1,518 bytes allocated
==18794== 
==18794== 32 bytes in 1 blocks are still reachable in loss record 1 of 1
==18794==    at 0x4C2B514: calloc (vg_replace_malloc.c:593)
==18794==    by 0x505065F: _dlerror_run (dlerror.c:141)
==18794==    by 0x50500C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87)

Out of curiosity, I copied the suppression from debian.supp to debian-libc6-
dbg.supp. And voila, that works !

Looks like valgrind is not reading debian.supp correctly !?

Tim



More information about the Pkg-gnutls-maint mailing list