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