All of lore.kernel.org
 help / color / mirror / Atom feed
From: "SZEDER Gábor" <szeder.dev@gmail.com>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: "Randall S. Becker" <rsbecker@nexbridge.com>,
	'Junio C Hamano' <gitster@pobox.com>,
	git@vger.kernel.org, 'Max Kirillov' <max@max630.net>
Subject: Re: [ANNOUNCE] Git v2.21.0-rc1 (NonStop Results)
Date: Fri, 15 Feb 2019 14:02:13 +0100	[thread overview]
Message-ID: <20190215130213.GK1622@szeder.dev> (raw)
In-Reply-To: <nycvar.QRO.7.76.6.1902142234070.45@tvgsbejvaqbjf.bet>

On Thu, Feb 14, 2019 at 10:36:42PM +0100, Johannes Schindelin wrote:
> On Thu, 14 Feb 2019, Randall S. Becker wrote:
> 
> > t5562 still hangs (blocking) - this breaks our CI pipeline since the
> > test hangs and we have no explanation of whether the hang is in git or
> > the tests.
> 
> I have "good" news: it now also hangs on Ubuntu 16.04 in Azure Pipelines'
> Linux agents.

I haven't yet seen that hang in the wild and couldn't reproduce it on
purpose, but there is definitely something fishy with t5562 even on
Linux and even without that perl generate_zero_bytes helper.

  $ git checkout cc95bc2025^
  Previous HEAD position was cc95bc2025 t5562: replace /dev/zero with a pipe from generate_zero_bytes
  HEAD is now at 24b451e77c t5318: replace use of /dev/zero with generate_zero_bytes
  $ make
  <snip>
  $ cd t
  # take note of the shell's PID
  $ echo $$
  15522
  $ ./t5562-http-backend-content-length.sh --stress |tee LOG
  OK    3.0
  OK    1.0
  OK    6.0
  OK    0.0
  <snap>

And then in another terminal run this:

  $ pstree -a -p 15522

or, to make it easier noticable what changed and what stayed the same:

  $ watch -d pstree -a -p 15522

The output will sooner or later will look like this:

  bash,15522
    └─t5562-http-back,21082 ./t5562-http-backend-content-length.sh --stress
        ├─t5562-http-back,21089 ./t5562-http-backend-content-length.sh --stress
        │   └─sh,24906 ./t5562-http-backend-content-length.sh --stress
        ├─t5562-http-back,21090 ./t5562-http-backend-content-length.sh --stress
        │   └─sh,26660 ./t5562-http-backend-content-length.sh --stress
        ├─t5562-http-back,21092 ./t5562-http-backend-content-length.sh --stress
        │   └─sh,4202 ./t5562-http-backend-content-length.sh --stress
        │       └─sh,5696 ./t5562-http-backend-content-length.sh --stress
        │           └─perl,5697 /home/szeder/src/git/t/t5562/invoke-with-content-length.pl push_body.gz.trunc git http-backend
        │               └─(git,5722)
        ├─t5562-http-back,21093 ./t5562-http-backend-content-length.sh --stress
        │   └─sh,25572 ./t5562-http-backend-content-length.sh --stress
  <snip>

It won't show most of the processes run in the tests, because they are
just too fast and short-lived.  However, occasionally it does show a
stuck git process, which is shown as <defunct> in regular 'ps aux'
output:

  szeder   5722  0.0  0.0      0     0 pts/16   Z+   13:36   0:00 [git] <defunct>

Note that this is not a "proper" hang, in the sense that this process
is not stuck forever, but only for about 1 minute, after which it
disappears, and the test continues and eventually finishes with
success.  I've looked into the logs of a couple of such stuck jobs,
and it seems that it varies in which test that git process happened to
get stuck.


 

  parent reply	other threads:[~2019-02-15 13:02 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-14 15:04 [ANNOUNCE] Git v2.21.0-rc1 (NonStop Results) Randall S. Becker
2019-02-14 19:56 ` Junio C Hamano
2019-02-14 21:36 ` Johannes Schindelin
2019-02-14 22:25   ` Randall S. Becker
2019-02-15 13:02   ` SZEDER Gábor [this message]
2019-02-15 13:49     ` Randall S. Becker
2019-02-15 20:37     ` Max Kirillov
2019-02-15 21:13       ` Randall S. Becker
2019-02-16  8:26         ` Max Kirillov
2019-02-18 20:50     ` [PATCH] t5562: chunked sleep to avoid lost SIGCHILD Max Kirillov
2019-02-18 20:54       ` Randall S. Becker
2019-02-18 20:59         ` Max Kirillov
2019-02-19 18:38       ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190215130213.GK1622@szeder.dev \
    --to=szeder.dev@gmail.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=max@max630.net \
    --cc=rsbecker@nexbridge.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.