git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [BUG] More on t5562 hangs randomly in subtests 6,8 and 13 in 2.21.0-rc0
@ 2019-02-11 16:59 Randall S. Becker
  2019-02-13  4:30 ` Max Kirillov
  0 siblings, 1 reply; 6+ messages in thread
From: Randall S. Becker @ 2019-02-11 16:59 UTC (permalink / raw)
  To: git; +Cc: max

Hi All,

I have localized the hang in t5562 (previous thread) to the
invoke-with-content-length.pl script. At least on NonStop, what happens is
that the perl process hangs waiting for close($out) to complete whether
explicitly or implicitly (if the call is removed). The trace for the perl
process shows it hung at Perl_io_close (the platform's trace anyway). My
interpretation is that the reading process is still around but is no longer
reading on that pipe. If any of the processes hanging around are killed, the
structure unwinds. However, when some of the tests are run, git-http-backend
remains running after subtest 6 and/or 8 runs even if that subtest does not
hang. The presence of other git-http-backend processes seems to interfere
with subsequent tests, and if you run tests individually, subtests 6,8, and
13 consistently pass. Strangely, if a bunch of print statements are added to
another terminal explicitly, the test works consistently, so this is
sounding a bit either like a race condition or flushes are not being handled
consistently although the code appears to handle the latter case.

Simply killing old git-http-backend and/or perl processes does not make a
difference so the race may involve test contents, but I can't make that
determination. There is no correlation with system load.

That's as far as I have been able to analyze the situation at this stage.
I've CC'd the author to see whether there might be some perspective that can
come in here to help out.

This test has broken our CI process for git on NonStop, because of the hang,
so it's rather important to us to get this resolved before the official
2.21.0.

Still hoping for help on this issue,
Randall



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

* Re: [BUG] More on t5562 hangs randomly in subtests 6,8 and 13 in 2.21.0-rc0
  2019-02-11 16:59 Randall S. Becker
@ 2019-02-13  4:30 ` Max Kirillov
  0 siblings, 0 replies; 6+ messages in thread
From: Max Kirillov @ 2019-02-13  4:30 UTC (permalink / raw)
  To: Randall S. Becker; +Cc: git, max

On Mon, Feb 11, 2019 at 11:59:00AM -0500, Randall S. Becker wrote:
> Hi All,
> 
> I have localized the hang in t5562 (previous thread) to the
> invoke-with-content-length.pl script.

Hi.

I have not noticed the previous thread.

I have yet to look at it more closely, but there have been
one case of misbehavior due to unintended reuse of output file (see
https://public-inbox.org/git/20181119101535.16538-1-carenas@gmail.com/ )
Could your case be somehow related to it?

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

* Re: [BUG] More on t5562 hangs randomly in subtests 6,8 and 13 in 2.21.0-rc0
@ 2019-02-13 15:16 randall.s.becker
  2019-02-13 17:40 ` Max Kirillov
  0 siblings, 1 reply; 6+ messages in thread
From: randall.s.becker @ 2019-02-13 15:16 UTC (permalink / raw)
  To: 'Git List'; +Cc: max

On 2019-02-13, Max Kirillov, wrote:
>On Mon, Feb 11, 2019 at 11:59:00AM -0500, Randall S. Becker wrote:
>> Hi All,
>> 
>> I have localized the hang in t5562 (previous thread) to the
>> invoke-with-content-length.pl script.
>
>I have yet to look at it more closely, but there have been
>one case of misbehavior due to unintended reuse of output file (see
>https://public-inbox.org/git/20181119101535.16538-1-carenas@gmail.com/ )
>Could your case be somehow related to it?

I don't think the lack of curl is an issue (one thing mentioned in the
thread), as curl works fine. We are on 7.57.0.

As far as the unintended reuse of the output file, and issues with pipes,
yes, the NonStop is very sensitive to complex use of pipes and much of the
compatibility issues we have had relate to those (usually Linux-specific
pipe assumptions). That is where I have been looking when trying to debug
this situation (not yet found anything). This could very well be directly
related.

Regards,
Randall


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

* Re: [BUG] More on t5562 hangs randomly in subtests 6,8 and 13 in 2.21.0-rc0
  2019-02-13 15:16 [BUG] More on t5562 hangs randomly in subtests 6,8 and 13 in 2.21.0-rc0 randall.s.becker
@ 2019-02-13 17:40 ` Max Kirillov
  2019-02-13 18:20   ` Randall S. Becker
  2019-02-18 20:14   ` Johannes Schindelin
  0 siblings, 2 replies; 6+ messages in thread
From: Max Kirillov @ 2019-02-13 17:40 UTC (permalink / raw)
  To: randall.s.becker; +Cc: 'Git List', max

On Wed, Feb 13, 2019 at 10:16:26AM -0500, randall.s.becker@rogers.com wrote:
> On 2019-02-13, Max Kirillov, wrote:
> As far as the unintended reuse of the output file, and issues with pipes,
> yes, the NonStop is very sensitive to complex use of pipes and much of the
> compatibility issues we have had relate to those (usually Linux-specific
> pipe assumptions). That is where I have been looking when trying to debug
> this situation (not yet found anything). This could very well be directly
> related.

You mentioned cases 6,8,13. These are all related to gipped
request body. Could it be the git-http-backend does not
clean a sub-process which pervforms the decompression?

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

* RE: [BUG] More on t5562 hangs randomly in subtests 6,8 and 13 in 2.21.0-rc0
  2019-02-13 17:40 ` Max Kirillov
@ 2019-02-13 18:20   ` Randall S. Becker
  2019-02-18 20:14   ` Johannes Schindelin
  1 sibling, 0 replies; 6+ messages in thread
From: Randall S. Becker @ 2019-02-13 18:20 UTC (permalink / raw)
  To: 'Max Kirillov'; +Cc: 'Git List'

On February 13, 2019 12:41, Max Kirillov wrote:
> On Wed, Feb 13, 2019 at 10:16:26AM -0500, randall.s.becker@rogers.com
> wrote:
> > On 2019-02-13, Max Kirillov, wrote:
> > As far as the unintended reuse of the output file, and issues with
> > pipes, yes, the NonStop is very sensitive to complex use of pipes and
> > much of the compatibility issues we have had relate to those (usually
> > Linux-specific pipe assumptions). That is where I have been looking
> > when trying to debug this situation (not yet found anything). This
> > could very well be directly related.
> 
> You mentioned cases 6,8,13. These are all related to gipped request body.
> Could it be the git-http-backend does not clean a sub-process which
> pervforms the decompression?

I guess that is possible. I don't know the guts of this part of the code.


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

* Re: [BUG] More on t5562 hangs randomly in subtests 6,8 and 13 in 2.21.0-rc0
  2019-02-13 17:40 ` Max Kirillov
  2019-02-13 18:20   ` Randall S. Becker
@ 2019-02-18 20:14   ` Johannes Schindelin
  1 sibling, 0 replies; 6+ messages in thread
From: Johannes Schindelin @ 2019-02-18 20:14 UTC (permalink / raw)
  To: Max Kirillov; +Cc: randall.s.becker, 'Git List'

Hi Max,

On Wed, 13 Feb 2019, Max Kirillov wrote:

> On Wed, Feb 13, 2019 at 10:16:26AM -0500, randall.s.becker@rogers.com wrote:
> > On 2019-02-13, Max Kirillov, wrote:
> > As far as the unintended reuse of the output file, and issues with pipes,
> > yes, the NonStop is very sensitive to complex use of pipes and much of the
> > compatibility issues we have had relate to those (usually Linux-specific
> > pipe assumptions). That is where I have been looking when trying to debug
> > this situation (not yet found anything). This could very well be directly
> > related.
> 
> You mentioned cases 6,8,13. These are all related to gipped
> request body. Could it be the git-http-backend does not
> clean a sub-process which pervforms the decompression?

That is an interesting question. From what I can see, the
`gzipped_request` flag guards a call to `inflate_request()`, which does
not explicitly close stdin, is all I could see. But it does not spawn a
sub-process from what I can see, other than the regular backend
("upload-pack" or "receive-pack").

Ciao,
Dscho

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

end of thread, other threads:[~2019-02-18 20:14 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-13 15:16 [BUG] More on t5562 hangs randomly in subtests 6,8 and 13 in 2.21.0-rc0 randall.s.becker
2019-02-13 17:40 ` Max Kirillov
2019-02-13 18:20   ` Randall S. Becker
2019-02-18 20:14   ` Johannes Schindelin
  -- strict thread matches above, loose matches on Subject: below --
2019-02-11 16:59 Randall S. Becker
2019-02-13  4:30 ` Max Kirillov

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).