Dan Villiom Podlaski Christiansen <dan...@gmail.com> writes:

> The bug is somewhat subtle, and the circumstances causing it are
> fairly complex. In the cause of running a test suite, we open
> repositories repeatedly using the ‘file’ protocol, log their history
> and fetch the contents of all revisions. This will fail after about
> a hundred tests, having exhausted file descriptors. Inspecting the
> output of ‘lsof’ on the process, there are 216 open references to
> ‘rep-cache.db’ files.

Issue 3506 has changed the way the rep-cache is written:

http://subversion.tigris.org/issues/show_bug.cgi?id=3506

The changes are not in 1.6 yet:

http://svn.apache.org/repos/asf/subversion/branches/1.6.x-issue3506/

> As mentioned, the circumstances causing the bug are fairly
> complex. I see this in hgsubversion,[1] a Mercurial plugin for
> Subversion interoperability. Both Mercurial and hgsubversion are
> written in Python, and historically, hgsubversion has used the SWIG
> bindings for Subversion. Unfortunately, we have found the SWIG
> bindings to leak like a sieve; it is not uncommon that converting
> large repositories uses several gigabytes of memory or even exhaust
> address space in a 32-bit environment.

If converting a repository is a bit like "svnadmin dump" then it may
not be SWIG, you might be seeing issue 3593:

http://subversion.tigris.org/issues/show_bug.cgi?id=3593

-- 
Philip

Reply via email to