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 > And of course, compile with debug > symbols enabled, and best to turn optimization off. Yes, debug symbols are already packaged anyway. Ciao, Michael.
