When reverse proxying a web page using the ProxyPass directive, Apache leaks memory when running the JMeter stress test tool using HTTP POST requests. This does not happen with HTTP GET requests. Sample config: <VirtualHost *:81> ServerName <your-server-name> <Location /> ProxyPass http://localhost/ </Location> </VirtualHost>
Created attachment 9470 [details] Fixed EOS bucket leak in proxy_http.c
the patch looks simple (and correct) enough... any idea if the short-circuit test for EOS just above this leaks that bucket too? I'm referring to this logic: if (APR_BUCKET_IS_EOS(APR_BRIGADE_FIRST(bb))) { break; } It looks to me like that simple brigade will get leaked in that condition. I'm re-opening the bug and adding the PatchAvailable keyword; until somebody commits your fix to 2.1-dev, it should be visible by everybody as something to work on.
> I'm referring to this logic: > if (APR_BUCKET_IS_EOS(APR_BRIGADE_FIRST(bb))) { > break; > } > It looks to me like that simple brigade will get leaked in that condition. Not necessarily completely leaked, though it might live longer than one could hope for. As long as the bucket remains in its brigade, the bucket and brigade will get killed off when the pool associated with the brigade is cleaned up.
Thanks for clarifying, Cliff! I'm +1 for the patch. That was my only dangling question.
thanks for the patch! commited to 2.1-dev, proposed for merging to stable branch for 2.0.next
patch now committed to stable branch for 2.0.next