You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Pasi Hirvonen <ps...@iki.fi> on 2003/11/07 19:01:30 UTC

frequent Berkeley database errors

Hello,

I'm writing about a problem that has occurred several times for me
now. I did some searching with google and it seems that some others
have had bit similar problems too.. but the answers varied a lot
and the problems weren't exactly same.

We got a small project which two people mostly code and a
Subversion installation from FreeBSD ports collection. On a
frequent basis the following error occurs:

% svn update
svn: Couldn't find a repository
svn: No repository found in
'svn+ssh://XXXXXXXX/path/to/repository'
svn: Berkeley DB error
svn: Berkeley DB error while opening environment for filesystem /path/to/repos:
DB_RUNRECOVERY: Fatal error, run database recovery

Running svnadmin recover /blabla fixes the error but this is rather
annoying as it happens every few days or so.

I'd like to know whether I suspect a) svn problem b) hardware
problem (harddisk failure, logs from this host do not support this
however) or maybe a problem with my Subversion installation.

The clients we use:

% svn --version
svn, version 0.32.1 (r7497)
   compiled Oct 24 2003, 07:47:41
% uname -a
Linux xxxxxx 2.4.20-ck6 #1 Sun May 11 20:36:24 EEST 2003 i586
GNU/Linux

and

$ uname -a
Linux xxxxxx 2.6.0-test5 #12 Tue Oct 7 22:18:51 BST 2003 i686
unknown
$ svn --version
svn, version 0.32.1 (r7497)
   compiled Oct 28 2003, 16:03:14
   

The host Subversion repository sits in:

% uname -a
FreeBSD XXXXXXXXX 5.1-RELEASE FreeBSD 5.1-RELEASE #0: Thu Jun  5
02:55:42 GMT 2003
root@wv1u.btc.adaptec.com:/usr/obj/usr/src/sys/GENERIC  i386

% svn --version
svn, version 0.31.0 (r7355)
   compiled Oct 28 2003, 00:43:18

Copyright (C) 2000-2003 CollabNet.
Subversion is open source software, see
http://subversion.tigris.org/

The following repository access (RA) modules are available:

* ra_dav : Module for accessing a repository via WebDAV (DeltaV)  protocol.
  - handles 'http' schema
  - handles 'https' schema
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' schema
* ra_svn : Module for accessing a repository using the svn network protocol.
  - handles 'svn' schema
	   
Thanks in advance. If more information about my setup is needed
I'll try my best providing it.

-- 
Pasi Hirvonen
Public PGP key: http://www.iki.fi/psh/gpg/pubkey.txt

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: frequent Berkeley database errors

Posted by Ben Collins-Sussman <su...@collab.net>.
> #!/bin/sh
> umask 002
> /usr/local/bin/svn.real $*

This hasn't fixed the problem because you need to wrap *svnserve*, not
svn!  svnserve is the thing running with your UID which 'svn+ssh'
launches, and it's the thing accessing the db files.



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: frequent Berkeley database errors

Posted by Pasi Hirvonen <ps...@iki.fi>.
On 07/11/03 13:34 -0600, Ben Collins-Sussman wrote:
[snip (error message)]
> If two people are hitting the repository with svn+ssh://, that's
> equivalent to the same two people sitting on the server machine and
> accessing the db files directly via file:///.

I might (and probably should) consider alternative methods of
accessing the repository then, this was just such a sweet and
simple way. :)

> Are you having permissions and umask problems?  That's the most likely
> cause of these problems in such a scenario.  Look at the "repository
> permissions" section of chapter 5 in the book.

I suspected this too but so far I haven't found anything that
should cause this. /home/svn/reposname is owned by user svn (group
svn) and we both are in svn group. File permissions there are set
to 770. After this I saw this problem first times I tried a wrapper
script for svn that sets the umask (and this is still used):

#!/bin/sh
umask 002
/usr/local/bin/svn.real $*

This hasn't so far fixed the problem. I'll take an another look at
the Subversion book and maybe try other ways than svn+ssh. 

-- 
Pasi Hirvonen
Public PGP key: http://www.iki.fi/psh/gpg/pubkey.txt

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: frequent Berkeley database errors

Posted by Ben Collins-Sussman <su...@collab.net>.
On Fri, 2003-11-07 at 13:01, Pasi Hirvonen wrote:

> % svn update
> svn: Couldn't find a repository
> svn: No repository found in
> 'svn+ssh://XXXXXXXX/path/to/repository'
> svn: Berkeley DB error
> svn: Berkeley DB error while opening environment for filesystem /path/to/repos:
> DB_RUNRECOVERY: Fatal error, run database recovery

If two people are hitting the repository with svn+ssh://, that's
equivalent to the same two people sitting on the server machine and
accessing the db files directly via file:///.

Are you having permissions and umask problems?  That's the most likely
cause of these problems in such a scenario.  Look at the "repository
permissions" section of chapter 5 in the book.



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org