Graham Leggett <[EMAIL PROTECTED]> writes:
> Peter Van Biesen wrote:
>
> > Does anybody have another idea for me to try ?
>
> Have you tried the latest fix for the client_block stuff, I think I saw
> a very recent CVS checkin...?
>
> There could of course be more than one leak, and we'll only fix the
> problem once all of them are found...
There's also a refcount problem in http_protocol.c wrt chunked
transfer codings. The problem is that the bucket holding the
chunk size isn't ever freed, so the corresponding data block
is overcounted.
Here's a diff for http_protocol.c against current anon-cvs (which
doesn't seem to have any of the newer changes to ap_get_client_block).
Light testing seems to indicate that this fixes the refcount problem.
diff -u -r1.454 http_protocol.c
--- http_protocol.c 13 Aug 2002 14:27:39 -0000 1.454
+++ http_protocol.c 5 Sep 2002 17:15:12 -0000
@@ -901,6 +901,7 @@
if (rv == APR_SUCCESS) {
rv = apr_brigade_flatten(bb, line, &len);
if (rv == APR_SUCCESS) {
+ apr_brigade_cleanup(bb);
ctx->remaining = get_chunk_size(line);
}
}
@@ -966,6 +967,7 @@
if (rv == APR_SUCCESS) {
rv = apr_brigade_flatten(bb, line, &len);
if (rv == APR_SUCCESS) {
+ apr_brigade_cleanup(bb);
ctx->remaining = get_chunk_size(line);
}
}