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

Re: What's cooking in git.git (Sep 2024, #09; Mon, 23)

From
Patrick Steinhardt <ps@pks.im>
Date
Sep 24, 2024, 07:36 UTC
Message-ID
<ZvJr45YKvMUEi4hC@pks.im>
In-Reply-To
<xmqq5xqmxc3k.fsf@gitster.g>
On Mon, Sep 23, 2024 at 03:02:39PM -0700, Junio C Hamano wrote:
Show 9 quoted lines
> * ps/reftable-concurrent-writes (2024-09-19) 3 commits
>  - refs/reftable: reload locked stack when preparing transaction
>  - reftable/stack: allow locking of outdated stacks
>  - refs/reftable: introduce "reftable.lockTimeout"
> 
>  Give timeout to the locking code to write to reftable.
> 
>  Will merge to 'next'.
>  source: <cover.1726653185.git.ps@pks.im>

We're drawing closer to Git v2.47-rc0, and this topic looks like it will be included based on its current status. But to make things explicit: this fixes real issues I have hit in the wild with the reftable backend that are caused by concurrent writes and that can lead to annoying behaviour, so I want to ensure that this topic really does end up in Git v2.47.

Just as a heads up :)
Show 30 quoted lines
> * ps/leakfixes-part-7 (2024-09-16) 24 commits
>  - diffcore-break: fix leaking filespecs when merging broken pairs
>  - revision: fix leaking parents when simplifying commits
>  - builtin/maintenance: fix leak in `get_schedule_cmd()`
>  - builtin/maintenance: fix leaking config string
>  - promisor-remote: fix leaking partial clone filter
>  - grep: fix leaking grep pattern
>  - submodule: fix leaking submodule ODB paths
>  - trace2: destroy context stored in thread-local storage
>  - builtin/difftool: plug several trivial memory leaks
>  - builtin/repack: fix leaking configuration
>  - diffcore-order: fix leaking buffer when parsing orderfiles
>  - parse-options: free previous value of `OPTION_FILENAME`
>  - diff: fix leaking orderfile option
>  - builtin/pull: fix leaking "ff" option
>  - dir: fix off by one errors for ignored and untracked entries
>  - builtin/submodule--helper: fix leaking remote ref on errors
>  - t/helper: fix leaking subrepo in nested submodule config helper
>  - builtin/submodule--helper: fix leaking error buffer
>  - builtin/submodule--helper: clear child process when not running it
>  - submodule: fix leaking update strategy
>  - git: fix leaking argv when handling builtins
>  - builtin/help: fix leaking `html_path` when reading config multiple times
>  - builtin/help: fix dangling reference to `html_path`
>  - Merge branch 'ps/leakfixes-part-6' into ps/leakfixes-part-7
> 
>  More leak-fixes.
> 
>  Will merge to 'next'?
>  source: <cover.1726484308.git.ps@pks.im>

I do not plan a reroll of this series right now, and your review read favorable to me. So I'm happy to have it merged now-ish, but I'm also okay if you want to wait a couple more days to maybe get more eyes onto it.

Overall, there is light at the end of this tunnel:
  - I've got ~45 patches in the pipeline which I'll split up over two
    more patch series.
  - I've nerd-sniped Peff into fixing leaks in the http-walker for me,
    and that patch series will likely end up on the mailing list later
    this week.

With that, we're now at 7 remaining test suites which aren't yet leak free. So overall, I think it's going to be four more patch series in total until we're done with the effort. And then one final patch to convert the leak sanitizer from opt-in into opt-out.

Patrick
Previous: Junio C Hamano
Message 2 of 2 in “What's cooking in git.git (Sep 2024, #09; Mon, 23)”
  1. Junio C HamanoSep 23, 2024
  2. Patrick SteinhardtSep 24, 2024

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.