Re: index-pack died on pread
- From
Linus Torvalds <torvalds@linux-foundation.org>
- Date
- Jul 23, 2007, 17:04 UTC
- Message-ID
- <alpine.LFD.0.999.0707230956390.3607@woody.linux-foundation.org>
- In-Reply-To
- <333e1ca10707230552i34c2a1cfq9fae94f20023e9d7@mail.gmail.com>
On Mon, 23 Jul 2007, Michal Rokos wrote:
> > fatal: cannot pread pack file: No such file or directory (n=0, > errno=2, fd=3, ptr=40452958, len=428, rdy=0, off=123601)
Ok, that's bogus. When "n" is zero, the errno (and thus the error string) is not changed by pread, so that's a very misleading error report.
So what seems to have happened is that the pack-file is too short, so we got a return value of 0, and then reported it as if it had an errno.
The reason for returning zero from pread would be:
- broken pread. I don't think HPUX should be a problem, so that's probably not it.
- the pack-file got truncated
- the offset is corrupt, and points to beyond the size of the packfile.
In this case, since the offset is just 123601, I suspect it's a truncation issue, and your pack-file is simply corrupt. Either because of some problem with receiving it, or because of problems on the remote side.
> fetch-pack from 'git://git.kernel.org/pub/scm/git/git' failed.
One thing to look out for is that the "git.kernel.org" machines aren't the "primary" ones, and the data gets mirrored from other machines. If the mirroring is incomplete, I could imagine that the remote side simply ended up terminating the connection, and you ended up with a partial pack-file.
Some of the kernel.org machines ran out of disk space the other day, so maybe you happened to hit it in an unlucky window. Does it still happen?
Linus