Re: Error "fatal: cannot pread pack file: Success"
- From
Shawn O. Pearce <spearce@spearce.org>
- Date
- Feb 28, 2007, 03:57 UTC
- Message-ID
- <20070228035713.GC5597@spearce.org>
- In-Reply-To
- <17892.64236.443170.43061@lisa.zopyra.com>
Bill Lear <rael@zopyra.com> wrote:
> Using 1.5.0.1. Can't see what is wrong with this clone...
...
Show 7 quoted lines
> Indexing 4589 objects. > remote: Total 4589 (delta 2209), reused 4589 (delta 2209) > 100% (4589/4589) done > Resolving 2209 deltas. > fatal: cannot pread pack file: Success > fatal: index-pack died with error code 128 > fetch-pack from '/home/rael/devel/project/.git' failed.
What platform is this? index-pack failed to read using pread(), but the error code in errno was 0 (success)? Huh?
It turns out this is steaming from a short read; we asked for some length of bytes but did not get that exact value. That sounds like the packfile is truncated.
Ohh - is this repository on NFS, or some other sort of network filesystem? Maybe the FS couldn't give us the entire pread request in one shot...
I think the pread() in get_data_from_pack of index-pack is wrong, it really should be looping until we fill the buffer in case the OS doesn't fully satisfy our read request the first time.
-- Shawn.