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

Remote corruption issue, linked to thin pack code?

From
Thomas Rast <trast@student.ethz.ch>
Date
Aug 25, 2010, 20:53 UTC
Message-ID
<201008252253.26521.trast@student.ethz.ch>
Hi *,
This one sounds fairly similar to
  http://thread.gmane.org/gmane.comp.version-control.git/123244/
which was never resolved.
Jonas reported repo corruption on IRC along the lines of
  $ make gitpush
  cd dist && git push ssh://<user>@eloxoph.com/repos/mainrepo/bla.git master
   
    -  W e l c o m e   t o   E L O X O P H  -
               friendly landlord
  <user>@eloxoph.com's password: 
  Counting objects: 201, done.
  Delta compression using up to 2 threads.
  Compressing objects: 100% (132/132), done.
  Writing objects: 100% (133/133), 1.01 MiB, done.
  Total 133 (delta 118), reused 0 (delta 0)
  fatal: pack has 114 unresolved deltas
  error: unpack failed: index-pack abnormal exit
  To ssh://<user>@eloxoph.com/repos/mainrepo/bla.git
   ! [remote rejected] master -> master (n/a (unpacker error))
  error: failed to push some refs to 'ssh://<user>@eloxoph.com/repos/mainrepo/bla.git'
  make: *** [gitpush] Error 1

The respective repos show no errors with git-fsck. Jonas kindly provides a download link for both:

  http://eloxoph.com/localrepo.zip
  http://eloxoph.com/remoterepo.zip
Versions are 1.7.2.1 locally and 1.5.4.3 remotely.

Beware, there are hooks in both. Disabling them, however, only changes the error slightly:

  [...]
  Total 133 (delta 118), reused 0 (delta 0)
  fatal: pack has 114 unresolved deltas
  error: unpack failed: index-pack abnormal exit
  To ssh://mainrepo@eloxoph.com/repos/mainrepo/bla.git
   ! [remote rejected] master -> master (n/a (unpacker error))
  error: failed to push some refs to 'ssh://mainrepo@eloxoph.com/repos/mainrepo/bla.git'
  make: *** [gitpush] Error 1

What's even stranger is that fetching from the repo is also not possible:

  fatal: git-upload-pack: cannot find object e28ae6b61c384732c506544626c5083557dd2d75:
  fatal: The remote end hung up unexpectedly
despite the object being there.

What's also strange is that while there is a temporary pack inside objects/, I get

  $ git index-pack --stdin < objects/tmp_pack_oEUkIc
  fatal: pack has 114 unresolved deltas
  $ git index-pack --fix-thin -v --stdin < objects/tmp_pack_oEUkIc
  Receiving objects: 100% (133/133), 1.01 MiB, done.
  Resolving deltas: 100% (118/118), completed with 63 local objects.
  pack    061120577b0a1fec7ba636d6e3162f95f83543aa

So it seems the remote side got a thin pack and can't cope. But a4503a1 (Make --no-thin the default in git-push to save server resources, 2007-09-09), merged way back in 1.5.3.2, claims to enable --no-thin all the time. So how did a thin pack get there?

Any ideas?
-- 
Thomas Rast
trast@{inf,student}.ethz.ch
Next: Nicolas Pitre
Message 1 of 4 in “Remote corruption issue, linked to thin pack code?”
  1. Thomas RastAug 25, 2010
  2. Nicolas PitreAug 26, 2010
  3. Thomas RastAug 26, 2010
  4. Jonas ThiemAug 26, 2010

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.