httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Fritsch ...@sfritsch.de>
Subject Re: Proxy regressions
Date Tue, 09 Nov 2010 20:54:17 GMT
On Thursday 04 November 2010, Graham Leggett wrote:
> On 03 Nov 2010, at 10:28 PM, Stefan Fritsch wrote:
> > Strange, I have these problems only with prefork, not with event.
> > But with event I get a segfault in the reslist cleanup code.
> > 
> > Can somebody cross-check this?
> 
> This smelled like a pool lifetime issue, and looking closer it
> looked like we were cleaning up a brigade after we had returned
> the backend to the pool. The attached patch stops the crash, and
> it seems to run at a sensible speed again (I suspect the late
> cleanup of the brigade was sending the code into a spin). Can you
> give it a try?
> 
> One proxy test still fails though:
> 
> t/modules/proxy.............ok 7/15# Failed test 10 in t/modules/
> proxy.t at line 34
> t/modules/proxy.............FAILED test 10
> 	Failed 1/15 tests, 93.33% okay
> 
> This fails because the first bucket of the response has been
> corrupted:
> 
> graham-leggetts-macbook-pro-3:httpd-test minfrin$ curl
> http://localhost:8536/reverse/modules/cgi/nph-102.pl sl/2.3.9-dev
> OpenS
> 
> I've seen this a few weeks ago and it went away, so I suspect this
> isn't proxy that's doing it. Need to dig further.

The fix in r1030855 is wrong: ap_proxy_buckets_lifetime_transform is 
not copying the data but only creates transient buckets from the data 
in the buckets in bb. If you then destroy bb before passing pass_bb, 
the data where the buckets in pass_bb point gets freed and later gets 
overwritten.

Cheers,
Stefan

Mime
View raw message