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

Re: python bindings leak memory (Re: 1.7.0-beta1 up for testing)

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Sun, 17 Jul 2011 21:16:19 +0100

"rupert.thurner" <rupert.thurner_at_gmail.com> writes:

> now it works ... and running it for 100'000 revisions slowly increases
> the memory. but the main problem seems to be replay. you have an
> example? i did not find anything in the test subversion testcases.

I don't understand: are you saying there is a problem in replay? How do
you know if you don't have an example? Are you using some other program?

> #!/usr/bin/python
>
> import svn.client
> import svn.core
> import svn.ra
>
> pool = svn.core.Pool()
> client = svn.client.create_context(pool)
> client.config = svn.core.svn_config_get_config(None)
> client.auth_baton =
> svn.core.svn_auth_open([svn.client.get_simple_provider(pool)], pool)
>
> ra = svn.client.open_ra_session("http://gcc.gnu.org/svn/gcc", client,
> pool)
> def rcvr(orig_paths, rev, author, date, message, pool):
> if orig_paths is not None:
> for x in orig_paths:
> orig_paths[x]._parent_pool.destroy()

Destroying pools like that was a workaround for a bug that has been
fixed. It's only safe if nothing uses, or explictily destroys, the
pool.

> print rev
> svn.ra.get_log(ra, [""], 0, 100000, 0, True, False, rcvr)

-- 
uberSVN: Apache Subversion Made Easy
http://www.uberSVN.com
Received on 2011-07-17 22:16:57 CEST

This is an archived mail posted to the Subversion Dev mailing list.