> On 26 Apr 2019, at 01:45, Mark Reynolds <[email protected]> wrote:
> 
> 
> On 4/25/19 11:10 AM, Ludwig wrote:
>> Hi,
>> 
>> 
>> when running ASAN builds I noticed in some tests a memory leak for dblayer 
>> perf counters.
>> 
>> A closer look showd it happens with an online restore, in this case we have 
>> started dblayer in normal mode, then close it, but pass a mode to prevent 
>> the cleanup of the perfcounters (this is according to a comment 
>> intentionally), then we do the restore which will not touch the perf 
>> counters and then start the dblayer again, in normal mode, which just 
>> allocates new memory for the perf counters and overwrites the existing ones, 
>> which will now be leaked.
>> 
>> 
>> So how to deal with it:
>> 
>> 1] make behaviour as intended by the comment and fix it like:
>> 
>> diff --git a/ldap/servers/slapd/back-ldbm/perfctrs.c 
>> b/ldap/servers/slapd/back-ldbm/perfctrs.c
>> index 57a8cbc84..c264a7eec 100644
>> --- a/ldap/servers/slapd/back-ldbm/perfctrs.c
>> +++ b/ldap/servers/slapd/back-ldbm/perfctrs.c
>> @@ -34,7 +34,10 @@ perfctrs_init(struct ldbminfo *li 
>> __attribute__((unused)), perfctrs_private **re
>>  {
>>      perfctrs_private *priv = NULL;
>> 
>> -    *ret_priv = NULL;
>> +    if(*ret_priv != NULL) {
>> +        /* we already have allocated perf counters, continue to use them */
>> +        return;
>> +    }
>> 
>>      /*
>>       * We need the perfctrs_private area on all platforms.
>> 
>> 
>> or 2]
>> 
>> keep the behaviour as it is now and cleanup the perf counters if closed 
>> before RESTORE ?
> 
> 
> I like option 1, less freeing and allocating…

I see no issue with option 1, unless there is a need to reset the perf counters 
after a restore …. 

> 
>> 
>> 
>> Regards,
>> 
>> Ludwig
>> _______________________________________________
>> 389-devel mailing list -- [email protected]
>> To unsubscribe send an email to [email protected]
>> Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
>> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
>> List Archives: 
>> https://lists.fedoraproject.org/archives/list/[email protected]
> _______________________________________________
> 389-devel mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
> Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: 
> https://lists.fedoraproject.org/archives/list/[email protected]

—
Sincerely,

William Brown

Senior Software Engineer, 389 Directory Server
SUSE Labs
_______________________________________________
389-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]

Reply via email to