git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Jeff King <peff@peff.net>
To: Johannes Sixt <j6t@kdbg.org>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 0/4] fix hang in git push when pack-objects fails
Date: Thu, 31 Mar 2011 21:34:04 -0400	[thread overview]
Message-ID: <20110401013404.GA21036@sigill.intra.peff.net> (raw)
In-Reply-To: <201103312245.38987.j6t@kdbg.org>

On Thu, Mar 31, 2011 at 10:45:38PM +0200, Johannes Sixt wrote:

> On Donnerstag, 31. März 2011, Jeff King wrote:
> >   1. do nothing. I'm not 100% sure why, but the bug does not manifest
> >      itself with pthreads. I don't know how it behaves on win32.
> 
> The reason might be that with threads we carefully close file descriptors, so 
> that the other end sees EOF or broken pipe and terminates, while with a 
> forked sideband demux one of the channels remains open in the forked process?

That was my thought, too, except that:

  1. I don't see us closing the descriptor after we fork the async code
     off. So even if the async code carefully closed it, the main
     process would still have it open.

  2. In some cases it may not even be a file descriptor that needs
     closed, but rather a half-duplex shutdown (e.g., for git-over-tcp).
     Because the point of the async code is that it is reading from the
     remote socket.

So I'm really not sure. I can do some straces and try to investigate
further on what happens in the pthread case.  But regardless, it seems
like we should be killing off any async processes explicitly on error.

-Peff

      reply	other threads:[~2011-04-01  1:34 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-31 18:42 [PATCH 0/4] fix hang in git push when pack-objects fails Jeff King
2011-03-31 18:43 ` [PATCH 1/4] teach wait_or_whine a "quiet" mode Jeff King
2011-03-31 20:56   ` Johannes Sixt
2011-04-01  1:35     ` Jeff King
2011-03-31 18:44 ` [PATCH 2/4] finish_async: be quiet when waiting for async process Jeff King
2011-03-31 18:44 ` [PATCH 3/4] run-command: allow aborting async code prematurely Jeff King
2011-04-01  9:36   ` Erik Faye-Lund
2011-04-01 13:59     ` Jeff King
2011-03-31 18:44 ` [PATCH 4/4] send-pack: abort sideband demuxer on pack-objects error Jeff King
2011-04-13 19:53   ` Johannes Sixt
2011-04-14 13:54     ` Jeff King
2011-04-14 19:36       ` Johannes Sixt
2011-04-14 20:21         ` Jeff King
2011-04-14 20:43           ` Johannes Sixt
2011-04-14 20:51             ` Jeff King
2011-04-14 21:05               ` Johannes Sixt
2011-04-14 21:21               ` Junio C Hamano
2011-04-24 20:42                 ` [PATCH/RFC 1/2] send-pack --stateless-rpc: properly close the outgoing channel Johannes Sixt
2011-04-24 20:49                   ` [PATCH 2/2] send-pack: avoid deadlock when pack-object dies early Johannes Sixt
2011-04-25 16:50                     ` Jeff King
2011-04-25 17:41                       ` Johannes Sixt
2011-04-25 17:51                         ` Junio C Hamano
2011-04-25 21:04                       ` [PATCH v2] " Johannes Sixt
2011-04-26  8:23                         ` Jeff King
2011-04-25 16:40                   ` [PATCH/RFC 1/2] send-pack --stateless-rpc: properly close the outgoing channel Jeff King
2011-03-31 18:45 ` [PATCH 5/4] run-command: implement abort_async for pthreads Jeff King
2011-04-01  9:41   ` Erik Faye-Lund
2011-04-01 10:15     ` Erik Faye-Lund
2011-04-01 17:27       ` Johannes Sixt
2011-04-01 17:38         ` Jeff King
2011-04-01 19:26         ` Erik Faye-Lund
2011-04-01 19:33           ` Erik Faye-Lund
2011-04-01 19:42           ` Johannes Sixt
2011-04-01 19:57             ` Erik Faye-Lund
2011-04-01 20:05               ` Jeff King
2011-04-01 20:13                 ` Erik Faye-Lund
2011-04-01 20:17                   ` Jeff King
2011-04-01 20:18                     ` Jeff King
2011-04-01 20:34                     ` Erik Faye-Lund
2011-04-01 20:36                   ` Johannes Sixt
2011-04-01 20:41                     ` Erik Faye-Lund
2011-04-01 20:18               ` Johannes Sixt
2011-04-01 20:31                 ` Erik Faye-Lund
2011-04-01 21:16                   ` Jeff King
2011-04-02 12:27                     ` Erik Faye-Lund
2011-04-01 14:00     ` Jeff King
2011-03-31 20:45 ` [PATCH 0/4] fix hang in git push when pack-objects fails Johannes Sixt
2011-04-01  1:34   ` Jeff King [this message]

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

  List information: http://vger.kernel.org/majordomo-info.html

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

  git send-email \
    --in-reply-to=20110401013404.GA21036@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=git@vger.kernel.org \
    --cc=j6t@kdbg.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.
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).