apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ben Collins-Sussman" <suss...@red-bean.com>
Subject Re: apr pools & memory leaks
Date Wed, 01 Oct 2008 18:47:16 GMT
On Wed, Oct 1, 2008 at 1:31 PM, Mark Phippard <markphip@gmail.com> wrote:
> On Wed, Oct 1, 2008 at 2:11 PM, Ben Collins-Sussman
> <sussman@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.

Mime
View raw message