Michael Ströder wrote:
> On 10/9/20 11:23 PM, Howard Chu wrote:
>> Howard Chu wrote:
>>> Michael Ströder wrote:
>>>> An Æ-DIR installation with self-compiled OpenLDAP 2.4.53 on Debian (now
>>>> buster) has memory leak issues on the Æ-DIR providers.
>>>> [..]
>>>> I'm experimenting with valgrind to track down the issue:
>>>>
>>>> valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes
>>>> --verbose --log-file=valgrind-out.txt -- /opt/openldap-ms/libexec/slapd
>>>> [...]
>>>
>>> I've usually just used --leak-check=full, never needed any other options.
>>>
>>> But valgrind runs about 50x slower than realtime, I'd recommend using
>>> https://github.com/hyc/mleak/ instead. It's faster than all other leak
>>> checkers, makes it practical to use in near production-level loads.
>>
>> One other consideration - both of these tools wait until the target
>> process exits cleanly, before producing results. If the leaks are occurring
>> in a loaded module, you won't get any symbol info because slapd unloads all
>> modules before exiting.
> 
> Ah yes, I see the ??? in valgrind output.
> 
> Thanks for the hint.
> 
>> To get useful results you need to comment out the
>> module unloading code (in slapd/module.c).
> 
> Like this for RE24 branch?
> 
> https://build.opensuse.org/package/view_file/home:stroeder:branches:home:stroeder:iam/openldap2/disable_module_unload.patch?expand=1

Yeah that should work.

Also if your valgrind is new enough, you could just use --keep-debuginfo=yes and
not have to patch anything. That's a feature that I worked on 14 years ago that
they finally supported recently. https://bugs.kde.org/show_bug.cgi?id=79362

-- 
  -- Howard Chu
  CTO, Symas Corp.           http://www.symas.com
  Director, Highland Sun     http://highlandsun.com/hyc/
  Chief Architect, OpenLDAP  http://www.openldap.org/project/

Reply via email to