Willy,

Am 13.10.20 um 19:05 schrieb Willy Tarreau:
> Strange. I can get it from here as a whole (not tested with ranges
> though). The pack file is recent, it dates a few days ago only. I'll
> try to investigate further.
> 

I've attached 'strace' to 'git fetch'. It appears that I actually have
the full packfile on disk, because git attempts to the bytes starting at
the last byte of the pack file (21680737). Apparently the nginx does not
like that:

> [pid 11946] sendto(9, "GET 
> /git/haproxy.git/objects/pack/pack-4c6bfad2590afe3d5591d203ad9b3cf2da4aef97.pack
>  HTTP/1.1\r\nHost: git.haproxy.org\r\nRange: bytes=21680737-\r\nUser-Agent: 
> git/2.28.0\r\nAccept: */*\r\n\r\n", 181, MSG_NOSIGNAL, NULL, 0) = 181
> [...]
> [pid 11946] recvfrom(9, "HTTP/1.1 416 Requested Range Not 
> Satisfiable\r\nserver: nginx\r\ndate: Tue, 13 Oct 2020 17:08:56 
> GMT\r\ncontent-type: text/html\r\ncontent-length: 206\r\ncontent-range: bytes 
> */21680737\r\n\r\n<html>\r\n<head><title>416 Requested Range Not 
> Satisfiable</title></head>\r\n<body bgcolor=\"white\">\r\n<center><h1>416 
> Requested Range Not 
> Satisfiable</h1></center>\r\n<hr><center>nginx</center>\r\n</body>\r\n</html>\r\n",
>  16384, 0, NULL, NULL) = 385

So this is probably a bug in git and I should be able to work around it
by truncating the temporary packfile in my repository.

I assume a server side workaround would be stripping the `range` request
header.

Do you happen to know where I would report a git bug? Is it on the git
mailing list?

Best regards
Tim Düsterhus

Reply via email to