Re: [REGRESSION] uninitialized value $address in git send-email

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2023-09-19 10:04, Michael Strawbridge wrote:
> On 2023-09-19 00:44, Bagas Sanjaya wrote:
>> On Mon, Sep 18, 2023 at 04:26:44PM -0400, Michael Strawbridge wrote:
>>> 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:
>>>> 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@xxxxxx>", 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?
>> I triggered this regression when I passed multiple addresses separated by comma
>> (like `--to="foo <foo@xxxxxxxx>,bar <bar@xxxxxxxx>"`, but somehow I managed to
>> reduce the trigger to one address only (in this case, "pi <pi@xxxxxx>"). As for
>> multiple addresses part, let me know if I should post another regression
>> report.
>>
> Hm.  I'm not sure what to say.  I have used the below docker container
> as a test environment and don't seem to find issues with 'git send-email
> --to="pi <pi@xxxxxx>" /email/test/*.patch' nor with 'git send-email
> --to="foo <foo@xxxxxxxx>,bar <bar@xxxxxxxx>" /email/test/*.patch'.
>
> Maybe if you could try the following test environment too and see if you
> can reproduce it inside the docker container:
>
> NOTE: I assume you install docker on your system
>
> Step 1) Create folder with the below files inside
>
> Dockerfile:
>
> ...
>
> FROM debian:trixie
>
> RUN apt-get update && \
>     apt-get install -y git git-email vim
>
> WORKDIR /
>
> RUN git clone https://github.com/git/git.git && \
>     cd git && \
>     git checkout -b test
>
> #COPY git-send-email /usr/lib/git-core/git-send-email
>
> RUN git config --global user.email "you@xxxxxxxxxxx"
> RUN git config --global user.name "Your Name"
>
> #specific error case
> RUN cd git && echo '#!/bin/sh \n\
> patatt sign --hook "${1}"' > .git/hooks/sendemail-validate
>
> RUN cd git && echo test > test && git add test && git commit -s -m "test"
> RUN cd git && echo "test test" >> test && git commit -a -s -m "test test"
> RUN mkdir -p /email/test
> RUN cd git && git format-patch -o /email/test --cover-letter master
> RUN sed -i 's/\*\*\* SUBJECT HERE \*\*\*/test/'
> /email/test/0000-cover-letter.patch
>
> ...
>
>
> run.sh:
>
> ...
>
> #!/bin/sh
>
> sudo docker stop git-send-email-debug
> sudo docker rm git-send-email-debug
>
> sudo docker build -t git-send-email-debug:latest .
>
> sudo docker run -it --name git-send-email-debug git-send-email-debug:latest
>
> ...
>
>
> Step 2) Make run.sh executable and start run.sh to create docker
> container shell.  Inside the container's shell (will pop up
> automatically) please try this:
>
> git send-email --to="foo <foo@xxxxxxxx>,bar <bar@xxxxxxxx>"
> /email/test/*.patch
>
>
> Please let me know the results of the test case above and any other
> things you try that have interesting results.
>
>
> Thank you!
>
Whoops, somehow I missed the other responses on this thread until I
looked on the web archive version of this mailing list.  I see that a
solution to "Use of uninitialized value $address" has already been proposed.

I suppose I may have mistook what issue was being reported.  I had
originally understood the problem to be that hook related logic was
failing with correct email addresses, but it seems rather that we are
trying to fix an error that occurs when an email address that fails
extract_valid_address_or_die() is given.  Feel free to ignore my last
email if that is all we are trying to solve.




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux