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

Re: [PATCH 3/3] ci: stop installing "gcc-13" for osx-gcc

From
Philip <philip.c.peterson@gmail.com>
Date
May 26, 2024, 06:34 UTC
Message-ID
<CAJ6X7_VSswj6pw2gyfEp=Hmx237MJEJA4bW+QkKNs88iRf=Hwg@mail.gmail.com>
In-Reply-To
<Zkc_zJGjwg0fZkRG@tanuki>

Part of the problem seems to be that the Github actions runner has a bug on OSX: https://github.com/actions/runner/issues/884

Based on investigating this for a while by setting up a self-hosted actions runner, it seems to have to do with a broken pipe triggering incomplete output capture / termination detection by either Github Action Runner ( see issue thread) or maybe even Dotnet Core's System.Diagnostics.Process functionality.

As for the actual failing test, t9211, what I got on my machine was a failure during clone: `unknown repository extension found: refstorage`. In the trash directory, the .git/config did specify that extension. Perhaps some interference coming from t9500-gitweb-standalone-no-errors.sh, since it invokes:

> git config extensions.refstorage "$refstorage"

Cheers, Phil

On Fri, May 17, 2024 at 7:30 AM Patrick Steinhardt <ps@pks.im> wrote:
Show 63 quoted lines
>
> On Fri, May 17, 2024 at 10:25:20AM +0200, Patrick Steinhardt wrote:
> > On Fri, May 17, 2024 at 04:11:32AM -0400, Jeff King wrote:
> > > On Thu, May 16, 2024 at 02:36:19PM +0200, Patrick Steinhardt wrote:
> > [snip]
> > > One can guess that scalar is in waitpid() waiting for git-fetch. But
> > > what's fetch waiting on? The other side of upload-pack is dead.
> > > According to lsof, it does have a unix socket open to fsmonitor. So
> > > maybe it's trying to read there?
> >
> > That was also my guess. I tried whether disabling fsmonitor via
> > `core.fsmonitor=false` helps, but that did not seem to be the case.
> > Either because it didn't have the desired effect, or because the root
> > cause is not fsmonitor. No idea which of both it is.
>
> The root cause actually is the fsmonitor. I was using your tmate hack to
> SSH into one of the failed jobs, and there had been 7 instances of the
> fsmonitor lurking. After killing all of them the job got unstuck and ran
> to completion.
>
> The reason why setting `core.fsmonitor=false` is ineffective is because
> in "scalar.c" we always configure `core.fsmonitor=true` in the repo
> config and thus override the setting. I was checking whether it would
> make sense to defer enabling the fsmonitor until after the fetch and
> checkout have concluded. But funny enough, the below patch caused the
> pipeline to now hang deterministically.
>
> Puzzled.
>
> Patrick
>
> diff --git a/scalar.c b/scalar.c
> index 7234049a1b..67f85c7adc 100644
> --- a/scalar.c
> +++ b/scalar.c
> @@ -178,13 +178,6 @@ static int set_recommended_config(int reconfigure)
>                      config[i].key, config[i].value);
>     }
>
> -       if (have_fsmonitor_support()) {
> -               struct scalar_config fsmonitor = { "core.fsmonitor", "true" };
> -               if (set_scalar_config(&fsmonitor, reconfigure))
> -                       return error(_("could not configure %s=%s"),
> -                                    fsmonitor.key, fsmonitor.value);
> -       }
> -
>     /*
>      * The `log.excludeDecoration` setting is special because it allows
>      * for multiple values.
> @@ -539,6 +532,13 @@ static int cmd_clone(int argc, const char **argv)
>     if (res)
>         goto cleanup;
>
> +       if (have_fsmonitor_support()) {
> +               struct scalar_config fsmonitor = { "core.fsmonitor", "true" };
> +               if (set_scalar_config(&fsmonitor, 0))
> +                       return error(_("could not configure %s=%s"),
> +                                    fsmonitor.key, fsmonitor.value);
> +       }
> +
>     res = register_dir();
>
>  cleanup:
Previous: Patrick SteinhardtNext: Junio C Hamano
Message 27 of 31 in “un-breaking osx-gcc ci job”
  1. 0/3 un-breaking osx-gcc ci jobJeff King, May 9, 2024
  2. 1/3 ci: drop mention of BREW_INSTALL_PACKAGES variableJeff King, May 9, 2024
  3. 2/3 ci: avoid bare "gcc" for osx-gcc jobJeff King, May 9, 2024
  4. Patrick SteinhardtMay 10, 2024
  5. Jeff KingMay 10, 2024
  6. Kyle LippincottMay 10, 2024
  7. Junio C HamanoMay 10, 2024
  8. Jeff KingMay 10, 2024
  9. Junio C HamanoMay 10, 2024
  10. Patrick SteinhardtMay 11, 2024
  11. Jeff KingMay 16, 2024
  12. Jeff KingMay 16, 2024
  13. Patrick SteinhardtMay 16, 2024
  14. Jeff KingMay 17, 2024
  15. Patrick SteinhardtMay 17, 2024
  16. Junio C HamanoMay 17, 2024
  17. Jeff KingMay 23, 2024
  18. Junio C HamanoMay 23, 2024
  19. 3/3 ci: stop installing "gcc-13" for osx-gccJeff King, May 9, 2024
  20. Patrick SteinhardtMay 10, 2024
  21. Jeff KingMay 10, 2024
  22. Patrick SteinhardtMay 11, 2024
  23. Patrick SteinhardtMay 16, 2024
  24. Jeff KingMay 17, 2024
  25. Patrick SteinhardtMay 17, 2024
  26. Patrick SteinhardtMay 17, 2024
  27. PhilipMay 26, 2024
  28. Junio C HamanoMay 26, 2024
  29. Patrick SteinhardtMay 27, 2024
  30. Jeff KingMay 29, 2024
  31. Junio C HamanoMay 9, 2024

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.