httpd-apreq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stas Bekman <>
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 <> 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     mod_perl Guide --->

View raw message