[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

500 Internal Server Error: corrupted BDB

From: <Matthew_Rich_at_playstation.sony.com>
Date: 2004-01-27 23:30:35 CET

Unfortunately for some of our people, we recommended that they use
Subversion over the other VCSs we were considering, and there have been
many complaints about, what I assume to be the same problem all around,
bugs in svn causing corrupted repositories, lost work, etc.
So, I set about trying to reproduce the bugs they were encountering.
>From what I could gather, most of the problems were characterized by svn
producing a "500 Internal Server Error", which doesn't really tell you
much, and a corrupted DB. Still not very informative--could be
anything--but in one instance the entire copies table was corrupted,
and the DB was unrecoverable, short of restoring that file from a
backup. My efforts to reproduce this problem were not without some
success, though.

Related issue:
http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgId=251824
Is this problem specific to BDB 4.1.25? Anyone else tested it?

My test data consisted of some gcc source code, which I happened to have
handy, build directory etc. Approximately 429M of 30,777 files, yes I
was trying to hammer the repository ;). The test server was a P4 1.8Ghz
(512M) iirc, running Fedora Core 1.0 (svn 0.32.1/Apache
2.0.48/mod_dav_svn/BDB 4.1.25), and it had around 6G of free space
available on that partition so it should have had plenty of room to
commit the given data.

Most of the way through transmitting the commit, it timed out, which
isn't a major concern since network interuptions will occur, but what is
a problem is the fact that it also corrupted the DB. See transcript
below:

-- Commit --

[mrich@eregion gcc]$ svn commit -m ''

...................................................................................
...........................................svn: RA layer request failed
svn: Commit failed (details follow):
svn: PUT of
/source/gcc/!svn/wrk/33e08c30-ded1-0310-a084-adaa7cf8a9b7/gcc-3.2/src/gas/testsuite/gas/sh/sh64/pt32-noexp-2.d: timed out waiting for server (https://anduril)

[mrich@eregion gcc]$ svn commit -m ''
Error validating server certificate: Unknown certificate issuer,
Hostname mismatch. Accept? (y/N): y
svn: RA layer request failed
svn: Commit failed (details follow):
svn: OPTIONS request failed on '/source/gcc'
svn: OPTIONS of '/source/gcc': 500 Internal Server Error
(https://anduril)

-- Recovery --

[mrich@anduril tools]# svnadmin verify /home/svnroot/gcc/
svn: Berkeley DB error
svn: Berkeley DB error while opening environment for filesystem
/home/svnroot/gcc/db:
DB_RUNRECOVERY: Fatal error, run database recovery
[mrich@anduril tools]# svnadmin recover /home/svnroot/gcc/
Acquiring exclusive lock on repository db.
Recovery is running, please stand by...
Recovery completed.
The latest repos revision is 3.
[mrich@anduril tools]# svnadmin verify /home/svnroot/gcc/
* Verified revision 0.
* Verified revision 1.
* Verified revision 2.
* Verified revision 3.

This seems to be similar to the problems that most people were having,
though I couldn't get enough information to reproduce the exact errors
they were having. Any help would be appreciated.

Cheers,

Matt

-- 
Matthew Rich
Sony Computer Entertainment America
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Jan 27 23:31:23 2004

This is an archived mail posted to the Subversion Dev mailing list.