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

Re: [PATCH v4] [GSOC] ref-filter: fix read invalid union member bug

From
Junio C Hamano <gitster@pobox.com>
Date
May 11, 2021, 13:12 UTC
Message-ID
<xmqq7dk5mn2s.fsf@gitster.g>
In-Reply-To
<CAOLTT8SiEVR62LwuagnpbZ4XxiUMe2M2WPjaorzSJmfERD6BMw@mail.gmail.com>
ZheNing Hu <adlternative@gmail.com> writes:
Show 20 quoted lines
>> Well, the thing is,
>>
>>     $ git checkout 49f38e2d ;# (The fifteenth batch, 2021-05-10)
>>     $ git am -s mbox
>>     $ git show --stat --oneline
>>     39509d100a (HEAD) ref-filter: fix read invalid union member bug
>>      ref-filter.c                   |  2 +-
>>      t/t6302-for-each-ref-filter.sh | 18 ++++++++++++++++++
>>      2 files changed, 19 insertions(+), 1 deletion(-)
>>     $ git show ref-filter.c | git apply -R ;# revert only the fix
>>     $ make -j32 && make -C t T=t6302-*.sh
>>
>> does not seem to break anything.  Perhaps there is something more
>> than the "17th byte" thing (like structure padding that may vary
>> depending on the compiler and architecture)?
>
> Fine, I guess the reason for this mystery is I "push" this branch to github
> and you haven't done it. That may not be due to the platform. Because I
> can see no this bug happening when I use a new git repo without "git push",
> and I test in archlinux or deepin, this bug will happen in these environments.

Sorry, you lost me. I was talking about what happens in the new test you added to t6302 not failing as designed, and there shouldn't be "I've pushed but you haven't pushed to GitHub" distinction. The test is running in a brand-new repository just created for the sole purpose of running the test after all.

Show 14 quoted lines
> #!/bin/sh
> mkdir test
> cd test
> git init
> echo 1>1
> git add .
> git branch -M main
> git commit -m "test"
> git remote add origin nowhere
> git config branch.main.remote origin
> git config branch.main.merge refs/heads/main
> git for-each-ref --format="%(color:#aa22ac)%(objectname)"
>
> These two "git config" is for simulating a push environment.

So in short, the test script added to t6302 in the v4 patch was not testing what it was supposed to be testing, as it didn't have the configuration items related to %(push) atom necessary to trigger the error?

That I can believe. I was starting to worry if there was something more subtle going on, but I am glad that it was only an uncooked patch submitted without checking.

> I guess you also saw this bug:
>
> BUG: ref-filter.c:1544: unhandled RR_* enum

No, I didn't. I just tried to make sure the new test was truly checking the existing breakage by partially reverting the code fix, and saw that the new test did not fail.

Thanks.
Previous: ZheNing HuNext: ZheNing Hu
Message 23 of 31 in “[GSOC] ref-filter: solve bugs caused by enumeration”
  1. [GSOC] ref-filter: solve bugs caused by enumerationZheNing Hu via GitGitGadget, May 5, 2021
  2. Junio C HamanoMay 6, 2021
  3. ZheNing HuMay 6, 2021
  4. Junio C HamanoMay 6, 2021
  5. ZheNing HuMay 6, 2021
  6. Junio C HamanoMay 6, 2021
  7. ZheNing HuMay 6, 2021
  8. Junio C HamanoMay 6, 2021
  9. ZheNing HuMay 7, 2021
  10. Junio C HamanoMay 7, 2021
  11. ZheNing HuMay 7, 2021
  12. [GSOC] ref-filter: fix read invalid union member bugZheNing Hu via GitGitGadget, May 6, 2021
  13. [GSOC] ref-filter: fix read invalid union member bugZheNing Hu via GitGitGadget, May 8, 2021
  14. Junio C HamanoMay 10, 2021
  15. ZheNing HuMay 10, 2021
  16. Junio C HamanoMay 10, 2021
  17. ZheNing HuMay 10, 2021
  18. [GSOC] ref-filter: fix read invalid union member bugZheNing Hu via GitGitGadget, May 10, 2021
  19. Junio C HamanoMay 11, 2021
  20. ZheNing HuMay 11, 2021
  21. Junio C HamanoMay 11, 2021
  22. ZheNing HuMay 11, 2021
  23. Junio C HamanoMay 11, 2021
  24. ZheNing HuMay 11, 2021
  25. [GSOC] ref-filter: fix read invalid union member bugZheNing Hu via GitGitGadget, May 11, 2021
  26. Junio C HamanoMay 12, 2021
  27. ZheNing HuMay 12, 2021
  28. [GSOC] ref-filter: fix read invalid union member bugZheNing Hu via GitGitGadget, May 12, 2021
  29. Junio C HamanoMay 12, 2021
  30. ZheNing HuMay 13, 2021
  31. [GSOC] ref-filter: fix read invalid union member bugZheNing Hu via GitGitGadget, May 13, 2021

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.