Subject: Re: [Possible Bug] Commit generates GC repack failure

From: Ævar Arnfjörð Bjarmason <[email-masked]>
Date: Mon, 14 Jan 2019 16:11:48 +0100

On Mon, Jan 14 2019, Randall S. Becker wrote:

> Hi All,
>
> I'm trying to track down what happened this morning. We had a commit that
> caused a background gc to occur. What happened was:
>
> $ git commit -m "history commit ... "
> Auto packing the repository in background for optimum performance.
> See "git help gc" for manual housekeeping.
> warning: The last gc run reported the following. Please correct the root
> cause
> and remove .git/gc.log.
> Automatic cleanup will not be performed until the file is removed.
>
> fatal: open /dev/null failed: Invalid function argument
> fatal: failed to run repack
>
> Obviously the /dev/null open was not right, but I don't know where this is
> in the git code to investigate further. Any pointers on where to look would
> be appreciated. This started happening at  2.20.1 on the NonStop platform.

We use start_command() when gc does run_command_v_opt() of
e.g. git-repack. See in that file:

    null_fd = open("/dev/null", O_RDWR | O_CLOEXEC)

Maybe that sort of code just fails on NonStop?