You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by James Goodall <jg...@dmetrix.com> on 2004/06/03 15:57:46 UTC

db memory errors

Hi.  I tried posting this in users@ a couple of days ago, but I haven't
received a response (in fact, I seemed to have killed the thread
altogether).

Here's some more detail as to what the automated script is doing:
 * Use 'svnlook tree' to get the file names in the repository
 * Search the tree for directories containing special files
 * Checkout, possibly update file contents/props, and checkin in found
directories (one directory at a time)

Also, I never need to 'svnadmin recover' the repository, just restart apache
to kill off the hung python processes.

This is really starting to be a pain in the butt so if anyone could help me
out with this I would appreciate it.  Otherwise I'll have to downgrade to
1.0.2.

 - James

-----Original Message-----
From: James Goodall [mailto:jgoodall@dmetrix.com] 
Sent: Tuesday, June 01, 2004 11:00 AM
To: 'Ben Collins-Sussman'; 'Martin J. Evans'
Cc: users@subversion.tigris.org
Subject: RE: svn client fails with Berkeley DB error Cannot allocate memory-
repository wedges

I'm seeing a similar error, although under different conditions.  Just after
upgrading to 1.0.4, I started getting hung
httpd->pre-commit->python2->svnperms.py processes and when enough of them
accrue (~10), I get this (or something similar) error message:

Berkeley DB error while opening 'uuids' table for filesystem
svn_repository/db:
Cannot allocate memory

I gather that the hung process are hogging all of the locks somehow, but I
have no idea why the procs don't complete.  It seems to only happen during a
nightly script that automatically checks out files, adds copyright
information to them, and checks them back in.  The script is slightly
misconfigured such that it tries to update files under /tags which
svnperms.py is configured to deny, if that makes a difference (repeatedly
failing a permission check for checkin causes the process to hang??).
Restarting apache seems to (temporarily) clear things up.

I did not see this problem at all under 1.0.2 and I haven't changed anything
else in the system since the svn upgrade.
 
SVN: 1.0.4 (ra_dav)
HTTPD: 2.0.49
svnperms.py: whatever is shipped in 1.0.4 tarball
python: 2.1.1

 - James

-----Original Message-----
From: Ben Collins-Sussman [mailto:sussman@collab.net] 
Sent: Sunday, May 30, 2004 7:55 PM
To: Martin J. Evans
Cc: users@subversion.tigris.org
Subject: Re: svn client fails with Berkeley DB error Cannot allocate memory-
repository wedges

On Fri, 2004-05-28 at 06:06, Martin J. Evans wrote:
>  Berkeley DB error while opening 'transactions' table for filesys
> tem /var/subversion/distribution/linux-x86/db:
> Cannot allocate memory

IIRC, this error often means that BDB has run out of lock objects.  Try
increasing the the number of locks in your repos/db/DB_CONFIG file and
then run 'svnadmin recover'.

I'd like to know what your script is doing (or what Web::SVN is doing)
that is so lock-intensive...



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


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


RE: db memory errors

Posted by James Goodall <jg...@dmetrix.com>.
Thanks for the suggestion, but unfortunately it didn't work.  I'm out of
ideas.  It seems to be an intermittent thing because each morning when I
come in, I have a slightly different number of hanging python processes
(anywhere from 6 to 15).

Does anyone else have any suggestions for tracking this problem down?  (See
original post for full description)

 - James

-----Original Message-----
From: cmpilato@localhost.localdomain [mailto:cmpilato@localhost.localdomain]
On Behalf Of C. Michael Pilato
Sent: Thursday, June 03, 2004 9:12 AM
To: James Goodall
Cc: dev@subversion.tigris.org
Subject: Re: db memory errors

"James Goodall" <jg...@dmetrix.com> writes:

> Hi.  I tried posting this in users@ a couple of days ago, but I haven't
> received a response (in fact, I seemed to have killed the thread
> altogether).
> 
> Here's some more detail as to what the automated script is doing:
>  * Use 'svnlook tree' to get the file names in the repository
>  * Search the tree for directories containing special files
>  * Checkout, possibly update file contents/props, and checkin in found
> directories (one directory at a time)
> 
> Also, I never need to 'svnadmin recover' the repository, just restart
apache
> to kill off the hung python processes.
> 
> This is really starting to be a pain in the butt so if anyone could help
me
> out with this I would appreciate it.  Otherwise I'll have to downgrade to
> 1.0.2.

Well, there are no diffs between svnperms.py in 1.0.2 and 1.0.4.  So
we can rule out changes there.

svnlook changed, but the change was for pool usage fixes only.  Still,
you could try applying this patch:

    svn diff --new http://svn.collab.net/repos/svn/tags/1.0.2 \
             --old http://svn.collab.net/repos/svn/tags/1.0.4 \
             subversion/svnlook

Other than that, I don't see any changes b/w 1.0.2 and 1.0.4 that
would be expected to effect how your script behaves.



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


Re: db memory errors

Posted by "C. Michael Pilato" <cm...@collab.net>.
"James Goodall" <jg...@dmetrix.com> writes:

> Hi.  I tried posting this in users@ a couple of days ago, but I haven't
> received a response (in fact, I seemed to have killed the thread
> altogether).
> 
> Here's some more detail as to what the automated script is doing:
>  * Use 'svnlook tree' to get the file names in the repository
>  * Search the tree for directories containing special files
>  * Checkout, possibly update file contents/props, and checkin in found
> directories (one directory at a time)
> 
> Also, I never need to 'svnadmin recover' the repository, just restart apache
> to kill off the hung python processes.
> 
> This is really starting to be a pain in the butt so if anyone could help me
> out with this I would appreciate it.  Otherwise I'll have to downgrade to
> 1.0.2.

Well, there are no diffs between svnperms.py in 1.0.2 and 1.0.4.  So
we can rule out changes there.

svnlook changed, but the change was for pool usage fixes only.  Still,
you could try applying this patch:

    svn diff --new http://svn.collab.net/repos/svn/tags/1.0.2 \
             --old http://svn.collab.net/repos/svn/tags/1.0.4 \
             subversion/svnlook

Other than that, I don't see any changes b/w 1.0.2 and 1.0.4 that
would be expected to effect how your script behaves.

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