Subject: Re: error: git-remote-https died of signal 13

From: Stefan Beller <[email-masked]>
Date: Sun, 24 Nov 2013 16:01:43 +0100

On 24.11.2013 14:33, Jeff King wrote:
> On Sun, Nov 24, 2013 at 01:54:34PM +0100, Stefan Beller wrote:
> 
>> Here is the output of 
>> sb@sb:/tmp$ GIT_TRANSPORT_HELPER_DEBUG=1 git clone https://github.com/Bertram25/ValyriaTear.git tmp
> 
> Thanks. I think I see what is going on.
> 
> We finish the helper conversation here:
> 
>> Checking connectivity... done.
>> Debug: Disconnecting.
>> error: git-remote-https died of signal 13
>> sb@sb:/tmp$ 
> 
> which means that remote-https is trying to exit, and is cleaning up any
> curl connections. The actual SIGPIPE in the strace is here:
> 
> [pid 28319] write(3, "\25\3\2\0...[binary goo]...", 27) = -1 EPIPE (Broken pipe)
> 
> and if you walk backwards, fd 3 is:
> 
>   [pid 28319] socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 3
>   ...
>   [pid 28319] connect(3, {sa_family=AF_INET,
>                           sin_port=htons(443),
>                           sin_addr=inet_addr("192.30.252.131")}, 16
>                           ) = -1 EINPROGRESS (Operation now in progress)
> 
> So it's sending binary junk to the https socket while trying to exit,
> which makes me guess that it's something to do with terminating the SSL
> session, but the server has already hung up. Which would make it a curl
> problem.
> 
> Googling "curl sigpipe" seems to come up with a report of this exact
> case:
> 
>   http://curl.haxx.se/mail/archive-2013-01/0003.html

I cannot reproduce the error using the curl command from that site.
curl returns with 0.

> 
> with a bug opened here:
> 
>   http://sourceforge.net/p/curl/bugs/1180/
> 
> Looks like the fix went into curl 7.32.0. I have 7.33.0, which seems
> fine. Can you confirm that your libcurl is a bit older?
> 

dpkg -l |grep curl
ii  curl                                      7.32.0-1ubuntu1                            amd64        command line tool for transferring data with URL syntax
ii  libcurl3:amd64                            7.32.0-1ubuntu1                            amd64        easy-to-use client-side URL transfer library (OpenSSL flavour)
ii  libcurl3-gnutls:amd64                     7.32.0-1ubuntu1                            amd64        easy-to-use client-side URL transfer library (GnuTLS flavour)
ii  libcurl4-openssl-dev                      7.32.0-1ubuntu1                            amd64        development files and documentation for libcurl (OpenSSL flavour)
ii  python-pycurl                             7.19.0-5ubuntu8                            amd64        Python bindings to libcurl

Thanks,
Stefan