<div dir="auto">Ok, thanks.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Maxim Dounin <<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>> ezt írta (időpont: 2019. dec. 19., Csü 13:44):<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<br>
On Thu, Dec 19, 2019 at 11:45:28AM +0300, Ruslan Ermilov wrote:<br>
<br>
> On Wed, Dec 18, 2019 at 06:35:35PM +0100, Gábor Boskovits wrote:<br>
> > Hello Maxim,<br>
> > <br>
> > Maxim Dounin <<a href="mailto:mdounin@mdounin.ru" target="_blank" rel="noreferrer">mdounin@mdounin.ru</a>> ezt írta (időpont: 2019. dec. 18.,<br>
> > Sze, 18:24):<br>
> > ><br>
> > > Hello!<br>
> > ><br>
> > > On Mon, Dec 16, 2019 at 03:02:37PM +0100, Gábor Boskovits wrote:<br>
> > ><br>
> > > > On <a href="http://berlin.guix.gnu.org" rel="noreferrer noreferrer" target="_blank">berlin.guix.gnu.org</a> we observed a regression upon upgrading nginx<br>
> > > > to 1.17.5. The problem was, when pipelining request to a proxy using<br>
> > > > tls, we suddenly started to get 408 client timeouts, manifesting in<br>
> > > > dropped connections. Currently we worked around the issue by<br>
> > > > downgrading to 1.17.4. I have collected some information about the<br>
> > > > problem here:<br>
> > > > <a href="https://gitlab.com/g_bor/fix-nginx-tls" rel="noreferrer noreferrer" target="_blank">https://gitlab.com/g_bor/fix-nginx-tls</a><br>
> > > > It contains the logs from the good and the bad version, a full nginx<br>
> > > > config, some info about how nginx was built. I managed to bisect the<br>
> > > > problem down to changeset 9d2ad2fb4423, which introduced the problem.<br>
> > > > Any help in further debuggin this would be greatly appreciated.<br>
> > ><br>
> > > Thanks for the report, it indeed looks like a bug introduced<br>
> > > in 9d2ad2fb4423.<br>
> > ><br>
> > > The problem is that c->read->handler is overwritted when switching<br>
> > > to the next pipelined request, ngx_ssl_next_read_handler() is not<br>
> > > called, and c->read->ready remains not set.  I'll take a look how<br>
> > > to fix it properly.<br>
> > <br>
> > Thanks for having a look.<br>
> > <br>
> > Please keep me updated when the fix gets applied.<br>
> > <br>
> > ><br>
> > > Note well that a simpler workaround might be to build nginx with<br>
> > > the --with-cc-opt="-DNGX_HAVE_FIONREAD=0" configure argument, this<br>
> > > will disable the code in question on systems not using kqueue.<br>
> > ><br>
> > <br>
> > Thanks for the information, we do not yet support any systems with kqueue yet,<br>
> > so this might work temporarily.<br>
> <br>
> Maxim means e.g. Linux when he says "on systems not using kqueue".<br>
> There's no such problem on systems with kqueue, e.g. FreeBSD.<br>
<br>
Not really.  I meant the workaround in question won't work on <br>
systems with kqueue.  The problem itself is present with kqueue as <br>
well.<br>
<br>
That is, the workaround in question will work fine on Linux, but <br>
won't work on FreeBSD (unless you configure nginx to use select or <br>
poll, but probably this isn't a good idea).<br>
<br>
-- <br>
Maxim Dounin<br>
<a href="http://mdounin.ru/" rel="noreferrer noreferrer" target="_blank">http://mdounin.ru/</a><br>
_______________________________________________<br>
nginx-devel mailing list<br>
<a href="mailto:nginx-devel@nginx.org" target="_blank" rel="noreferrer">nginx-devel@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-devel" rel="noreferrer noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-devel</a></blockquote></div>