On 23 September 2017 at 06:37, Jeff King <peff@xxxxxxxx> wrote: > On Sat, Sep 23, 2017 at 01:34:48AM +0200, Martin Ågren wrote: > >> Martin Ågren (6): >> builtin/commit: fix memory leak in `prepare_index()` >> commit: fix memory leak in `reduce_heads()` >> leak_pending: use `object_array_clear()`, not `free()` >> object_array: use `object_array_clear()`, not `free()` >> object_array: add and use `object_array_pop()` >> pack-bitmap[-write]: use `object_array_clear()`, don't leak > > All six look good to me. Thanks again for poking into this. I'm afraid > to ask how far we have left to go on running the test suite all the way > through with leak-checking turned on. :) Thanks for reviewing. Unfortunately, I have not figured out how to get LSan to simply report the leaks and continue. Its default behavior is to abort if there are leaks. That's useful for finding the first leaking test, but not much else. (Later tests might depend on that test doing everything it should, so now those later tests will start failing and/or executing different code paths.) I can tell LeakSanitizer to exit with an exit code instead, but then all leaking git-processes exit with the same exit code. That also interferes with the tests. What I would like is for the git-process to exit with the same exit status it would have had without the leak-checking. That would make it possible to run the whole test suite, collect all leaks, identify duplicates, sort them, categorize them, prioritize them, track how we are progressing... I did spend some time looking into this before I gave up. I'd love to be told I've missed something obvious. Martin