On Tue, Jan 07, 2020 at 07:31:42PM +0100, Yann Ylavic wrote: > Could you please try the attached patch? > The goal is to make ap_request_core_filter() a connection filter, so > that it remains in c->output_filters until the EOR is handled. > The patch has subtleties, but ap_request_core_filter() is really > special. It has to do its best to use r->pool for setasides and > morphing buckets until the EOR, and depending on network congestion > there may be multiple ap_request_core_filter()s stacked (one per > request not fully flushed) so I had to introduce > AP_FILTER_PROTO_INSERT_BEFORE to stack them in the right order...
This has passed 50 iterations with no failures, so LGTM, thanks for looking at this! Without this I could reliably trigger a failure within ~10 iterations. BTW attached the repro script I'm using, different N for stress -cN may help. -c2 works well for my 4 core laptop. Regards, Joe
repro.sh
Description: Bourne shell script