git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [Possible Bug] Commit generates GC repack failure
@ 2019-01-14 14:50 Randall S. Becker
  2019-01-14 15:03 ` Duy Nguyen
  2019-01-14 15:11 ` Ævar Arnfjörð Bjarmason
  0 siblings, 2 replies; 5+ messages in thread
From: Randall S. Becker @ 2019-01-14 14:50 UTC (permalink / raw)
  To: git

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.

Cheers,
Randall

-- Brief whoami:
 NonStop developer since approximately 211288444200000000
 UNIX developer since approximately 421664400
-- In my real life, I talk too much.





^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Possible Bug] Commit generates GC repack failure
  2019-01-14 14:50 [Possible Bug] Commit generates GC repack failure Randall S. Becker
@ 2019-01-14 15:03 ` Duy Nguyen
  2019-01-14 15:07   ` Duy Nguyen
  2019-01-14 15:11 ` Ævar Arnfjörð Bjarmason
  1 sibling, 1 reply; 5+ messages in thread
From: Duy Nguyen @ 2019-01-14 15:03 UTC (permalink / raw)
  To: Randall S. Becker; +Cc: Git Mailing List

On Mon, Jan 14, 2019 at 9:51 PM Randall S. Becker
<rsbecker@nexbridge.com> 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

sanitize_stdfds() in setup.c can attempt to open /dev/null then
redirect stdout and stderr to it. I think this is part of the
daemonization that is done in background gc.

> 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.
>
> Cheers,
> Randall
>
> -- Brief whoami:
>  NonStop developer since approximately 211288444200000000
>  UNIX developer since approximately 421664400
> -- In my real life, I talk too much.
>
>
>
>


-- 
Duy

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Possible Bug] Commit generates GC repack failure
  2019-01-14 15:03 ` Duy Nguyen
@ 2019-01-14 15:07   ` Duy Nguyen
  0 siblings, 0 replies; 5+ messages in thread
From: Duy Nguyen @ 2019-01-14 15:07 UTC (permalink / raw)
  To: Randall S. Becker; +Cc: Git Mailing List

On Mon, Jan 14, 2019 at 10:03 PM Duy Nguyen <pclouds@gmail.com> wrote:
>
> On Mon, Jan 14, 2019 at 9:51 PM Randall S. Becker
> <rsbecker@nexbridge.com> 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
>
> sanitize_stdfds() in setup.c can attempt to open /dev/null then
> redirect stdout and stderr to it. I think this is part of the
> daemonization that is done in background gc.

However the message does not match. I think you will find this "open
/dev/null failed" line in run-command.c
-- 
Duy

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Possible Bug] Commit generates GC repack failure
  2019-01-14 14:50 [Possible Bug] Commit generates GC repack failure Randall S. Becker
  2019-01-14 15:03 ` Duy Nguyen
@ 2019-01-14 15:11 ` Ævar Arnfjörð Bjarmason
  2019-01-14 16:09   ` Randall S. Becker
  1 sibling, 1 reply; 5+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2019-01-14 15:11 UTC (permalink / raw)
  To: Randall S. Becker; +Cc: git


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?

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [Possible Bug] Commit generates GC repack failure
  2019-01-14 15:11 ` Ævar Arnfjörð Bjarmason
@ 2019-01-14 16:09   ` Randall S. Becker
  0 siblings, 0 replies; 5+ messages in thread
From: Randall S. Becker @ 2019-01-14 16:09 UTC (permalink / raw)
  To: 'Ævar Arnfjörð Bjarmason'; +Cc: git

On January 14, 2019 10:12, Ævar Arnfjörð Bjarmason wrote:
> 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?

That line of code works fine on the platform. I tested it in isolation at various OS levels. Let me go back and say that I'm not 100% sure this is new, but may have been there since just before 2.16. Still perplexed recognizing that that is the only point in git code where that can happen.

Cheers,
Randall


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-01-14 16:09 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-14 14:50 [Possible Bug] Commit generates GC repack failure Randall S. Becker
2019-01-14 15:03 ` Duy Nguyen
2019-01-14 15:07   ` Duy Nguyen
2019-01-14 15:11 ` Ævar Arnfjörð Bjarmason
2019-01-14 16:09   ` Randall S. Becker

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).