Hi Bertrand! On Fri, Apr 05, 2024 at 07:27:28PM +0100, Bertrand Jacquin wrote: > Hi, > > For the last few days, I've been unable to git clone > https://git.haproxy.org/git/haproxy.git with curl-8.7.1, where I'm getting > the following error: > > $ GIT_TRACE=1 git fetch https://git.haproxy.org/git/haproxy.git > 19:12:01.277740 git.c:463 trace: built-in: git fetch > https://git.haproxy.org/git/haproxy.git > 19:12:01.278266 run-command.c:657 trace: run_command: GIT_DIR=.git > git remote-https https://git.haproxy.org/git/haproxy.git > https://git.haproxy.org/git/haproxy.git > 19:12:01.279001 git.c:749 trace: exec: git-remote-https > https://git.haproxy.org/git/haproxy.git > https://git.haproxy.org/git/haproxy.git > 19:12:01.279018 run-command.c:657 trace: run_command: > git-remote-https https://git.haproxy.org/git/haproxy.git > https://git.haproxy.org/git/haproxy.git > fatal: unable to access 'https://git.haproxy.org/git/haproxy.git/': Failed > writing received data to disk/application (...) > Bisecting through changes from curl 8.6.0 to 8.7.1 points me to 463472a2d6e3 > ("lib: move client writer into own source") > (https://github.com/curl/curl/commit/463472a2d6e3301c1468b5323b856cb67a91f579) > as the first bad commit.
Thanks a lot for these details. One thing to have in mind that could explain that you have not observed this on other servers is that we're using plain HTTP, we haven't deployed the git-server stuff, so maybe it triggers a different object transfer sequence and/or code path. > Note this issue only appears when curl is compiled with HTTP2 enabled. I'm > quite sure git.haproxy.org is running on bleeding edge HAProxy, which might > not be supporting changes brought by 463472a2d6e3, however I'm curious here > to understand protocol corruption. If you want to make some tests, we can synchronize. Among the easy stuff we can try on the haproxy side are: - restart with the stable version in case it has any effect - disable H2 (not sure if that's doable in git-clone, but we can also easily open an extra port for you to test) Just let us know if you're interested. We can also first wait for Stefan and/or Daniel's analysis of a possible cause for the commit you bisected above before hacking too much stuff, though :-) Cheers, Willy