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