<div>So in order to try to reproduce the problem locally, I made this debug module :</div><div><a href="https://github.com/mtourne/ngx_massive_chunker">https://github.com/mtourne/ngx_massive_chunker</a></div><div><br></div>

<div>This is meant to have 2 nginx chained one to the other.</div><div>nginx#1 has  proxy_pass to nginx#2 while using keepalives</div><div>nginx#2 has mass_chunk on, which for this extreme test will chunk a 15M file into 10 bytes chunk (in different tcp packets or not).</div>

<div><br></div><div>I wasn't able to reproduce the segfault, but when I'm using </div><div>proxy_buffering off it works fine.</div><div><br></div><div>But, when I'm using proxy_buffering and proxy_caching (with sendfile on, and directio 2M).</div>

<div>It seems like readv() returns 0, but finalize_request returns NGX_AGAIN.</div><div><br></div><div>I'm not sure that test is relevant, and what I'm really benching here. And if it might not be the tcp layer directly?</div>

<div>But maybe the failure should be explicit.</div><div><br></div><div>The behavior was the same with or without the patch. I've also tried various combination of proxy buffers, sendfile, directio.</div><div><br></div>

<div>Any thoughts ?</div><div><br></div><div>Thank you!</div><div>Matthieu.</div><div><div><br><div class="gmail_quote">On Fri, Oct 14, 2011 at 12:43 PM, Maxim Dounin <span dir="ltr"><<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hello!<br>
<div class="im"><br>
On Wed, Oct 12, 2011 at 09:22:41PM +0400, Maxim Dounin wrote:<br>
<br>
> Hello!<br>
><br>
> On Wed, Oct 12, 2011 at 09:32:41AM -0700, Matthieu Tourne wrote:<br>
><br>
> > On Wed, Oct 12, 2011 at 5:20 AM, Maxim Dounin <<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>> wrote:<br>
> ><br>
> > > Hello!<br>
> > ><br>
> > > On Tue, Oct 11, 2011 at 07:53:36PM -0700, Matthieu Tourne wrote:<br>
> > ><br>
> > > > Hi all,<br>
> > > ><br>
> > > > After turning on keepalives, we've been seeing one crash pretty<br>
> > > > consistently.<br>
> > > > We're running nginx 1.1.5 and here is the backtrace :<br>
<br>
[...]<br>
<br>
</div><div class="im">> Ok, it looks like I'm right and all buffers are in busy chain.<br>
> Likely this happens due to upstream sending response in many small<br>
> chunks.<br>
><br>
> I'll try to reproduce it here and provide proper fix.<br>
<br>
</div>Please try the attached patch.<br>
<font color="#888888"><br>
Maxim Dounin<br>
</font><br>_______________________________________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a><br></blockquote></div><br></div></div>