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

Re: memory-leak - svn::repos instances are not destroyed properly

From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
Date: Fri, 14 Oct 2011 12:54:07 +0200

Does it also reproduce if you remove the revision_root() call?

What does Perl invoke when an object becomes unreferenced or falls out
of scope?

Max Voit wrote on Fri, Oct 14, 2011 at 00:33:08 +0200:
> Hi,
>
> developing an application dealing with many repositories the existence
> of paths within that repositories had to be checked.
> Using something like:
>
> my $repos = SVN::Repos::open($localpath) or die "no such repo";
> my $fs = $repos->fs;
>
> $ispath =
> $repos->fs->revision_root( $fs->youngest_rev)->is_dir($path);
>
> undef($fs);
> undef($repos);
>
> resulted in a persistent memory usage of approx. 300MB for ~ 3000 calls,
> though undefing the references of the objects.
>
> Attached is a small sample script, showing the problem with 1000
> calls - resulting in 200M with nothing but the directory in question in
> the repository. Repository-size seems to matter. (the application uses
> near productive repos)
>
> running with
> libsvn1 1.6.6dfsg-2ubuntu1.3
> libsvn-perl 1.6.6dfsg-2ubuntu1.3
> perl 5.10.1-8ubuntu2.1
>
> kind regards,
> Max Voit
Received on 2011-10-14 12:54:51 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.