git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* Corruption in the repository
@ 2010-12-13 15:59 Sylvestre Ledru
  2010-12-13 16:34 ` Christian Couder
  2010-12-14 19:19 ` Jonathan Nieder
  0 siblings, 2 replies; 12+ messages in thread
From: Sylvestre Ledru @ 2010-12-13 15:59 UTC (permalink / raw)
  To: git; +Cc: Simon Gareste, Bruno JOFRET

Hello guys,

I have a small problem with a git repository and I haven't find a way to
fix my problem.
I am using git with gerrit [1] as frontend (even if I don't think it is
related here).
For an unknown reason, the repository just became corrupted.

When I try to clone the repository straight with the file system, the
following error is displayed:
error: refs/changes/98/398/1 does not point to a valid object!
error: refs/changes/98/398/2 does not point to a valid object!
fatal: object cff52c24fba28408e7d021a8f35a717bef31521d is corrupted
fatal: The remote end hung up unexpectedly

git-prune & git-fsck both fail.

Does anyone know how to repair this error ?

Thanks
Sylvestre

[1] http://code.google.com/p/gerrit/

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Corruption in the repository
  2010-12-13 15:59 Corruption in the repository Sylvestre Ledru
@ 2010-12-13 16:34 ` Christian Couder
  2010-12-13 16:47   ` Sylvestre Ledru
  2010-12-14 19:19 ` Jonathan Nieder
  1 sibling, 1 reply; 12+ messages in thread
From: Christian Couder @ 2010-12-13 16:34 UTC (permalink / raw)
  To: Sylvestre Ledru; +Cc: git, Simon Gareste, Bruno JOFRET

Hi,

On Mon, Dec 13, 2010 at 4:59 PM, Sylvestre Ledru
<sylvestre.ledru@scilab.org> wrote:
> Hello guys,
>
> I have a small problem with a git repository and I haven't find a way to
> fix my problem.
> I am using git with gerrit [1] as frontend (even if I don't think it is
> related here).
> For an unknown reason, the repository just became corrupted.
>
> When I try to clone the repository straight with the file system, the
> following error is displayed:
> error: refs/changes/98/398/1 does not point to a valid object!
> error: refs/changes/98/398/2 does not point to a valid object!
> fatal: object cff52c24fba28408e7d021a8f35a717bef31521d is corrupted
> fatal: The remote end hung up unexpectedly
>
> git-prune & git-fsck both fail.
>
> Does anyone know how to repair this error ?

Did you try what the FAQ suggests:

https://git.wiki.kernel.org/index.php/GitFaq#How_to_fix_a_broken_repository.3F

?

Regards,
Christian.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Corruption in the repository
  2010-12-13 16:34 ` Christian Couder
@ 2010-12-13 16:47   ` Sylvestre Ledru
  2010-12-13 17:02     ` Christian Couder
  0 siblings, 1 reply; 12+ messages in thread
From: Sylvestre Ledru @ 2010-12-13 16:47 UTC (permalink / raw)
  To: git, Simon Gareste, Bruno JOFRET


Le lundi 13 décembre 2010 à 17:34 +0100, Christian Couder a écrit :
> Hi,
> 
> On Mon, Dec 13, 2010 at 4:59 PM, Sylvestre Ledru
> <sylvestre.ledru@scilab.org> wrote:
> > Hello guys,
> >
> > I have a small problem with a git repository and I haven't find a way to
> > fix my problem.
> > I am using git with gerrit [1] as frontend (even if I don't think it is
> > related here).
> > For an unknown reason, the repository just became corrupted.
> >
> > When I try to clone the repository straight with the file system, the
> > following error is displayed:
> > error: refs/changes/98/398/1 does not point to a valid object!
> > error: refs/changes/98/398/2 does not point to a valid object!
> > fatal: object cff52c24fba28408e7d021a8f35a717bef31521d is corrupted
> > fatal: The remote end hung up unexpectedly
> >
> > git-prune & git-fsck both fail.
> >
> > Does anyone know how to repair this error ?
> 
> Did you try what the FAQ suggests:
> 
> https://git.wiki.kernel.org/index.php/GitFaq#How_to_fix_a_broken_repository.3F
Yes. It shows an other error and it doesn't match the error described on
this URL [1].

I get the following:
error: refs/tags/5.3.0-beta-4 does not point to a valid object!
fatal: object 555a7c359b2e589ec10822d9b56cdfeee0105fe0 is corrupted

Sylvestre

[1]
$ git fsck --full
> broken link from    tree 2d9263c6d23595e7cb2a21e5ebbb53655278dff8
>              to    blob 4b9458b3786228369c63936db65827de3cc06200
> missing blob 4b9458b3786228369c63936db65827de3cc06200

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Corruption in the repository
  2010-12-13 16:47   ` Sylvestre Ledru
@ 2010-12-13 17:02     ` Christian Couder
  2010-12-13 18:11       ` Sylvestre Ledru
  0 siblings, 1 reply; 12+ messages in thread
From: Christian Couder @ 2010-12-13 17:02 UTC (permalink / raw)
  To: Sylvestre Ledru; +Cc: git, Simon Gareste, Bruno JOFRET

On Mon, Dec 13, 2010 at 5:47 PM, Sylvestre Ledru
<sylvestre.ledru@scilab.org> wrote:
>
> Le lundi 13 décembre 2010 à 17:34 +0100, Christian Couder a écrit :
>> Hi,
>>
>> On Mon, Dec 13, 2010 at 4:59 PM, Sylvestre Ledru
>> <sylvestre.ledru@scilab.org> wrote:
>> > Hello guys,
>> >
>> > I have a small problem with a git repository and I haven't find a way to
>> > fix my problem.
>> > I am using git with gerrit [1] as frontend (even if I don't think it is
>> > related here).
>> > For an unknown reason, the repository just became corrupted.
>> >
>> > When I try to clone the repository straight with the file system, the
>> > following error is displayed:
>> > error: refs/changes/98/398/1 does not point to a valid object!
>> > error: refs/changes/98/398/2 does not point to a valid object!
>> > fatal: object cff52c24fba28408e7d021a8f35a717bef31521d is corrupted
>> > fatal: The remote end hung up unexpectedly
>> >
>> > git-prune & git-fsck both fail.
>> >
>> > Does anyone know how to repair this error ?
>>
>> Did you try what the FAQ suggests:
>>
>> https://git.wiki.kernel.org/index.php/GitFaq#How_to_fix_a_broken_repository.3F
> Yes. It shows an other error and it doesn't match the error described on
> this URL [1].
>
> I get the following:
> error: refs/tags/5.3.0-beta-4 does not point to a valid object!
> fatal: object 555a7c359b2e589ec10822d9b56cdfeee0105fe0 is corrupted

The FAQ says that you should try to replace any broken and/or missing
objects, so you should try to do that with object
555a7c359b2e589ec10822d9b56cdfeee0105fe0 (as described in the FAQ)
even if the error message is not exactly the same.

Regards,
Christian.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Corruption in the repository
  2010-12-13 17:02     ` Christian Couder
@ 2010-12-13 18:11       ` Sylvestre Ledru
  2010-12-14  9:29         ` Christian Couder
  0 siblings, 1 reply; 12+ messages in thread
From: Sylvestre Ledru @ 2010-12-13 18:11 UTC (permalink / raw)
  To: git, Simon Gareste, Bruno JOFRET

Le lundi 13 décembre 2010 à 18:02 +0100, Christian Couder a écrit :
> On Mon, Dec 13, 2010 at 5:47 PM, Sylvestre Ledru
> <sylvestre.ledru@scilab.org> wrote:
> >
> > Le lundi 13 décembre 2010 à 17:34 +0100, Christian Couder a écrit :
> >> Hi,
> >>
> >> On Mon, Dec 13, 2010 at 4:59 PM, Sylvestre Ledru
> >> <sylvestre.ledru@scilab.org> wrote:
> >> > Hello guys,
> >> >
> >> > I have a small problem with a git repository and I haven't find a way to
> >> > fix my problem.
> >> > I am using git with gerrit [1] as frontend (even if I don't think it is
> >> > related here).
> >> > For an unknown reason, the repository just became corrupted.
> >> >
> >> > When I try to clone the repository straight with the file system, the
> >> > following error is displayed:
> >> > error: refs/changes/98/398/1 does not point to a valid object!
> >> > error: refs/changes/98/398/2 does not point to a valid object!
> >> > fatal: object cff52c24fba28408e7d021a8f35a717bef31521d is corrupted
> >> > fatal: The remote end hung up unexpectedly
> >> >
> >> > git-prune & git-fsck both fail.
> >> >
> >> > Does anyone know how to repair this error ?
> >>
> >> Did you try what the FAQ suggests:
> >>
> >> https://git.wiki.kernel.org/index.php/GitFaq#How_to_fix_a_broken_repository.3F
> > Yes. It shows an other error and it doesn't match the error described on
> > this URL [1].
> >
> > I get the following:
> > error: refs/tags/5.3.0-beta-4 does not point to a valid object!
> > fatal: object 555a7c359b2e589ec10822d9b56cdfeee0105fe0 is corrupted
> 
> The FAQ says that you should try to replace any broken and/or missing
> objects, so you should try to do that with object
> 555a7c359b2e589ec10822d9b56cdfeee0105fe0 (as described in the FAQ)
> even if the error message is not exactly the same.
Well, after clean the error about the tags, it does not provide any
interesting feedbacks like in the FAQ.

Just some information [1] about some dangling commits (probably commit
under review in gerrit). Nothing valuable and the problem still occurs
on the client side.

Sylvestre
[1] http://paste.debian.net/102297/

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Corruption in the repository
  2010-12-13 18:11       ` Sylvestre Ledru
@ 2010-12-14  9:29         ` Christian Couder
  2010-12-14  9:46           ` Jonathan Nieder
  2010-12-14  9:47           ` Sylvestre Ledru
  0 siblings, 2 replies; 12+ messages in thread
From: Christian Couder @ 2010-12-14  9:29 UTC (permalink / raw)
  To: Sylvestre Ledru; +Cc: git, Simon Gareste, Bruno JOFRET

On Mon, Dec 13, 2010 at 7:11 PM, Sylvestre Ledru
<sylvestre.ledru@scilab.org> wrote:
> Le lundi 13 décembre 2010 à 18:02 +0100, Christian Couder a écrit :
>> On Mon, Dec 13, 2010 at 5:47 PM, Sylvestre Ledru
>> <sylvestre.ledru@scilab.org> wrote:
>> >
>> > Le lundi 13 décembre 2010 à 17:34 +0100, Christian Couder a écrit :
>> >> Hi,
>> >>
>> >> On Mon, Dec 13, 2010 at 4:59 PM, Sylvestre Ledru
>> >> <sylvestre.ledru@scilab.org> wrote:
>> >> > Hello guys,
>> >> >
>> >> > I have a small problem with a git repository and I haven't find a way to
>> >> > fix my problem.
>> >> > I am using git with gerrit [1] as frontend (even if I don't think it is
>> >> > related here).
>> >> > For an unknown reason, the repository just became corrupted.
>> >> >
>> >> > When I try to clone the repository straight with the file system, the
>> >> > following error is displayed:
>> >> > error: refs/changes/98/398/1 does not point to a valid object!
>> >> > error: refs/changes/98/398/2 does not point to a valid object!
>> >> > fatal: object cff52c24fba28408e7d021a8f35a717bef31521d is corrupted
>> >> > fatal: The remote end hung up unexpectedly
>> >> >
>> >> > git-prune & git-fsck both fail.
>> >> >
>> >> > Does anyone know how to repair this error ?
>> >>
>> >> Did you try what the FAQ suggests:
>> >>
>> >> https://git.wiki.kernel.org/index.php/GitFaq#How_to_fix_a_broken_repository.3F
>> > Yes. It shows an other error and it doesn't match the error described on
>> > this URL [1].
>> >
>> > I get the following:
>> > error: refs/tags/5.3.0-beta-4 does not point to a valid object!
>> > fatal: object 555a7c359b2e589ec10822d9b56cdfeee0105fe0 is corrupted
>>
>> The FAQ says that you should try to replace any broken and/or missing
>> objects, so you should try to do that with object
>> 555a7c359b2e589ec10822d9b56cdfeee0105fe0 (as described in the FAQ)
>> even if the error message is not exactly the same.
> Well, after clean the error about the tags, it does not provide any
> interesting feedbacks like in the FAQ.
>
> Just some information [1] about some dangling commits (probably commit
> under review in gerrit). Nothing valuable and the problem still occurs
> on the client side.

So you say that "git fsck --full" gives only dangling commits on the
server, and you still get messages like "fatal: object XXXXX is
corrupted" on the client when you try to clone with gerrit? Did you
try to clone using git? Please try it and give us the exact command
and result that you get.

By the way could you tell us which version of git and gerrit you are using?
When I try "git grep corrupted" on the git and gerrit sources I don't
find anything relevant.

Regards,
Christian.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Corruption in the repository
  2010-12-14  9:29         ` Christian Couder
@ 2010-12-14  9:46           ` Jonathan Nieder
  2010-12-14  9:59             ` Sylvestre Ledru
  2010-12-14  9:47           ` Sylvestre Ledru
  1 sibling, 1 reply; 12+ messages in thread
From: Jonathan Nieder @ 2010-12-14  9:46 UTC (permalink / raw)
  To: Christian Couder; +Cc: Sylvestre Ledru, git, Simon Gareste, Bruno JOFRET

Christian Couder wrote:

> When I try "git grep corrupted" on the git and gerrit sources I don't
> find anything relevant.

The error message was changed by b6c4cec (read_sha1_file(): report
correct name of packfile with a corrupt object, 2010-10-28) and
especially v1.7.3-rc0~73^2 (sha1_file: Show the the type and path to
corrupt objects, 2010-06-10).

Random guess: maybe a corrupt but redundant packed object was removed
in the course of investigation?  Sylvestre, are you still able to get
errors from the repository?  If you still have a copy of the original
corrupt version of the repository, I would be interested (to learn
something about how it got damaged in the first place).

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Corruption in the repository
  2010-12-14  9:29         ` Christian Couder
  2010-12-14  9:46           ` Jonathan Nieder
@ 2010-12-14  9:47           ` Sylvestre Ledru
  2010-12-14 11:59             ` Christian Couder
  1 sibling, 1 reply; 12+ messages in thread
From: Sylvestre Ledru @ 2010-12-14  9:47 UTC (permalink / raw)
  To: git, Simon Gareste, Bruno JOFRET

Le mardi 14 décembre 2010 à 10:29 +0100, Christian Couder a écrit :
> On Mon, Dec 13, 2010 at 7:11 PM, Sylvestre Ledru
> <sylvestre.ledru@scilab.org> wrote:
> > Le lundi 13 décembre 2010 à 18:02 +0100, Christian Couder a écrit :
> >> On Mon, Dec 13, 2010 at 5:47 PM, Sylvestre Ledru
> >> <sylvestre.ledru@scilab.org> wrote:
> >> >
> >> > Le lundi 13 décembre 2010 à 17:34 +0100, Christian Couder a écrit :
> >> >> Hi,
> >> >>
> >> >> On Mon, Dec 13, 2010 at 4:59 PM, Sylvestre Ledru
> >> >> <sylvestre.ledru@scilab.org> wrote:
> >> >> > Hello guys,
> >> >> >
> >> >> > I have a small problem with a git repository and I haven't find a way to
> >> >> > fix my problem.
> >> >> > I am using git with gerrit [1] as frontend (even if I don't think it is
> >> >> > related here).
> >> >> > For an unknown reason, the repository just became corrupted.
> >> >> >
> >> >> > When I try to clone the repository straight with the file system, the
> >> >> > following error is displayed:
> >> >> > error: refs/changes/98/398/1 does not point to a valid object!
> >> >> > error: refs/changes/98/398/2 does not point to a valid object!
> >> >> > fatal: object cff52c24fba28408e7d021a8f35a717bef31521d is corrupted
> >> >> > fatal: The remote end hung up unexpectedly
> >> >> >
> >> >> > git-prune & git-fsck both fail.
> >> >> >
> >> >> > Does anyone know how to repair this error ?
> >> >>
> >> >> Did you try what the FAQ suggests:
> >> >>
> >> >> https://git.wiki.kernel.org/index.php/GitFaq#How_to_fix_a_broken_repository.3F
> >> > Yes. It shows an other error and it doesn't match the error described on
> >> > this URL [1].
> >> >
> >> > I get the following:
> >> > error: refs/tags/5.3.0-beta-4 does not point to a valid object!
> >> > fatal: object 555a7c359b2e589ec10822d9b56cdfeee0105fe0 is corrupted
> >>
> >> The FAQ says that you should try to replace any broken and/or missing
> >> objects, so you should try to do that with object
> >> 555a7c359b2e589ec10822d9b56cdfeee0105fe0 (as described in the FAQ)
> >> even if the error message is not exactly the same.
> > Well, after clean the error about the tags, it does not provide any
> > interesting feedbacks like in the FAQ.
> >
> > Just some information [1] about some dangling commits (probably commit
> > under review in gerrit). Nothing valuable and the problem still occurs
> > on the client side.
> 
> So you say that "git fsck --full" gives only dangling commits on the
> server, and you still get messages like "fatal: object XXXXX is
> corrupted" on the client when you try to clone with gerrit?
Not exactly, when I try to clone it through gerrit, it is working:
git clone ssh://sylvestre.ledru@git.scilab.org:29418/scilab
A bare clone works also.

It is failing when I am using git-daemon (git clone
git://git.scilab.org/scilab) or a straight clone (git
clone /home/git/repositories/repo.git).
Both with the same error:
error: refs/changes/98/398/1 does not point to a valid object!
error: refs/changes/98/398/2 does not point to a valid object!


> By the way could you tell us which version of git and gerrit you are using?
git 1.7.2.3 & gerrit 2.1.5

Sylvestre

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Corruption in the repository
  2010-12-14  9:46           ` Jonathan Nieder
@ 2010-12-14  9:59             ` Sylvestre Ledru
  0 siblings, 0 replies; 12+ messages in thread
From: Sylvestre Ledru @ 2010-12-14  9:59 UTC (permalink / raw)
  To: Simon Gareste, Bruno JOFRET, git

Le mardi 14 décembre 2010 à 03:46 -0600, Jonathan Nieder a écrit :
> Christian Couder wrote:
> 
> > When I try "git grep corrupted" on the git and gerrit sources I don't
> > find anything relevant.
> 
> The error message was changed by b6c4cec (read_sha1_file(): report
> correct name of packfile with a corrupt object, 2010-10-28) and
> especially v1.7.3-rc0~73^2 (sha1_file: Show the the type and path to
> corrupt objects, 2010-06-10).
> 
> Random guess: maybe a corrupt but redundant packed object was removed
> in the course of investigation?  
We haven't tried to delete files. We have been careful (at least, try
to)

> Sylvestre, are you still able to get errors from the repository?  
Sure

> If you still have a copy of the original
> corrupt version of the repository, I would be interested (to learn
> something about how it got damaged in the first place).
Me too. 
I send you the URL in private (it is 344M).

Sylvestre

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Corruption in the repository
  2010-12-14  9:47           ` Sylvestre Ledru
@ 2010-12-14 11:59             ` Christian Couder
  2010-12-14 14:37               ` Sylvestre Ledru
  0 siblings, 1 reply; 12+ messages in thread
From: Christian Couder @ 2010-12-14 11:59 UTC (permalink / raw)
  To: Sylvestre Ledru; +Cc: git, Simon Gareste, Bruno JOFRET

On Tue, Dec 14, 2010 at 10:47 AM, Sylvestre Ledru
<sylvestre.ledru@scilab.org> wrote:
> Le mardi 14 décembre 2010 à 10:29 +0100, Christian Couder a écrit :
>> On Mon, Dec 13, 2010 at 7:11 PM, Sylvestre Ledru
>> <sylvestre.ledru@scilab.org> wrote:
>> > Le lundi 13 décembre 2010 à 18:02 +0100, Christian Couder a écrit :
>> >> On Mon, Dec 13, 2010 at 5:47 PM, Sylvestre Ledru
>> >> <sylvestre.ledru@scilab.org> wrote:
>> >> >
>> >> > Le lundi 13 décembre 2010 à 17:34 +0100, Christian Couder a écrit :
>> >> >> Hi,
>> >> >>
>> >> >> On Mon, Dec 13, 2010 at 4:59 PM, Sylvestre Ledru
>> >> >> <sylvestre.ledru@scilab.org> wrote:
>> >> >> > Hello guys,
>> >> >> >
>> >> >> > I have a small problem with a git repository and I haven't find a way to
>> >> >> > fix my problem.
>> >> >> > I am using git with gerrit [1] as frontend (even if I don't think it is
>> >> >> > related here).
>> >> >> > For an unknown reason, the repository just became corrupted.
>> >> >> >
>> >> >> > When I try to clone the repository straight with the file system, the
>> >> >> > following error is displayed:
>> >> >> > error: refs/changes/98/398/1 does not point to a valid object!
>> >> >> > error: refs/changes/98/398/2 does not point to a valid object!
>> >> >> > fatal: object cff52c24fba28408e7d021a8f35a717bef31521d is corrupted
>> >> >> > fatal: The remote end hung up unexpectedly
>> >> >> >
>> >> >> > git-prune & git-fsck both fail.
>> >> >> >
>> >> >> > Does anyone know how to repair this error ?
>> >> >>
>> >> >> Did you try what the FAQ suggests:
>> >> >>
>> >> >> https://git.wiki.kernel.org/index.php/GitFaq#How_to_fix_a_broken_repository.3F
>> >> > Yes. It shows an other error and it doesn't match the error described on
>> >> > this URL [1].
>> >> >
>> >> > I get the following:
>> >> > error: refs/tags/5.3.0-beta-4 does not point to a valid object!
>> >> > fatal: object 555a7c359b2e589ec10822d9b56cdfeee0105fe0 is corrupted
>> >>
>> >> The FAQ says that you should try to replace any broken and/or missing
>> >> objects, so you should try to do that with object
>> >> 555a7c359b2e589ec10822d9b56cdfeee0105fe0 (as described in the FAQ)
>> >> even if the error message is not exactly the same.
>> > Well, after clean the error about the tags, it does not provide any
>> > interesting feedbacks like in the FAQ.
>> >
>> > Just some information [1] about some dangling commits (probably commit
>> > under review in gerrit). Nothing valuable and the problem still occurs
>> > on the client side.
>>
>> So you say that "git fsck --full" gives only dangling commits on the
>> server, and you still get messages like "fatal: object XXXXX is
>> corrupted" on the client when you try to clone with gerrit?
> Not exactly, when I try to clone it through gerrit, it is working:
> git clone ssh://sylvestre.ledru@git.scilab.org:29418/scilab
> A bare clone works also.
>
> It is failing when I am using git-daemon (git clone
> git://git.scilab.org/scilab) or a straight clone (git
> clone /home/git/repositories/repo.git).

This is very strange, are you sure you cannot use the resulting repo
when it "fails"?
What happens when you run "git fsck --full" on the resulting repos?

> Both with the same error:
> error: refs/changes/98/398/1 does not point to a valid object!
> error: refs/changes/98/398/2 does not point to a valid object!

Did you try to see which objects these refs are pointing to, and if
they are on the server?

Regards,
Christian.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Corruption in the repository
  2010-12-14 11:59             ` Christian Couder
@ 2010-12-14 14:37               ` Sylvestre Ledru
  0 siblings, 0 replies; 12+ messages in thread
From: Sylvestre Ledru @ 2010-12-14 14:37 UTC (permalink / raw)
  To: git, Simon Gareste, Bruno JOFRET

Le mardi 14 décembre 2010 à 12:59 +0100, Christian Couder a écrit :
> On Tue, Dec 14, 2010 at 10:47 AM, Sylvestre Ledru
> <sylvestre.ledru@scilab.org> wrote:
> > Le mardi 14 décembre 2010 à 10:29 +0100, Christian Couder a écrit :
> >> On Mon, Dec 13, 2010 at 7:11 PM, Sylvestre Ledru
> >> <sylvestre.ledru@scilab.org> wrote:
> >> > Le lundi 13 décembre 2010 à 18:02 +0100, Christian Couder a écrit :
> >> >> On Mon, Dec 13, 2010 at 5:47 PM, Sylvestre Ledru
> >> >> <sylvestre.ledru@scilab.org> wrote:
> >> >> >
> >> >> > Le lundi 13 décembre 2010 à 17:34 +0100, Christian Couder a écrit :
> >> >> >> Hi,
> >> >> >>
> >> >> >> On Mon, Dec 13, 2010 at 4:59 PM, Sylvestre Ledru
> >> >> >> <sylvestre.ledru@scilab.org> wrote:
> >> >> >> > Hello guys,
> >> >> >> >
> >> >> >> > I have a small problem with a git repository and I haven't find a way to
> >> >> >> > fix my problem.
> >> >> >> > I am using git with gerrit [1] as frontend (even if I don't think it is
> >> >> >> > related here).
> >> >> >> > For an unknown reason, the repository just became corrupted.
> >> >> >> >
> >> >> >> > When I try to clone the repository straight with the file system, the
> >> >> >> > following error is displayed:
> >> >> >> > error: refs/changes/98/398/1 does not point to a valid object!
> >> >> >> > error: refs/changes/98/398/2 does not point to a valid object!
> >> >> >> > fatal: object cff52c24fba28408e7d021a8f35a717bef31521d is corrupted
> >> >> >> > fatal: The remote end hung up unexpectedly
> >> >> >> >
> >> >> >> > git-prune & git-fsck both fail.
> >> >> >> >
> >> >> >> > Does anyone know how to repair this error ?
> >> >> >>
> >> >> >> Did you try what the FAQ suggests:
> >> >> >>
> >> >> >> https://git.wiki.kernel.org/index.php/GitFaq#How_to_fix_a_broken_repository.3F
> >> >> > Yes. It shows an other error and it doesn't match the error described on
> >> >> > this URL [1].
> >> >> >
> >> >> > I get the following:
> >> >> > error: refs/tags/5.3.0-beta-4 does not point to a valid object!
> >> >> > fatal: object 555a7c359b2e589ec10822d9b56cdfeee0105fe0 is corrupted
> >> >>
> >> >> The FAQ says that you should try to replace any broken and/or missing
> >> >> objects, so you should try to do that with object
> >> >> 555a7c359b2e589ec10822d9b56cdfeee0105fe0 (as described in the FAQ)
> >> >> even if the error message is not exactly the same.
> >> > Well, after clean the error about the tags, it does not provide any
> >> > interesting feedbacks like in the FAQ.
> >> >
> >> > Just some information [1] about some dangling commits (probably commit
> >> > under review in gerrit). Nothing valuable and the problem still occurs
> >> > on the client side.
> >>
> >> So you say that "git fsck --full" gives only dangling commits on the
> >> server, and you still get messages like "fatal: object XXXXX is
> >> corrupted" on the client when you try to clone with gerrit?
> > Not exactly, when I try to clone it through gerrit, it is working:
> > git clone ssh://sylvestre.ledru@git.scilab.org:29418/scilab
> > A bare clone works also.
> >
> > It is failing when I am using git-daemon (git clone
> > git://git.scilab.org/scilab) or a straight clone (git
> > clone /home/git/repositories/repo.git).
> 
> This is very strange, are you sure you cannot use the resulting repo
> when it "fails"?
> What happens when you run "git fsck --full" on the resulting repos?
> 
> > Both with the same error:
> > error: refs/changes/98/398/1 does not point to a valid object!
> > error: refs/changes/98/398/2 does not point to a valid object!
> 
> Did you try to see which objects these refs are pointing to, and if
> they are on the server?
In fact, we have some progress on the issue. 
It looks like, at some point, two tags have been badly created [1].

Here is what Bruno did to fix the issue:
1 - Add valid references
I put some valid commit id in refs/changes/98/398/{1,2}

2 - Find out what the corrupted object was for
$> git cat-file -t cff52c24fba28408e7d021a8f35a717bef31521d
tag
$> cat refs/tags/5.3.0-beta-4
cff52c24fba28408e7d021a8f35a717bef31521d
$> git tag -d 5.3.0-beta-4

3 - Server complains :
fatal: git upload-pack: unable to fork git-pack-objects
$> git gc (on the server)
Solved this problem.

Hope this helps for others,
Sylvestre

[1] Looks at my mail archive, the guy who created the tag did it this
way:
[$SHELL] cd /home/git/repositories/scilab.git
[$SHELL] git tag -d 5.3.0-beta-4
[$SHELL] git tag -m "Scilab 5.3.0 Beta 4 Version" 5.3.0-beta-4 
96b0b8e6d621a7ea7c88d63e10d57908689632ed

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Corruption in the repository
  2010-12-13 15:59 Corruption in the repository Sylvestre Ledru
  2010-12-13 16:34 ` Christian Couder
@ 2010-12-14 19:19 ` Jonathan Nieder
  1 sibling, 0 replies; 12+ messages in thread
From: Jonathan Nieder @ 2010-12-14 19:19 UTC (permalink / raw)
  To: Sylvestre Ledru
  Cc: git, Simon Gareste, Bruno JOFRET, Christian Couder,
	Shawn O. Pearce

Sylvestre Ledru wrote:

> error: refs/changes/98/398/1 does not point to a valid object!
> error: refs/changes/98/398/2 does not point to a valid object!
> fatal: object cff52c24fba28408e7d021a8f35a717bef31521d is corrupted
> fatal: The remote end hung up unexpectedly

Ah, should have thought of this sooner.  There doesn't seem to be
corruption involved after all.

> Does anyone know how to repair this error ?

Use git from the "master" branch to consolidate pack files:

	~/src/git/bin-wrappers/git repack -a -d

Details are in f2e872aa5 (Work around EMFILE when there are too many
pack files, 2010-11-01), which will likely be part of git 1.7.4.
Thanks for reporting and sorry for the trouble.

Jonathan

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2010-12-14 19:19 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-12-13 15:59 Corruption in the repository Sylvestre Ledru
2010-12-13 16:34 ` Christian Couder
2010-12-13 16:47   ` Sylvestre Ledru
2010-12-13 17:02     ` Christian Couder
2010-12-13 18:11       ` Sylvestre Ledru
2010-12-14  9:29         ` Christian Couder
2010-12-14  9:46           ` Jonathan Nieder
2010-12-14  9:59             ` Sylvestre Ledru
2010-12-14  9:47           ` Sylvestre Ledru
2010-12-14 11:59             ` Christian Couder
2010-12-14 14:37               ` Sylvestre Ledru
2010-12-14 19:19 ` Jonathan Nieder

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).