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

Re: apr pools & memory leaks

From: Ben Collins-Sussman <sussman_at_red-bean.com>
Date: Wed, 1 Oct 2008 13:47:16 -0500

On Wed, Oct 1, 2008 at 1:31 PM, Mark Phippard <markphip_at_gmail.com> wrote:
> On Wed, Oct 1, 2008 at 2:11 PM, Ben Collins-Sussman
> <sussman_at_red-bean.com> wrote:
>> I have interesting memory leak data to share with these two lists
>> (crossposting to both svn and apr dev lists).
>>
>> Ever since we launched svn-on-bigtable over at Google (about 2 years
>> ago), we've been struggling with mysterious memory leaks in apache --
>> very similar to what users are complaining about in Subversion issue
>> 3084.
>>
>> After lots of analysis, here's what we've figured out so far.
>
> It is good to see some analysis on this issue. Here is link BTW:
>
> http://subversion.tigris.org/issues/show_bug.cgi?id=3084
>
> A couple questions:
>
> 1) This seems to happen only with Apache 2.2 and not 2.0. Is there
> any explanation for that supported by your analysis?

As far as I know, this is an APR issue, not an Apache issue... and I
don't think the pool code has changed for at least 6 or 7 years...?

>
> 2) It seems like many of the people, at least on Windows, can
> reproduce this problem quickly. Could this just be due to running
> requests which create/destroy a lot of memory?

Definitely. A single checkout causes zillions of subpools to be
repeatedly created and destroyed. Just look at all the looping
constructs in libsvn_fs!

If you run apache in prefork mode, you won't see this problem -- no
apache process lasts very long.

If you run apache in threaded (mpm) mode, the apache process runs
forever, and the leak becomes obvious.

>
> 3) Any reason more Windows users would see this than Linux? Maybe
> more Windows SVN users use Apache 2.2 than on Linux?

As Erik said, on Windows only the threaded mode is available, thus
explaining why they're seeing this problem more than anyone else.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-10-01 20:47:29 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.