I have an cvs server with pretty big binray file (about 50Mb) and its rcs file is about 2G

Today I discovered that file update returns an error:

cvs [update aborted]: unexpected EOF reading /repository/cvsroot/dir/file,v

I checked the cvs server and it showed me an completely destroyed /repository/cvsroot/dir/file,v with size about 100K.

I restored the file from backup, unfortunately I caught the same issue one more time.

After second file replace now it acts fine, but I couldn't get the reason of such behaviour.

It doesn't seem an hardware fail as all other files on the same disk are fine and smartctl doesn't show any error or suspicious warnings.

Is there a way to catch the root of this issue?

ps. cvs is running on red hat 5.5, cvs version is 1.12.6.

upd. actually after a while the file had broken again. so cvs looks like not usable with such behaviour. unfortunately due to political restrictions I couldn't migrate to another VCS like git ( at least before the end of this year ).

upd2. after some experiments I discovered, that most operations are successfully passes, but cvs rtag destroys file. I even moved the file into another project and tried to rtag it and I immediately got the broken file. the full rtag command:

cvs rtag -B -a -F -r 1.447 -b "branch" project/file
  • The obvious starting point is cvs server's log file -- which operations were done on this file and when? – sendmoreinfo Aug 19 '13 at 17:28
  • Nothing suspicious is there. The main idea is that this file is too big ( actually it is the biggest in our repository ) and cvs fails to handle such big rcs file. But I didn't proof this yet. ps. This file is binary, this also may affect, I guess. – rush Aug 19 '13 at 18:29
  • 1
    32-bit or 54-bit cvs? – David Mackintosh Aug 20 '13 at 15:54
  • $ file /applications/bin/cvs: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), for GNU/Linux 2.2.5, stripped – rush Aug 20 '13 at 18:31
  • @DavidMackintosh thanks! I tried 64bit version and the issue gone! Could you please put your idea in the answer, I'll mark it as the solution. – rush Aug 21 '13 at 8:52

Check that you are using the correct 32- or 64-bitness version.

  • Actually there is a bug in 32bit cvs. When I try to precess cvs rtag operation, cvs destroys the history file. In 64bit cvs everything is fine. I contacted cvs developers, but it looks like they don't gonna fix it, as the bug is in 1.x cvs (even in latest 1.12.13 from debian). – rush Sep 4 '13 at 20:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.