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

Re: Possibility new memory leak of 1.6.x Subversion

From: Stefan Sperling <stsp_at_elego.de>
Date: Sun, 24 May 2009 19:03:32 +0100

On Sun, May 24, 2009 at 07:23:34PM +0200, B. Smith-Mannschott wrote:
> On Sun, May 24, 2009 at 18:30, Stefan Sperling <stsp_at_elego.de> wrote:
> > On Sun, May 24, 2009 at 06:01:01PM +0200, B. Smith-Mannschott wrote:
> >> I tried without success to reproduce this issue under Mac OS X. This
> >> would tend to support the idea that this bug is Windows-only.
> >>
> >> 1. Created new repository on a 1.5.2 server. (that's what I've got on
> >> my server).
> >> Using a 1.6.2 client:
> >> 2. Checked out empty root of said repository (svn://) into local working copy.
> >> 3. Created 50 directories of 10 directories of 50 empty files.
> >> 4. svn add all 50 top-level directories, which effectively adds everything.
> >> 5. svn commit
> >>
> >> The commit ran to completion. The client's RSIZE grew to about 50MB
> >> during the commit.
> >
> > That's still fairly high I'd say. It matches what I've seen being
> > described before ("1MB per added file").
>
> Does not match. 50 * 10 * 50 = 25'000 files. That works out to about
> 2KB RSIZE per file.

You're right. I just read "50 files" and "50MB" and made conclusions :(

> >> 1. Created a new repository locally using svnadmin 1.6.2
> >> 2. Checked out empty root of said repository (file://) into local working copy.
> >> 3. Created 10000 empty files in this directory.
> >> 4. svn add all files.
> >> 5. svn commit.
> >>
> >> The commit ran to completion. The client's RSIZE grew to about 22MB
> >> during the commit.
> >
> > Interesting. So it's also a function of the number of directories.
>
> Well, the "layout" does seem to factor in, but not much. 10'000 with
> RSIZE 22 MB makes about 2.25 KB RSIZE per file.

It's still a useful observation because eventually we'll need to
figure out exactly which kind of data we allocate contributes most
to the problem. The comments in issue #1964 provide some clues,
but no definite answers.
 
> > Can you try adding all files from boost?
> > http://dfn.dl.sourceforge.net/sourceforge/boost/boost_1_39_0.tar.bz2
> >
> > Also, a vendor-branch scenario would be a nice test.
> > E.g. import an older version of boost into /vendor/boost,
> > copy it to /trunk, checkout /vendor/boost, make the working
> > copy match boost-1.39 e.g. by using svn_load_dirs.pl or
> > http://svn.clifford.at/tools/trunk/svnemboss.sh and commit,
> > and then try to do a merge from /vendor/boost to /trunk and
> > commit the result.
>
> I'll do this and write back when I have results.

Thanks a lot!

Stefan
Received on 2009-05-24 20:04:57 CEST

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.