On Wed, Jul 23, 2008 at 10:14:15AM +0000, Bj=C3=B6rn Steinbrink wrote:
quoted text > On 2008.07.23 01:17:45 +0200, Pierre Habouzit wrote:
> > Hi, here is a manual painful down-secting (opposed to a bisect ;P) I
> > did, since git in next cannot fetch on a regular basis for me. The
> > culprit seems to be commit 92392b4:
> >=20
> > =E2=94=8C=E2=94=80(1:11)=E2=94=80=E2=94=80<~/dev/scm/git 92392b4...=
>=E2=94=80=E2=94=80
> > =E2=94=94[artemis] git fetch
> > remote: Counting objects: 461, done.
> > remote: Compressing objects: 100% (141/141), done.
> > remote: Total 263 (delta 227), reused 155 (delta 121)
> > Receiving objects: 100% (263/263), 95.55 KiB, done.
> > fatal: Out of memory, malloc failed
> > fatal: index-pack failed
> > [2] 16674 abort (core dumped) git fetch
> >=20
> > =E2=94=8C=E2=94=80(1:12)=E2=94=80=E2=94=80<~/dev/scm/git 92392b4...=
>=E2=94=80=E2=94=80
> > =E2=94=94[artemis] git checkout -m HEAD~1; make git-index-pack
> > Previous HEAD position was 92392b4... index-pack: Honor core.deltaB=
aseCacheLimit when resolving deltas
quoted text > > HEAD is now at 03993e1... index-pack: Track the object_entry that c=
reates each base_data
quoted text > > GIT_VERSION =3D 1.5.6.3.3.g03993
> > CC index-pack.o
> > LINK git-index-pack
> >=20
> > =E2=94=8C=E2=94=80(1:12)=E2=94=80=E2=94=80<~/dev/scm/git 03993e1...=
>=E2=94=80=E2=94=80
> > =E2=94=94[artemis] git fetch
> > remote: Counting objects: 461, done.
> > remote: Compressing objects: 100% (141/141), done.
> > remote: Total 263 (delta 227), reused 155 (delta 121)
> > Receiving objects: 100% (263/263), 95.55 KiB, done.
> > Resolving deltas: 100% (227/227), completed with 153 local objects.
> > From git://git.kernel.org/pub/scm/git/git
> > 5ba2c22..0868a30 html -> origin/html
> > 2857e17..abeeabe man -> origin/man
> > 93310a4..95f8ebb master -> origin/master
> > 559998f..e8bf351 next -> origin/next
> >=20
> > You can see the commit sha's in the prompt. 03993e1 is fine, 92392b4 is
> > broken, I've absolutely no clue about what happens.
> >=20
> > All I can say is that at some point in get_data_from_pack, obj[1].idx
> > points to something that is *not* a sha so it's probably corrupted.
> > (from index-pack.c).
>=20
> Here's how to reproduce:
>=20
> #!/bin/bash
>=20
> [ -d git-bug ] || \
> git clone git://git.kernel.org/pub/scm/git/git git-bug
> cd git-bug
>=20
> git update-ref refs/remotes/origin/html 5ba2c22
> git update-ref refs/remotes/origin/man 2857e17
> git update-ref refs/remotes/origin/maint 2d9c572
> git update-ref refs/remotes/origin/master 93310a4
> git update-ref refs/remotes/origin/next 559998f
> git update-ref refs/remotes/origin/pu 010581c8
>=20
> git reset --hard origin/master
>=20
> sleep 1
>=20
> git reflog expire --expire=3D0 --all
>=20
> git repack -A -d -f --depth=3D10 --window=3D10
> git prune
>=20
> git config core.deltaBaseCacheLimit 100
>=20
> git fetch
*THANKS* I was missing the "git config core.deltaBaseCacheLimit". I
did the same as you but it wasn't failing here. FWIW I don't have
deltaBaseCacheLimit set in my config, but oh well.
--=20
=C2=B7O=C2=B7 Pierre Habouzit
=C2=B7=C2=B7O madcoder@debia=
n.org
OOO
http://www.madism.org