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

Re: immense Apache memory leak, plus patch

From: Blaise Tarr <blaise.tarr_at_gmail.com>
Date: Fri, 14 Aug 2009 11:43:41 -0400

Greg Stein wrote:
> I don't see how this would work, however, because there are *still* a
> lot of uses of the 'output' variable. Just changing the one in
> ap_pass_brigade() is going to be insufficient. Seems that all of them
> should really be changed.

That patch is just the bare minimum to prevent the crashes we've
experienced, and it confirms the source of the problem, but it's
definitely not the proper fix. Sorry, I should have stated that earlier.
It works because the pointers in the 'output' ap_filter_t struct still
happen to be valid, or so it seems.

Changing all the references to 'output' would more correct, but that
would essentially render the 'output' function parameter useless, and
that doesn't feel right.

One possibility is to create a dummy (sentinel) filter at the beginning
of the filter chain that would simply pass the brigade along. It would
always be present, and references to the filter chain using it would
always be valid. Implementing it would be more appropriate in Apache
itself, but there should be no harm in having mod_dav_svn do it.

-- 
Blaise Tarr
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2383656
Received on 2009-08-14 20:04:13 CEST

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