Re: index-pack died on pread
From: Linus Torvalds <torvalds@linux-foundation.org>
Date: 2016-06-15 22:43:24
On Thu, 26 Jul 2007, Junio C Hamano wrote:
If you mean the offset associated with fd, we actually do.
Ahh, for some reason I thought we didn't (probably because the user likely doesn't care at all), but right you are..
The original HP-UX error is confusing, as we ask pread() to transfer 428 bytes and it returns 0 (not returning -1 with EINTR). Return value of zero is understandable, if the starting position is at or after the EOF, but the offset is 123601 and 56k objects packed from git.git repository should be longer than that, so that also sounds implausible.
Yeah. It is suspicious. If somebody could run git under gdb on HP-UX (preferably compiled statically), and just disassemble the pread() thing, it would be interesting. PA-RISC assembly is *almost* entirely unreadable, but it might show whether hpux-11.11 actually has a pread() system call or whether it is doing the "emulate with lseek" and maybe obviously buggily at that.. It really isn't that complex a system call. So I'm surprised at bugs there, and that makes me worry that there is something in git that triggers this. Linus