From: Andrzej Hunt Date: Thu, 06 May 2021 05:40:13 GMT Subject: Re: [PATCH] builtin/init-db: preemptively clear repo_fmt to avoid leaks Message-ID: <79cd3791-bf6e-df3e-1045-c51801406905@ahunt.org> In-Reply-To: Hi Johannes, On 05/05/2021 21:28, Johannes Schindelin wrote: > Hi Andrzej, > > On Wed, 5 May 2021, Andrzej Hunt via GitGitGadget wrote: > >> diff --git a/builtin/init-db.c b/builtin/init-db.c >> index 31b718259a64..b25147ebaf59 100644 >> --- a/builtin/init-db.c >> +++ b/builtin/init-db.c >> @@ -512,6 +512,7 @@ int init_db(const char *git_dir, const char *real_git_dir, >> git_dir, len && git_dir[len-1] != '/' ? "/" : ""); >> } >> >> + clear_repository_format(&repo_fmt); > > I am afraid that this might not be correct, as t0410.27 experienced a > segmentation fault (see > https://github.com/git/git/pull/1018/checks?check_run_id=2511749719#step:5:2845 > for the full details): Thanks for spotting that. On further investigation this looks like a preexisting issue on seen (my github PR was based on seen - in hindsight that was probably not a good idea) - here's a CI run from seen this morning exhibiting the same failure: https://github.com/git/git/runs/2515095446?check_suite_focus=true To gain more confidence, I've rebased my patch onto next, and I no longer hit any CI failures: https://github.com/ahunt/git/runs/2515309312?check_suite_focus=true (I ran this on my fork because changing the base branch appears to have confused the PR's CI configuration.) Nevertheless, I was still curious about what might be causing the failure in the first place: it appears to only happen in CI with gcc on Linux, and I was not able to repro on my machine using (tested with gcc-7.5 and gcc-10, with seen from this morning): make CC=gcc-10 T=t0410-partial-clone.sh test I'm guessing that understanding this failure might require the help of someone with an Ubuntu install to debug (unless there's some easy way of using Github's Actions to run a bisect)? -- snip -- ATB, Andrzej