From: Sylvestre Ledru <sylvestre.ledru@scilab.org>
To: git@vger.kernel.org, Simon Gareste <simon.gareste@scilab.org>,
Bruno JOFRET <bruno.jofret@scilab.org>
Subject: Re: Corruption in the repository
Date: Tue, 14 Dec 2010 15:37:36 +0100 [thread overview]
Message-ID: <1292337456.25237.29023.camel@korcula.inria.fr> (raw)
In-Reply-To: <AANLkTinoD2qn7ZqMtGbSjJgkVUNE--fOsrSKzqTLCLpP@mail.gmail.com>
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
next prev parent reply other threads:[~2010-12-14 14:37 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
2010-12-14 19:19 ` Jonathan Nieder
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1292337456.25237.29023.camel@korcula.inria.fr \
--to=sylvestre.ledru@scilab.org \
--cc=bruno.jofret@scilab.org \
--cc=git@vger.kernel.org \
--cc=simon.gareste@scilab.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).