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

Re: segfault with git rebase --abort

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 25, 2024, 20:46 UTC
Message-ID
<xmqqfrwehweg.fsf@gitster.g>
In-Reply-To
<7df26e3813ef76ee90c1fb02847bbb4b9bad630d.camel@rohdewald.de>
Wolfgang Rohdewald <wolfgang@rohdewald.de> writes:
Show 20 quoted lines
> Am Sonntag, dem 24.03.2024 um 14:54 -0700 schrieb Junio C Hamano:
>> Wolfgang Rohdewald <wolfgang@rohdewald.de> writes:
>> 
>> > git rebase -i
>> > 
>> > git rebase --abort # boom
>> > 
>> This thread _might_ be relevant.
>> 
>>  https://lore.kernel.org/git/20240218114936.1121077-1-marcel@roethke.info/
>> 
>> The "might" is because the symptom is a sign of corruption of the
>> rerere database but the discussion or the patch in there do not know
>> how such a corruption happened in the first place.
>> 
>> If you rebuild Git with Marcel's patch (there is v2 downthread, and
>> we have been waiting for a v3) and it improves the situation, please
>> do let us know.
>
> Yes, the patch resolved my problem. Thanks a lot!
Thanks for testing (and thanks, Marcel, for writing a fix).
Show 43 quoted lines
>
> From the bash history below, this might be the sequence:
>
> (git 2.39)
>
> I think I forgot to remove one line of "<<<<<<< HEAD" before doing the first git add.
>
> Because git rebase --abort then told me about the lockfile, the segfault probably
> already happened with the second git rebase --continue.
> and from then on all git rebase --abort segfaulted.
>
> Oh - and I definitively did not mess around in .git
>
> I do have a backup of the repo, so if you want me to look up things ...
>
> git checkout master
> git rebase -i
> vi servertable.py
> git add servertable.py  # here I probably left that <<<< HEAD line
> git rebase --continue
> vi servertable.py 
> git add servertable.py
> git rebase --continue   # I think this already segfaulted
> git status
> df                      # plenty of free space
> git rebase --abort
> rm .git/MERGE_RR.lock
>
>
> Since the patch is about rerere, I now did:
>
> wrpc:~/tmp/kajongg (master|REBASE-i) git rerere status
> src/servertable.py
> wrpc:~/tmp/kajongg (master|REBASE-i) git rerere diff
> error: Could not stat .git/rr-cache/a8ec6f624ee23ef2e37148a8172ebac3c6639f93/preimage: No such file or directory
> fatal: unable to generate diff for '.git/rr-cache/a8ec6f624ee23ef2e37148a8172ebac3c6639f93'
>
> wrpc:~/tmp/kajongg/.git/rr-cache (GIT_DIR!|REBASE-i) ls -lrt | tail -3
> drwxr-xr-x 2 wr wr 4096 Mar 24 16:19 e6c7ce944f313fa718cad6875d4ee784c098868c
> drwxr-xr-x 2 wr wr 4096 Mar 24 16:19 d0a20608fa0aafd2b234cce432ce7af567c1a94a
> drwxr-xr-x 2 wr wr 4096 Mar 24 16:43 a8ec6f624ee23ef2e37148a8172ebac3c6639f93
> wrpc:~/tmp/kajongg/.git/rr-cache (GIT_DIR!|REBASE-i) ls -l a8ec6f624ee23ef2e37148a8172ebac3c6639f93/
> total 0
Previous: Wolfgang RohdewaldNext: Marcel Röthke
Message 4 of 5 in “segfault with git rebase --abort”
  1. Wolfgang RohdewaldMar 24, 2024
  2. Junio C HamanoMar 24, 2024
  3. Wolfgang RohdewaldMar 24, 2024
  4. Junio C HamanoMar 25, 2024
  5. Marcel RöthkeApr 6, 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.