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

Re: [PATCH] ci(win+Meson): build in Release mode, avoiding t7001-mv hangs

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 25, 2025, 15:18 UTC
Message-ID
<xmqqmsc4uv6d.fsf@gitster.g>
In-Reply-To
<pull.1908.git.1745593515875.gitgitgadget@gmail.com>

"Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com> writes:

Show 5 quoted lines
> From: Johannes Schindelin <johannes.schindelin@gmx.de>
>
> Since switching to `--vsenv`, the t7001-mv test consistently times out
> after six hours in the CI builds on GitHub. This kind of waste is
> inconsistent with my values.

With mine too and I would presume everybody else's. I've been annoyed for a long time by one of those sharded Meson-Win test jobs that hang around until timeout.

Thank you very much for addressing the issue.
Show 8 quoted lines
> The reason for this timeout is the test case 'nonsense mv triggers
> assertion failure and partially updated index' in t7001-mv (which is
> not even a regression test, but instead merely demonstrates a bug that
> someone thought someone else should fix at some time). As the name
> suggests, it triggers an assertion. The problem with this is that an
> assertion on Windows, at least when run in Debug mode, will open a modal
> dialog that patiently awaits some buttons to be clicked. Which never
> happens in automated builds.
Interesting.

So another viable fix (no, I am not suggesting a counter-proposal, but asking a pure question to see if I understand the issue correctly) is to rewrite "assert(cond)" to "if (cond) BUG(...)" or something like that, so that it truly fails?

> The solution is straight-forward: Just like the `win+VS` job already did
> in forever, build in Release mode (where that modal assertion dialog is
> never shown).
OK.
Show 29 quoted lines
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> ---
>     ci(win+Meson): build in Release mode, avoiding t7001-mv hangs
>     
>     I was surprised to find this issue today, and that this had not been
>     addressed yet.
>
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1908%2Fdscho%2Fdont-let-win%2BMeson-hang-in-t7001-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1908/dscho/dont-let-win+Meson-hang-in-t7001-v1
> Pull-Request: https://github.com/gitgitgadget/git/pull/1908
>
>  .github/workflows/main.yml | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
> index 83ca8e4182b..275240be5dc 100644
> --- a/.github/workflows/main.yml
> +++ b/.github/workflows/main.yml
> @@ -265,7 +265,7 @@ jobs:
>        run: pip install meson ninja
>      - name: Setup
>        shell: pwsh
> -      run: meson setup build --vsenv -Dperl=disabled -Dcredential_helpers=wincred
> +      run: meson setup build --vsenv -Dbuildtype=release -Dperl=disabled -Dcredential_helpers=wincred
>      - name: Compile
>        shell: pwsh
>        run: meson compile -C build
>
> base-commit: f65182a99e545d2f2bc22e6c1c2da192133b16a3
Previous: Johannes Schindelin via GitGitGadgetNext: Patrick Steinhardt
Message 2 of 17 in “ci(win+Meson): build in Release mode, avoiding t7001-mv hangs”
  1. ci(win+Meson): build in Release mode, avoiding t7001-mv hangsJohannes Schindelin via GitGitGadget, Apr 25, 2025
  2. Junio C HamanoApr 25, 2025
  3. Patrick SteinhardtApr 28, 2025
  4. Junio C HamanoApr 28, 2025
  5. Patrick SteinhardtApr 29, 2025
  6. Junio C HamanoApr 29, 2025
  7. Patrick SteinhardtApr 30, 2025
  8. Patrick SteinhardtApr 30, 2025
  9. Kristoffer HaugsbakkApr 29, 2025
  10. ci(win+Meson): build in Release modeJohannes Schindelin via GitGitGadget, May 3, 2025
  11. Patrick SteinhardtMay 5, 2025
  12. Johannes SchindelinMay 5, 2025
  13. Patrick SteinhardtMay 5, 2025
  14. Junio C HamanoMay 5, 2025
  15. Patrick SteinhardtMay 6, 2025
  16. Johannes SchindelinMay 6, 2025
  17. Junio C HamanoMay 8, 2025

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.