git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: index-pack died on pread

From
Robin Rosenberg <robin.rosenberg.lists@dewire.com>
Date
Jul 25, 2007, 23:15 UTC
Message-ID
<200707260115.13234.robin.rosenberg.lists@dewire.com>
In-Reply-To
<alpine.LFD.0.999.0707230956390.3607@woody.linux-foundation.org>
måndag 23 juli 2007 skrev Linus Torvalds:
Show 34 quoted lines
> 
> 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?

Does cygwin have the same pread problem then.. ? after make NO_PREAD=1 with 1.5.2.4 clone works.

Here is my output with pread. Note that I'm cloning from or.cz, not kernel.org .
$ git clone git://repo.or.cz/git.git GIT 
Initialized empty Git repository in /roro/GIT/.git/ 
remote: Generating pack... 
remote: Done counting 56038 objects. 
remote: Deltifying 56038 objects... 
remote:  100% (56038/56038) done 
Indexing 56038 objects... 
remote: Total 56038 (delta 39190), reused 52555 (delta 36164) 
 100% (56038/56038) done 
Resolving 39190 deltas... 
fatal: cannot pread pack file: No such file or directory 
fatal: index-pack died with error code 128 
fetch-pack from 'git://repo.or.cz/git.git' failed.
-- robin
Previous: Nicolas PitreNext: Linus Torvalds
Message 7 of 17 in “index-pack died on pread”
  1. Michal RokosJul 23, 2007
  2. Alex RiesenJul 23, 2007
  3. Michal RokosJul 25, 2007
  4. Alex RiesenJul 25, 2007
  5. Linus TorvaldsJul 23, 2007
  6. Nicolas PitreJul 23, 2007
  7. Robin RosenbergJul 25, 2007
  8. Linus TorvaldsJul 25, 2007
  9. Alex RiesenJul 26, 2007
  10. Linus TorvaldsJul 26, 2007
  11. Alex RiesenJul 26, 2007
  12. Linus TorvaldsJul 26, 2007
  13. Junio C HamanoJul 27, 2007
  14. Linus TorvaldsJul 27, 2007
  15. Tomash BrechkoJul 27, 2007
  16. Tomash BrechkoJul 27, 2007
  17. Nicolas PitreJul 27, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.