[cvsnt] Repository corruption

Sebastian Wangnick sebastian.home at wangnick.de
Thu Aug 31 10:43:57 BST 2006


Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.


Dear folks,

I've updated to TortoiseCVS 1.8.26 just now. TortoiseCVS 1.8.26 seeminly
comes with CVSNT 2.5.3.2260:
	C:\Programme\TortoiseCVS>..\CVSNT\cvs.exe --version
	Concurrent Versions System (CVSNT) 2.5.03 (Scorpio) Build 2260
(client/server)
	Copyright (c) 1989-2001 Brian Berliner, david d `zoo' zuhn,
	                        Jeff Polk, and other authors
	CVSNT version (Mar  3 2006) Copyright (c) 1999-2005 Tony Hoyle and others

However, for :local: CVSROOT access TortoiseCVS seemingly comes with and
uses a dedicated cvs.exe as of CVSNT 2.0.58d. For instance, when trying to
view revision 1.1 of word.py from within the TortoiseCVS revision graph,
this results in:
	In C:\Temp\TCV03fb.tmp: "C:\Programme\TortoiseCVS\cvs.exe" "-q" "checkout"
"-r" "1.1" "-d" "temp" "Bazi Suanming/word.py"
	CVSROOT=:local:C:\Dokumente und Einstellungen\All Users\Dokumente\Cvsroot
	cvs checkout: Dropping data: pos>vec->text.nlines
	cvs [checkout aborted]: invalid change text in C:\Dokumente und
Einstellungen\All Users\Dokumente\Cvsroot/Bazi Suanming/word.py,v
	Fehler, CVS-Vorgang fehlgeschlagen
And then checking the cvs.exe version:
	C:\Programme\TortoiseCVS>.\cvs.exe --version
	Concurrent Versions System (CVSNT) 2.0.58d (client/server)
	Copyright (c) 1989-2001 Brian Berliner, david d `zoo' zuhn,
	                        Jeff Polk, and other authors
	CVSNT version (Nov  1 2004) Copyright (c) 1999-2004 Tony Hoyle and others

This is also in line with what is depicted in the TortoiseCVS Help->About
window:
	http://sebastian.wangnick.de/tcvs-1.8.26-about.png

Should I possibly replace the cvs.exe within the TortoiseCVS directory with
the one from the CVSNT directory? Or should I rather run the CVSNT server,
and if so, which protocol would you recommend?

Regards,
Sebastian

PS: Is 512 bytes some magic number on the NTFS file system?

-----Ursprungliche Nachricht-----
Von: Gabriel Genellina [mailto:gagsl-cvsnt at yahoo.com.ar]
Gesendet: Dienstag, 29. August 2006 06:02
An: cvsnt at cvsnt.org cvsnt downloads at march-hare.com @CVSNT on Twitter CVSNT on Facebook
Cc: Sebastian Wangnick
Betreff: Re: [cvsnt] Repository corruption


At Monday 28/8/2006 18:56, Bo Berglund wrote:

>Then I ran a cvs update on that module in a sandbox expecting the file
>to appear, but it didn't...
>----------------------------
>revision 1.3
>date: 2006/08/28 13:37:29;  author: wangnick;  state: dead;  lines: +0

The file is 'dead' at revision 1.3, that is, it was deleted. That's
why you didn't get it asking for HEAD.

cvs update -r1.2 titeltext.gif does not report any error (but
produces an incomplete GIF file).
cvs update -r1.1 titeltext.gif aborts with the error originally posted.

Looking at the RCS file, the error is in the deltas for rev 1.1, at
the end. The sequence "d1 9" is invalid, that means to delete lines 1
thru 9 but revision 1.2 has only 4 lines of "text".
Changing that to:

@d1 4
a1 4
GIF89...

makes it valid (and gives a valid GIF file too for rev 1.1)

So, it appears that the 1.3 rev should be larger than it is now;
presumably 9 lines long. Perhaps someone modified the RCS file by
hand? Or maybe the RCS code in that old CVSNT version had a bug?
Might be significant that the deltatext section for rev 1.3 is
exactly 512 bytes length.



Gabriel Genellina
Softlab SRL

-----Ursprungliche Nachricht-----
Von: Sebastian Wangnick [mailto:sebastian.home at wangnick.de]
Gesendet: Montag, 28. August 2006 23:35
An: cvsnt at cvsnt.org cvsnt downloads at march-hare.com @CVSNT on Twitter CVSNT on Facebook
Betreff: AW: [cvsnt] Repository corruption


Dear CVSNT folks,

please find at http://sebastian.wangnick.de/titeltext.zip one of the
seemingly corrupt repository files. The error message occurs *only* when
trying to access (or to compare with) version 1.1 of the file. This is also
why I did't detect the corruption earlier; in all those strange files I
detected, the more recent versions are perfectly accessible. Actually, I
detected the issue only today because (a very thin voice starting here) I
wanted to give Subversion a look and thus tried to convert the repository to
Subversion format to have a good size sample. This conversion process threw
the error messages at me, which I then confirmed by using TortoiseCVS to
access the respective versions.

I've also checked a backup done in 2004 and one of the corrupt files was
already corrupt back then. My corruption cases thus were not all introduced
in one go, but rather must have developed over time, with different versions
of CVSNT.

My statement on CVSNT reliability was purely reflecting my current alarm
state. After all, I did entrust our configuration management to CVSNT
originally, and so far was very happy with it. I didn't mean to step on
anybody's toes. However, I thought my utilisation of CVSNT to be rather
normal. I don't remember any power failure (but wouldn't want to exclude
one). Maybe I should check my hard disk for errors?

I also know from work that ClearCase has its issues, too. What concerns me a
bit is that such repository corruption goes unnoticed. If you would get a
warning about repository corruption right away, e.g., when checking in,
you'd have a chance to restore a proper repository file from backup. Or
maybe there is some sanity check tool?

Regards,
Sebastian Wangnick

-----Ursprungliche Nachricht-----
Von: Flavio Etrusco
Gesendet: Montag, 28. August 2006 23:01
An: Sebastian Wangnick
Cc: cvsnt at cvsnt.org cvsnt downloads at march-hare.com @CVSNT on Twitter CVSNT on Facebook
Betreff: Re: [cvsnt] Repository corruption


On 8/28/06, Sebastian Wangnick <sebastian.home at wangnick.de> wrote:
> Dear CVSNT folks,
>
> for some small-scale Python and Webpage development environment for
> the company of my wife I'm using TortoiseCVS (1.8.11, CVSNT 2.0.58d)
> on a Windows XP system with a local CVSROOT.

I hope for "small-scale" you mean you alone, otherwise you definately
shouldn't be using :local:.


> Just now I recognised that for quite a number of files (10 out of 500) the
repository seems to be corrupted. When comparing the files against their
initial version I'm getting:
>         In C:\Temp\TCVca23.tmp: "C:\Programme\TortoiseCVS\cvs.exe" "-q"
"checkout" "-r" "1.1" "-d" "temp" "Foo/word.py"
>         CVSROOT=:local:C:\Dokumente und Einstellungen\All
Users\Dokumente\Cvsroot
>         cvs checkout: Dropping data: pos>vec->text.nlines
>         cvs [checkout aborted]: invalid change text in C:\Dokumente und
Einstellungen\All Users\Dokumente\Cvsroot/Foo/word.py,v
>         Fehler, CVS-Vorgang fehlgeschlagen
>
> I have been using older versions of TortoiseCVS in the past. However, one
of the corrupt files was checked in 2005.06.29, and at that time I had
installed 1.8.11/2.0.58d already.
>
> This issue occurs with Word documents, GIF files and in one case also with
a Python source file (which *could* have been modified from ASCII to UTF-8
format at a certain stage).

Do you mean it "occurs" (i.e. it's reproducible) or it "simply" occurred?
Why did it take so much time for you to detect the problem (2 months???)?

> Is this a known issue?
I don't think so. I don't remember anything like that reported on this list.


> Is it corrected in later versions?
I would sure hope so.
I'm certain there are "heaviers" cvsnt users than my employer out
there, and we've only had two episodes of repository file corruption
(only one file each)  in more than two years (starting with 2.0.51d or
.58d...), with about two hundred users, tens of projects, thousands
files of all kind and size (well, usually not beyond 10MB, except some
crazy guys that were storing 40MB-sized .pdb files in there :-/ ),
etc, and even those corruptions could be clearly associated with some
external cause since the server was running continually overloaded.


> Obviously this issue puts into question the reliability of CVSNT on
Windows.

Well, if you can rule out every and all other possible causes
(anti-virus, power failure, HD failure, OS crash or failure, etc)
then, yes, this would be a quite worrysome. I agree with the others in
that being it such an ancient version this isn't exactly a
showstopper. I disagree in that it's a stable release nonetheless and
any bug involving repository corruption is extremelly serious.
However, in my experience all of the other possibilities I've cited
are far more plausible than a cvsnt bug.

Cheers,
Flavio




More information about the cvsnt mailing list
Download the latest CVSNT, TortosieCVS, WinCVS etc. for Windows 8 etc.
@CVSNT on Twitter   CVSNT on Facebook