Re: Suspicious fetch-pack behaviour
Le mar. 8 janv. 2019 à 07:34, Jeff King <peff@xxxxxxxx> a écrit :
> On Thu, Jan 03, 2019 at 10:52:48AM +0100, Guilhem Bonnefille wrote:
> > One of my users reported a strange problem: a simple HTTPS clone did
> > not work with Git 184.108.40.206 on RedHat 7.
> > I did many tests and I was not able to understand why his clone don't
> > work while I'm able to do it on other similar host.
> > Nevertheless, we did more investigations. One of them: a raw strace.
> > I discovered two strange behaviours:
> > - fetch-pack closes its standard input and standard output and then
> > tries to print the references on standard input and finaly dies.
> > - git-remote-https does not react to fetch-pack death and continue
> > polling an empty set of FD.
> > [...]
> > 2769 poll(NULL, 0, 1000) = 0 (Timeout)
> We actually don't use poll() very much in Git. And poking around the
> v220.127.116.11 source, I do not see any places where remote-https would call
> poll(), and none outside of "git help" and "git credential-cache-daemon"
> that would ever provide a timeout like "1000".
> I wonder if this poll is actually being run by libcurl. Is it possible
> to get a backtrace of the looping process with gdb?
Quite hard to debug as it occured on a computer provided by a
customer, far from me...
> I'd also point out that v18.104.22.168 is over 5 years old, and there have
> been quite a few http-related fixes over the years.
Yes, it is an old version, but it is the version provided with RedHat 7.
> There is a good
> chance that if this is a Git bug, it has long since been fixed. Is it
> possible to reproduce with a more modern version of Git?
What is surprisingly is that I was unable to reproduce with the same
version on an other computer.
During this time, my user discovered the IT team of the customer
prvide a much more recent version of Git (2.X). With this new version,
the problem was not reproduced.
Thanks for all your investigations.
-=- JID: guyou@xxxxxxxxxxxx MSN: guilhem_bonnefille@xxxxxxxxxxx