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:str...
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