threads / bug / 15977

Re: [BUG?] Fail to pull from kernel.org: pack has bad object

Subject: Re: [BUG?] Fail to pull from kernel.org: pack has bad object

## tl;dr

10 messages between Oct 20, 2008 and Oct 20, 2008.

replies: 9people: 4as markdown or json

Johan Herland· Oct 20, 2008, 08:10 UTC · lore

[BUG?] Fail to pull from kernel.org: pack has bad object

Hi,

Currently I get the following error when trying to pull from git.git at kernel.org:

$ git pull remote: Counting objects: 279, done. remote: Compressing objects: 100% (78/78), done. remote: Total 177 (delta 136), reused 135 (delta 99) Receiving objects: 100% (177/177), 66.59 KiB | 59 KiB/s, done. fatal: pack has bad object at offset 53487: failed to apply delta fatal: index-pack failed

For reference, here's the relevant part of .git/config:
[remote "origin"]
        url = git://git.kernel.org/pub/scm/git/git.git
        fetch = +refs/heads/*:refs/remotes/origin/*
I using a recent "next" version: 1.6.0.2.767.g8f0e
...Johan
-- 
Johan Herland, <johan@herland.net>
www.herland.net
Thomas Rast· Oct 20, 2008, 08:26 UTC · re: Johan Herland · lore
Jonathan Herland wrote:
Show 11 quoted lines
>
> Currently I get the following error when trying to pull from git.git at 
> kernel.org:
> 
> $ git pull
> remote: Counting objects: 279, done.
> remote: Compressing objects: 100% (78/78), done.
> remote: Total 177 (delta 136), reused 135 (delta 99)
> Receiving objects: 100% (177/177), 66.59 KiB | 59 KiB/s, done.
> fatal: pack has bad object at offset 53487: failed to apply delta
> fatal: index-pack failed

I just had the same, panicked, then compiled 'maint' and the fetch worked. Unfortunately I wasn't awake enough to make a copy of the repo. Maybe you can make one, then use it to bisect the problem between maint and next...

- Thomas
-- 
Thomas Rast
trast@{inf,student}.ethz.ch
Jeff King· Oct 20, 2008, 12:15 UTC · re: Thomas Rast · lore
On Mon, Oct 20, 2008 at 10:26:55AM +0200, Thomas Rast wrote:
Show 15 quoted lines
> > Currently I get the following error when trying to pull from git.git at 
> > kernel.org:
> > 
> > $ git pull
> > remote: Counting objects: 279, done.
> > remote: Compressing objects: 100% (78/78), done.
> > remote: Total 177 (delta 136), reused 135 (delta 99)
> > Receiving objects: 100% (177/177), 66.59 KiB | 59 KiB/s, done.
> > fatal: pack has bad object at offset 53487: failed to apply delta
> > fatal: index-pack failed
> 
> I just had the same, panicked, then compiled 'maint' and the fetch
> worked.  Unfortunately I wasn't awake enough to make a copy of the
> repo.  Maybe you can make one, then use it to bisect the problem
> between maint and next...

I am getting it, too, but I remembered to save my repo. :) The 'next' branch is broken, but master works fine. The bisect points to

  commit 9441b61dc5c3f1f984114ec8bd470dc20c55dfe0
  Author: Nicolas Pitre <nico@cam.org>
  Date:   Fri Oct 17 15:57:57 2008 -0400
      index-pack: rationalize delta resolution code

but I don't have time to look further right now (there is a small child who apparently thinks coloring with crayons is more interesting than bisecting bugs).

I can make my broken repo available if need be (though given the number of us seeing the problem, I doubt it is hard to reproduce).

-Peff
Nicolas Pitre· Oct 20, 2008, 13:59 UTC · re: Jeff King · lore
On Mon, 20 Oct 2008, Jeff King wrote:
Show 8 quoted lines
> I am getting it, too, but I remembered to save my repo. :) The 'next'
> branch is broken, but master works fine. The bisect points to
> 
>   commit 9441b61dc5c3f1f984114ec8bd470dc20c55dfe0
>   Author: Nicolas Pitre <nico@cam.org>
>   Date:   Fri Oct 17 15:57:57 2008 -0400
> 
>       index-pack: rationalize delta resolution code
Dammit... I'm growing a habit of breaking things lately.
Show 6 quoted lines
> but I don't have time to look further right now (there is a small child
> who apparently thinks coloring with crayons is more interesting than
> bisecting bugs).
> 
> I can make my broken repo available if need be (though given the number
> of us seeing the problem, I doubt it is hard to reproduce).
It certainly is... to me at least.

When index-pack dies like that, a temporary (and incomplete) pack file is left in .git/objects/pack/ with tmp in the file name. I'd need only that to reproduce the issue.

Nicolas
Thomas Rast· Oct 20, 2008, 14:10 UTC · re: Nicolas Pitre · lore
Nicholas Pitre wrote:
> When index-pack dies like that, a temporary (and incomplete) pack file 
> is left in .git/objects/pack/ with tmp in the file name.  I'd need only 
> that to reproduce the issue.
Like this?
  http://n.ethz.ch/~trast/download/tmp_pack_NMj69p
  
-- 
Thomas Rast
trast@{inf,student}.ethz.ch
Nicolas Pitre· Oct 20, 2008, 17:49 UTC · re: Thomas Rast · lore
On Mon, 20 Oct 2008, Thomas Rast wrote:
Show 8 quoted lines
> Nicholas Pitre wrote:
> > When index-pack dies like that, a temporary (and incomplete) pack file 
> > is left in .git/objects/pack/ with tmp in the file name.  I'd need only 
> > that to reproduce the issue.
> 
> Like this?
> 
>   http://n.ethz.ch/~trast/download/tmp_pack_NMj69p

Yes, except I can't resolve any of the deltas in there... Is it from the Linux kernel repository?

Nicolas
Jeff King· Oct 20, 2008, 17:56 UTC · re: Nicolas Pitre · lore
On Mon, Oct 20, 2008 at 01:49:33PM -0400, Nicolas Pitre wrote:
> >   http://n.ethz.ch/~trast/download/tmp_pack_NMj69p
> 
> Yes, except I can't resolve any of the deltas in there...  Is it from 
> the Linux kernel repository?
I don't know about Thomas's example, but this one is from git.git:
  http://peff.net/tmp_pack_c7KnC6
-Peff
Thomas Rast· Oct 20, 2008, 20:47 UTC · re: Nicolas Pitre · lore
Nicolas Pitre wrote:
Show 5 quoted lines
> On Mon, 20 Oct 2008, Thomas Rast wrote:
> >   http://n.ethz.ch/~trast/download/tmp_pack_NMj69p
> 
> Yes, except I can't resolve any of the deltas in there...  Is it from 
> the Linux kernel repository?

No, that was in my own git.git. Here's the entire repo, if that context helps. 51M with all temporaries and everything, sorry; I'm too tired to clean it up. I doubt I have anything to hide in there however.

  http://n.ethz.ch/~trast/download/git-with-broken-pack.tar.bz2
-- 
Thomas Rast
trast@{inf,student}.ethz.ch
Thomas Rast· Oct 20, 2008, 20:48 UTC · re: Thomas Rast · lore
Thomas Rast wrote:
> No, that was in my own git.git.  Here's the entire repo, if that
> context helps.  51M with all temporaries and everything, sorry; I'm
> too tired to clean it up.  I doubt I have anything to hide in there
> however.

Obviously I should read all mail before replying. Sorry for the noise.

-- 
Thomas Rast
trast@{inf,student}.ethz.ch
Nicolas Pitre· Oct 20, 2008, 20:51 UTC · re: Thomas Rast · lore
On Mon, 20 Oct 2008, Thomas Rast wrote:
Show 9 quoted lines
> Nicolas Pitre wrote:
> > On Mon, 20 Oct 2008, Thomas Rast wrote:
> > >   http://n.ethz.ch/~trast/download/tmp_pack_NMj69p
> > 
> > Yes, except I can't resolve any of the deltas in there...  Is it from 
> > the Linux kernel repository?
> 
> No, that was in my own git.git.  Here's the entire repo, if that
> context helps.

Thanks but I think I already fixed it now. See the latest patch I just posted to the list.

Nicolas

← back to recent threads