httpd-apreq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stas Bekman <s...@stason.org>
Subject Re: Parsers test eats all the memory
Date Wed, 12 Jan 2005 23:24:18 GMT
Max Kellermann wrote:
> On 2005/01/13 00:08, Joe Schaefer <joe+gmane@sunstarsys.com> wrote:
> 
>>How much RAM you got on there?  There's a loop-in-a-loop that's run
>>a few hundred thousand times; it's in t/parsers.c:parse_multipart.
>>I don't know where that memory is going (I do ack the problem),

I've 750MB + 800MB swap. The loop does 319*319 iterations. i don't know 
what has changed, but it was working fine before.

> That's a bug which I already fixed in my patches..
> 
> In the innermost loop of parse_multipart(), it creates an immortal
> bucket which is never freed. The bucket is added to "bb", but "bb" is
> then assigned a new value:
> 
>             bb = apreq_value_to_param(apreq_strtoval(val))->bb;
> 
> .. and the following has no effect on the original (splitted up)
> immortal bucket, it only cleans up the value bucket brigade:
> 
>             apr_brigade_cleanup(bb);
> 
> I changed that to two apr_bucket_brigade_t* variables in my patch.

could you please repost this particular patch?

-- 
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

Mime
View raw message