Re: [PATCH 0/6] deadlock regression in v2.11.0 with failed mkdtemp
- Date: Wed, 8 Mar 2017 18:58:44 +0100
- From: Horst Schirmeier <horst@xxxxxxxxxxxxxx>
- Subject: Re: [PATCH 0/6] deadlock regression in v2.11.0 with failed mkdtemp
On Tue, 07 Mar 2017, Jeff King wrote:
> On Tue, Mar 07, 2017 at 12:14:06PM +0100, Horst Schirmeier wrote:
> > On Tue, 07 Mar 2017, Horst Schirmeier wrote:
> > > I observe a regression that seems to have been introduced between
> > > v2.10.0 and v2.11.0. When I try to push into a repository on the local
> > > filesystem that belongs to another user and has not explicitly been
> > > prepared for shared use, v2.11.0 shows some of the usual diagnostic
> > > output and then freezes instead of announcing why it failed to push.
> > Bisecting points to v2.10.1-373-g722ff7f:
> > 722ff7f876c8a2ad99c42434f58af098e61b96e8 is the first bad commit
> > commit 722ff7f876c8a2ad99c42434f58af098e61b96e8
> > Author: Jeff King <peff@xxxxxxxx>
> > Date: Mon Oct 3 16:49:14 2016 -0400
> > receive-pack: quarantine objects until pre-receive accepts
> Thanks, I was able to reproduce easily with:
> git init --bare foo.git
> chown -R nobody foo.git
> git push foo.git HEAD
> Here's a series to fix it. The first patch addresses the deadlock. The
> rest try to improve the output on the client side. With v2.10.0, this
> case looks like:
> $ git push ~/tmp/foo.git HEAD
> Counting objects: 209837, done.
> Delta compression using up to 8 threads.
> Compressing objects: 100% (52180/52180), done.
> remote: fatal: Unable to create temporary file '/home/peff/tmp/foo.git/./objects/pack/tmp_pack_XXXXXX': Permission denied
> error: failed to push some refs to '/home/peff/tmp/foo.git'
I tested your jk/push-deadlock-regression-fix branch in my local clone,
your patches fix the problem for me. Thanks!