Re: [REGRESSION] uninitialized value $address in git send-email
- From
- Michael Strawbridge <michael.strawbridge@amd.com>
- Date
- Sep 18, 2023, 20:26 UTC
- Message-ID
- <8fcd6d2a-2c16-adf9-da1f-6b9d6fdcc87a@amd.com>
- In-Reply-To
- <ZQhI5fMhDE82awpE@debian.me>
Hi,
Author of a8022c5f7b67 (send-email: expose header information to git-send-email's sendemail-validate hook, 2023-04-19) here.
On 2023-09-18 08:56, Bagas Sanjaya wrote:
Show 52 quoted lines
> Hi,
>
> Recently when I was submitting doc fixes to linux-doc mailing list [1]
> using git-send-email(1), I got perl-related error:
>
> ```
> Use of uninitialized value $address in sprintf at /home/bagas/.app/git/dist/v2.42.0/libexec/git-core/git-send-email line 1172.
> error: unable to extract a valid address from:
> ```
>
> My linux.git clone has sendemail-validate hook which uses patatt (from b4
> package). The hook is:
>
> ```
> #!/bin/sh
> # installed by patatt install-hook
> patatt sign --hook "${1}"
> ```
>
> This issue occurs on Git v2.41.0 but not in v2.40.0. Bisecting, the culprit is
> commit a8022c5f7b67 (send-email: expose header information to git-send-email's
> sendemail-validate hook, 2023-04-19). Emily's earlier report [2] also points to
> the same culprit, but with different bug.
>
> I triggered this issue on patch series with cover letter. To reproduce:
>
> 1. Clone git.git repo, then branch off:
>
> ```
> $ git clone https://github.com/git/git.git && cd git
> $ git checkout -b test
> ```
>
> 2. Make two dummy signed-off commits:
>
> ```
> $ echo test > test && git add test && git commit -s -m "test"
> $ echo "test test" >> test && git commit -a -s -m "test test"
> ```
>
> 3. Generate patch series:
>
> ```
> $ mkdir /tmp/test
> $ git format-patch -o /tmp/test --cover-letter main
> ```
>
> 4. Send the series to dummy address:
>
> ```
> $ git send-email --to="pi <pi@pi>" /tmp/test/*.patch
> ```I tried to repro this today on my side. I can repro the error when using the address "pi <pi@pi>" but that's not a valid email address and so one would expect it to fail in the extract_valid_address_or_die function with the error that you mention. As soon as I make the address valid like "pi <pi@pi.com>", git send-email no longer complains.
In your original case, are you trying to send email to an invalid email address? Is it an alias by chance?
Thanks.
Show 12 quoted lines
> git-send-email(1) trips on the cover letter since there is no recipient > addresses detected. It also errored out on patches without Signed-off-by > trailer. When the command should have been succeeded, I expected that it > asked me whether to send each patch or not. > > My system runs Debian testing (trixie/sid) with perl 5.36.0. > > Thanks. > > [1]: https://lore.kernel.org/linux-doc/20230918093240.29824-1-bagasdotme@gmail.com/ > [2]: https://lore.kernel.org/git/CAJoAoZ=GGgjGOeaeo6RFBO7=6msdRf-Ze6XcnL04K5ugupLUJA@mail.gmail.com/ >