From: Derrick Stolee Date: Tue, 08 Oct 2024 18:30:42 GMT Subject: Re: [PATCH] builtin/gc: fix crash when running `git maintenance start` Message-ID: In-Reply-To: <976c97081af7c62960bd71d1b70039657e7cb711.1728389731.git.ps@pks.im> On 10/8/24 8:15 AM, Patrick Steinhardt wrote: > It was reported on the mailing list that running `git maintenance start` > immediately segfaults starting with b6c3f8e12c (builtin/maintenance: fix > leak in `get_schedule_cmd()`, 2024-09-26). And indeed, this segfault is > trivial to reproduce up to a point where one is scratching their head > why we didn't catch this regression in our test suite. > +test_expect_success 'start without GIT_TEST_MAINT_SCHEDULER' ' > + test_when_finished "rm -rf crontab.log script repo" && > + mkdir script && > + write_script script/crontab <<-EOF && > + echo "\$*" >>"$(pwd)"/crontab.log > + EOF > + git init repo && > + ( > + cd repo && > + sane_unset GIT_TEST_MAINT_SCHEDULER && > + PATH="$(pwd)/../script:$PATH" git maintenance start --scheduler=crontab > + ) && > + test_grep -- -l crontab.log && > + test_grep -- git_cron_edit_tmp crontab.log > +' > + I see why we didn't catch this immediately. This is a good way to work around this issue of "mocking" the scheduler. Thanks for the fast response. -Stolee