All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Randall S. Becker" <rsbecker@nexbridge.com>
To: <git@vger.kernel.org>
Subject: [Bug] Git 2.29.0-rc1 t5562.8 Hang on NonStop
Date: Tue, 13 Oct 2020 10:41:13 -0400	[thread overview]
Message-ID: <05db01d6a16e$e9cc8ea0$bd65abe0$@nexbridge.com> (raw)

This is a repeat of a prior unresolved situation. During the full regression
suite, subtest t5562.8 (fetch gzipped empty) appears to have hung on the
NonStop port. The code was in a loop repeatedly calling waitpid here in
git-http-backend:

  waitpid + 0x320 (SLr)
  $n_EnterPriv + 0x280 (Milli)
  cleanup_children + 0x250 (UCr)
  cleanup_children_on_exit + 0x30 (UCr)
  git_atexit_dispatch + 0xB0 (UCr)
  __process_atexit_functions + 0xA0 (DLL zcredll)
  CRE_TERMINATOR_ + 0xB50 (DLL zcredll)
  exit + 0x2A0 (DLL zcrtldll)
  die_webcgi + 0xA0 (UCr)
  die_errno + 0x150 (UCr)
  write_or_die + 0xC0 (UCr)
  end_headers + 0x70 (UCr)
  die_webcgi + 0x160 (UCr)
  die + 0x120 (UCr)
  inflate_request + 0x3D0 (UCr)
  run_service + 0x540 (UCr)
  service_rpc + 0x1F0 (UCr)
  cmd_main + 0x3B0 (UCr)
  main + 0x120 (UCr)
  _MAIN + 0x80 (UCr)

I do not see any relevant diff between rc0 and rc1 that could account for
this. I also experienced this hang during 2.28.0 testing and in earlier
releases transiently. 2.21.0 had this hang also. I have noticed a number of
reports of this subtest hanging on different platforms. It looks like the
situation is here:

                while (waitpid(p->pid, NULL, 0) < 0 && errno == EINTR)
                        ; /* spin waiting for process exit or error */

It is possible that, without kernel threads, the child never terminates (or
is waiting on a deferred signal that is not being delivered). If both git
and git-http-backend are in cleanup_children at the same time, it is
possible that neither will terminate, if git-http-backend has a child that
is waiting on something else - apparent from this trace.

Sincerely,
Randall

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



                 reply	other threads:[~2020-10-13 14:41 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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='05db01d6a16e$e9cc8ea0$bd65abe0$@nexbridge.com' \
    --to=rsbecker@nexbridge.com \
    --cc=git@vger.kernel.org \
    /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.