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

Re: database corruption

From: Federico Di Gregorio <fog_at_initd.org>
Date: 2004-10-05 12:58:40 CEST

Thank you very much for your answer. Here is some more information. Note
that the svn repository run perfectly well for about 4 weeks before the
first corruption. the corruption happened about 2h after we activated
the "svnlook widget" (I can provide the code if necessary).

Here is the information:

Linux lamu 2.4.20 #1 Mon Jun 2 19:35:02 CEST 2003 i686 GNU/Linux

libdb4.2 4.2.52-17 Berkeley v4.2 Database Libraries [runtime]
apache2-mpm-pr 2.0.50-11 Traditional model for Apache2
subversion 1.0.6-2 Advanced version control system (aka. svn)
libapache2-svn 1.0.6-1.2.1 Apache modules for Subversion (aka. svn)

File system type is ext3 and I am sure subverion and the apache module
use the same berkeley db library (I used ldd to check for the linked
libraries.)

I know db/nodes is corrupted because when I try "svnadmin recover" I
get:

        Please wait; recovering the repository may take some time...
        svn: DB_RUNRECOVERY: Fatal error, run database recovery

and the berkeley recovery utility says:

        db_recover: Finding last valid log LSN: file: 68 offset 363108
        db_recover: initd/db/nodes: unexpected file type or format
        db_recover: Recovery function for LSN 68 362220 failed
        db_recover: PANIC: Invalid argument
        db_recover: PANIC: fatal region error detected; run recovery
        db_recover: PANIC: fatal region error detected; run recovery
        db_recover: PANIC: fatal region error detected; run recovery
        db_recover: PANIC: fatal region error detected; run recovery
        db_recover: PANIC: fatal region error detected; run recovery
        db_recover: PANIC: fatal region error detected; run recovery
        db_recover: PANIC: fatal region error detected; run recovery
        db_recover: PANIC: fatal region error detected; run recovery
        db_recover: PANIC: fatal region error detected; run recovery
        db_recover: PANIC: fatal region error detected; run recovery
        db_recover: PANIC: fatal region error detected; run recovery
        db_recover: PANIC: fatal region error detected; run recovery
        db_recover: PANIC: fatal region error detected; run recovery
        db_recover: PANIC: fatal region error detected; run recovery
        db_recover: DB_ENV->open: DB_RUNRECOVERY: Fatal error, run database recovery

> - Have you tried to run recovery when your Apache has been up and running?

no, obviously not. I shut down every other access method when trying
recovery.

> - Are you using some other hooks on your repository setup (perhaps
> dumping it with closed file descriptors (stdout & stderr))?

the repository does not use any kind of hook.

> - Where did the Subversion came to your system (Prebuild, self-build)?

prebuild debian packages (see above for the version).

> - Also which command printed the quoted error message?

no command. the quote referred to the first few lines of the db/nodes
file. i.e., "less db/nodes" shows:

svn: File not found: revision '531', path 'psycopg'
<EE><91>^^^@I^C^@^@d^UaA^>^@^@^@^@^@^@^@^@^@^@^B^@^@^@^@^@^@^@ ^@^
...

> - Anything else non-standard which deviates from common setup?

nothing.

> If this happens again, could you set aside your repository, just in
> case that somebody likes to take look of it?

already done. I can send the tarball to anyone interested. note that
this is the tarball *after* the svnadmin recover that failed. I can
re-setup the repository but would be difficult to determine if/when it
breaks because sometimes it just wedges (permission problems between
apache and the svnlook widget I think, but nothing that should break it
completely.)

> I strongly suspect that you have something fishy on your setup, this
> really isn't a known problem.
>
> Sorry that I could not help more.

thank you very much anyway,
federico

-- 
Federico Di Gregorio                         http://people.initd.org/fog
Debian GNU/Linux Developer                                fog@debian.org
INIT.D Developer                                           fog@initd.org
                  Beh un bacio, se ben dato, non si rifiuta. --  <laura>

Received on Wed Oct 6 04:24:29 2004

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.