Re: [PATCH v2 0/6] reroll ma/plugleaks; more `object_array`-fixes
- From
- Martin Ågren <martin.agren@gmail.com>
- Date
- Sep 24, 2017, 19:59 UTC
- Message-ID
- <CAN0heSqQ3Etj1mkGhuft8JzKA8SNhpF0jcnVEdFeKX5NHpyqTw@mail.gmail.com>
- In-Reply-To
- <20170923163817.7ltmkav2ytk7n43k@sigill.intra.peff.net>
On 23 September 2017 at 18:38, Jeff King <peff@peff.net> wrote:
Show 22 quoted lines
> On Sat, Sep 23, 2017 at 12:13:16PM -0400, Jeff King wrote: > >> In theory you should be able to just add "log_path=/tmp/lsan/output" to >> that, which should put all the logs in a convenient place (and stop the >> extra output from confusing any tests which capture stderr). But I can't >> seem to get log_path to do anything, contrary to the documentation. >> >> Doing log_to_syslog=1 does work for me. I'm not sure if it's a bug or >> I'm holding it wrong. But it does seem like it should be possible to do >> what you want. > > Hrm. log_path doesn't seem to work for me directly from LSAN_OPTIONS. > But if you compile with ASan, it _does_ work from there. That seems like > a bug from my reading of the documentation, but maybe I'm missing > something. > > Anyway, doing: > > ASAN_OPTIONS=detect_leaks=1:abort_on_error=0:exitcode=0:log_path=/tmp/lsan/output \ > make SANITIZE=address,leak test > > should pass the whole suite and give you a host of files to analyze.
Thanks. My reading of the documentation was off. Turns out exitcode=0 does not set the exit code to 0, but rather turns it off. Duh. It also didn't help that I tested with (my) gcc, which seems to have some issues. With clang, things work fine. Thanks for looking into this.
> I'm not sure of the best way to count things.
Right. It's a tricky problem. And in the end, all we find out is where we allocate and how we got there. Exactly where we lose/leak that piece of allocated memory is another question...