threads / bug / 56826

`BUG: sequencer.c:921: GIT_AUTHOR_DATE missing from author script` when trying to reword in interactive rebase

Subject: `BUG: sequencer.c:921: GIT_AUTHOR_DATE missing from author script` when trying to reword in interactive rebase

## tl;dr

3 messages between Nov 1, 2021 and Nov 2, 2021.

replies: 2people: 3as markdown or json

Jonas Kittner· Nov 1, 2021, 23:17 UTC · lore

Hello, I encountered the following bug and filled out the template provided with `git bugreport` below. Kind Regards, Jonas Kittner

Thank you for filling out a Git bug report! Please answer the following questions to help us understand your issue.

What did you do before the bug happened? (Steps to reproduce your issue)

In the interactive prompt I changed `pick` to `reword`, saved and closed the prompt. Commands to repoduce see below

```
root@135b2edea980:/# git init bug
Initialized empty Git repository in /bug/.git/
root@135b2edea980:/# cd bug/
root@135b2edea980:/bug# touch foo
root@135b2edea980:/bug# git add .
root@135b2edea980:/bug# git commit -m "foo"
[master (root-commit) 8fef261] foo
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 foo
root@135b2edea980:/bug# touch bar
root@135b2edea980:/bug# git add .
root@135b2edea980:/bug# git commit -m "bar"
[master 79a46e6] bar
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 bar
root@135b2edea980:/bug# git log --oneline
79a46e6 (HEAD -> master) bar
8fef261 foo
root@135b2edea980:/bug# git rebase --interactive
--committer-date-is-author-date 8fef261
BUG: sequencer.c:921: GIT_AUTHOR_DATE missing from author script
Aborted (core dumped)
root@135b2edea980:/bug# git --version
git version 2.33.1
```

What did you expect to happen? (Expected behavior) I expected to be able to reword the commit message like without passing the `--committer-date-is-author-date` argument.

What happened instead? (Actual behavior) segfault: `BUG: sequencer.c:921: GIT_AUTHOR_DATE missing from author script`

What's different between what you expected and what actually happened? wouldn't expect a segfault, but the option to be able to edit the commit message

Anything else you want to add: This was inside an ubuntu focal docker container, git was installed via the ppa ` ppa:git-core/ppa`

https://github.com/git/git/commit/7573cec52c0274ceb166c425be4288f6b3103d6f#d iff-0e574dc9087fc7831bbc1403545a8561f08869576c1ccc4146aa276146ff9777R888-R88 9 this seems to be not the case and needs to be handled differently I guess?

Please review the rest of the bug report below. You can delete any lines you don't wish to share.

[System Info] git version: git version 2.33.1 cpu: x86_64 no commit associated with this build sizeof-long: 8 sizeof-size_t: 8 shell-path: /bin/sh uname: Linux 5.11.0-38-generic #42~20.04.1-Ubuntu SMP Tue Sep 28 20:41:07 UTC 2021 x86_64 compiler info: gnuc: 9.3 libc info: glibc: 2.31 $SHELL (typically, interactive shell): <unset>

[Enabled Hooks]
Jeff King· Nov 2, 2021, 01:27 UTC · re: Jonas Kittner · lore

Re: `BUG: sequencer.c:921: GIT_AUTHOR_DATE missing from author script` when trying to reword in interactive rebase

On Tue, Nov 02, 2021 at 12:17:29AM +0100, Jonas Kittner wrote:
> In the interactive prompt I changed `pick` to `reword`, saved and closed the
> prompt.
> Commands to repoduce see below

Thanks for the easy reproduction. Here are commands that slightly simplify / automate things, which I used to bisect:

  rm -rf repo
  git init repo
  cd repo
  git commit --allow-empty -qm base
  touch file
  git add .
  GIT_AUTHOR_DATE='@123456789 +0000' git commit -qm "this message says pick"
  GIT_EDITOR='sed -i s/pick/reword/' \
  git.compile rebase -i --committer-date-is-author-date HEAD^
  # not strictly necessary, but when it works, you can see that the
  # timestamps correctly match, and that "pick" was changed to "reword"
  # in the message. Of course when it doesn't work, rebase aborts, so
  # that's easier to see than looking at the commit. :)
  git cat-file commit HEAD
Show 9 quoted lines
> What happened instead? (Actual behavior)
> segfault: `BUG: sequencer.c:921: GIT_AUTHOR_DATE missing from author script`
>
> [...]
>
> https://github.com/git/git/commit/7573cec52c0274ceb166c425be4288f6b3103d6f#d
> iff-0e574dc9087fc7831bbc1403545a8561f08869576c1ccc4146aa276146ff9777R888-R88
> 9
> this seems to be not the case and needs to be handled differently I guess?

It looks like things did work back in 7573cec52c (rebase -i: support --committer-date-is-author-date, 2020-08-17). Bisecting shows that it broke in baf8ec8d3a (rebase -r: don't write .git/MERGE_MSG when fast-forwarding, 2021-08-20). +cc Phillip (who wrote both commits).

-Peff
Phillip Wood· Nov 2, 2021, 12:20 UTC · re: Jeff King · lore

Re: `BUG: sequencer.c:921: GIT_AUTHOR_DATE missing from author script` when trying to reword in interactive rebase

On 02/11/2021 01:27, Jeff King wrote:
Show 41 quoted lines
> On Tue, Nov 02, 2021 at 12:17:29AM +0100, Jonas Kittner wrote:
> 
>> In the interactive prompt I changed `pick` to `reword`, saved and closed the
>> prompt.
>> Commands to repoduce see below
> 
> Thanks for the easy reproduction. Here are commands that slightly
> simplify / automate things, which I used to bisect:
> 
>    rm -rf repo
>    git init repo
>    cd repo
>    git commit --allow-empty -qm base
> 
>    touch file
>    git add .
>    GIT_AUTHOR_DATE='@123456789 +0000' git commit -qm "this message says pick"
> 
>    GIT_EDITOR='sed -i s/pick/reword/' \
>    git.compile rebase -i --committer-date-is-author-date HEAD^
> 
>    # not strictly necessary, but when it works, you can see that the
>    # timestamps correctly match, and that "pick" was changed to "reword"
>    # in the message. Of course when it doesn't work, rebase aborts, so
>    # that's easier to see than looking at the commit. :)
>    git cat-file commit HEAD
> 
>> What happened instead? (Actual behavior)
>> segfault: `BUG: sequencer.c:921: GIT_AUTHOR_DATE missing from author script`
>>
>> [...]
>>
>> https://github.com/git/git/commit/7573cec52c0274ceb166c425be4288f6b3103d6f#d
>> iff-0e574dc9087fc7831bbc1403545a8561f08869576c1ccc4146aa276146ff9777R888-R88
>> 9
>> this seems to be not the case and needs to be handled differently I guess?
> 
> It looks like things did work back in 7573cec52c (rebase -i: support
> --committer-date-is-author-date, 2020-08-17). Bisecting shows that it
> broke in baf8ec8d3a (rebase -r: don't write .git/MERGE_MSG when
> fast-forwarding, 2021-08-20). +cc Phillip (who wrote both commits).

Thanks for bisecting, I think I know what the problem is, I'll post a fix tomorrow.

Best Wishes
Phillip

← back to recent threads