git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/3] leak tests: mark a handful of tests as leak-free

From
Taylor Blau <me@ttaylorr.com>
Date
Aug 25, 2023, 19:05 UTC
Message-ID
<ZOj7XqRSmIFxaI3P@nand.local>
In-Reply-To
<20230824210238.GA940724@coredump.intra.peff.net>
On Thu, Aug 24, 2023 at 05:02:38PM -0400, Jeff King wrote:
Show 25 quoted lines
> On Thu, Aug 24, 2023 at 02:40:38PM -0400, Taylor Blau wrote:
>
> > In the topic merged via 5a4f8381b6 (Merge branch
> > 'ab/mark-leak-free-tests', 2021-10-25), a handful of tests in the suite
> > were marked as leak-free.
> >
> > As far as I can tell, each patch from that series ran tests from a
> > handful of subject areas, such as "some ls-files tests", or "all trace2
> > tests". This left some gaps in which tests had and hadn't been audited
> > to be leak-free.
> >
> > This patch closes those gaps by exporting TEST_PASSES_SANITIZE_LEAK=true
> > before sourcing t/test-lib.sh on most remaining leak-free tests. This
> > list was compiled by doing:
> >
> >     $ make SANITIZE=leak
> >     $ make \
> >         GIT_TEST_PASSING_SANITIZE_LEAK=check \
> >         GIT_TEST_SANITIZE_LEAK_LOG=true \
> >         GIT_TEST_OPTS=-vi test
>
> So having resolved my "oops, lsan logs are racy" problem, my system now
> agrees with yours on which tests are now leak-free. And we definitely
> _were_ leak free less than year ago when I posted that other patch. So
> I'm not sure I buy the "these were missed in 5a4f8381b6" logic.

Phew ;-). Thanks for chasing that down, I'm glad that our two sides agree.

Show 9 quoted lines
> The one in t5571, I mentioned earlier that I bisected to 861c56f6f9
> (branch: fix a leak in setup_tracking, 2023-06-11).
>
> The one in t7516 seems to have been fixed by 866b43e644
> (do_read_index(): always mark index as initialized unless erroring out,
> 2023-06-29).
>
> I found both by bisecting between v2.39.0 (which shows the leak) and
> v2.42.0 (which doesn't).

Much appreciated. I'm happy to fold those details into a new round if you think they are useful enough to live in the commit history. I could grab your patch as a preparatory step, too. But if you are happy with this as-is, I am too.

Thanks, Taylor

Previous: Jeff KingNext: Jeff King
Message 5 of 21 in “leak tests: mark remaining tests leak-free as such”
  1. 0/3 leak tests: mark remaining tests leak-free as suchTaylor Blau, Aug 24, 2023
  2. 2/3 leak tests: mark t3321-notes-stripspace.sh as leak-freeTaylor Blau, Aug 24, 2023
  3. 1/3 leak tests: mark a handful of tests as leak-freeTaylor Blau, Aug 24, 2023
  4. Jeff KingAug 24, 2023
  5. Taylor BlauAug 25, 2023
  6. Jeff KingAug 25, 2023
  7. Junio C HamanoAug 28, 2023
  8. test-lib: ignore uninteresting LSan outputJeff King, Aug 28, 2023
  9. 3/3 leak tests: mark t5583-push-branches.sh as leak-freeTaylor Blau, Aug 24, 2023
  10. Junio C HamanoAug 24, 2023
  11. Jeff KingAug 24, 2023
  12. Jeff KingAug 24, 2023
  13. Taylor BlauAug 25, 2023
  14. Jeff KingAug 25, 2023
  15. 0/4 leak tests: mark remaining tests leak-free as suchTaylor Blau, Aug 28, 2023
  16. 2/4 leak tests: mark a handful of tests as leak-freeTaylor Blau, Aug 28, 2023
  17. 4/4 leak tests: mark t5583-push-branches.sh as leak-freeTaylor Blau, Aug 28, 2023
  18. 3/4 leak tests: mark t3321-notes-stripspace.sh as leak-freeTaylor Blau, Aug 28, 2023
  19. 1/4 test-lib: ignore uninteresting LSan outputTaylor Blau, Aug 28, 2023
  20. Jeff KingAug 29, 2023
  21. Junio C HamanoAug 29, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.