dnsperf and BIND memory consumption

Vinny Abello vinny at tellurian.com
Tue Dec 9 20:26:25 UTC 2008


Hi Jinmei,

Has anybody else tried this patch for you? I haven't had time to look into this at all. If nobody has tried this yet, I'll get around to it when I can and let you know the result.

-Vinny

> -----Original Message-----
> From: JINMEI Tatuya / 神明達哉 [mailto:Jinmei_Tatuya at isc.org]
> Sent: Tuesday, December 02, 2008 1:06 AM
> To: Vinny Abello
> Cc: ivan_jr at yahoo.com; dougb at FreeBSD.org; bind-users at isc.org
> Subject: Re: dnsperf and BIND memory consumption
> 
> At Tue, 2 Dec 2008 00:35:32 -0500,
> Vinny Abello <vinny at tellurian.com> wrote:
> 
> > 	For what it's worth, I just want to contribute that I can
> > 	confirm this behavior on my systems as well. On BIND 9.5.0-P2,
> 
> From an off-list discussion, I found there was indeed memory leak in
> the code of 9.5.0-P2 (so I was wrong in suspecting it might be the
> FreeBSD thread library).
> 
> Can you try the patched copied below to see whether it solves the
> problem?
> 
> Note: this leak was already fixed in 9.5.1rc1:
> 
> 2435.	[bug]		Fixed an ACL memory leak affecting win32.
> 
> while the change description seems to indicate it's win32 specific,
> it can actually happen any build with threads and without atomic
> operations.
> 
> ---
> JINMEI, Tatuya
> Internet Systems Consortium, Inc.
> 
> Index: acl.c
> ===================================================================
> RCS file: /proj/cvs/prod/bind9/lib/dns/acl.c,v
> retrieving revision 1.37.2.7
> diff -u -r1.37.2.7 acl.c
> --- acl.c	29 Apr 2008 01:04:14 -0000	1.37.2.7
> +++ acl.c	1 Dec 2008 03:17:36 -0000
> @@ -217,6 +217,7 @@
> 
>  	/* Search radix. */
>  	result = isc_radix_search(acl->iptable->radix, &node, &pfx);
> +	isc_refcount_destroy(&pfx.refcount);
> 
>  	/* Found a match. */
>  	if (result == ISC_R_SUCCESS && node != NULL) {
> Index: iptable.c
> ===================================================================
> RCS file: /proj/cvs/prod/bind9/lib/dns/iptable.c,v
> retrieving revision 1.5.46.3
> diff -u -r1.5.46.3 iptable.c
> --- iptable.c	21 Jan 2008 21:02:24 -0000	1.5.46.3
> +++ iptable.c	1 Dec 2008 19:25:27 -0000
> @@ -74,6 +74,7 @@
>  	family = bitlen ? pfx.family : AF_INET;
> 
>  	result = isc_radix_insert(tab->radix, &node, NULL, &pfx);
> +	isc_refcount_destroy(&pfx.refcount);
> 
>  	if (result != ISC_R_SUCCESS)
>  		return(result);



More information about the bind-users mailing list