<div dir="ltr">Hi all,<div><br></div><div>I'd like to ask if there are  plans somebody to fix the issue with wrong <span style="color:rgb(80,0,80)">$bytes_sent</span><span style="color:rgb(80,0,80)">  i</span>n aio threads mode. If no, is there a chance to get some hit or direction, so I can try fix it myself and contribute to better and bug free nginx?</div><div><br></div><div>Thanks in advance,</div><div><br></div><div>George</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, May 15, 2015 at 11:37 PM, Valentin V. Bartenev <span dir="ltr"><<a href="mailto:vbart@nginx.com" target="_blank">vbart@nginx.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class=""><div class="h5">On Friday 15 May 2015 17:45:44 George . wrote:<br>
> Hi,<br>
><br>
> I found following bug in  nginx-1.8.0:<br>
><br>
> if   aio is configured with threads support - sometime (one in  thousands<br>
> requests)  $bytes_sent contains only length of the header. I'm attaching my<br>
> nginx.conf, build params and simple python script I'm using the reproduce<br>
> this issue.<br>
><br>
> Here is the output of test script when the problem appears:<br>
> .<br>
> .<br>
> .<br>
> received: 101700000 from access_log : 101700000 on 26 iteration<br>
> 127.0.0.1 - - [15/May/2015 17:27:45] "GET /test HTTP/1.0" 200 -<br>
> 127.0.0.1 - - [15/May/2015 17:27:47] "GET /test HTTP/1.0" 200 -<br>
> received: 101700000 from access_log : 101700000 on 27 iteration<br>
> 127.0.0.1 - - [15/May/2015 17:27:58] "GET /test HTTP/1.0" 200 -<br>
> 127.0.0.1 - - [15/May/2015 17:28:00] "GET /test HTTP/1.0" 200 -<br>
> received: 101700000 from access_log : 101690000 on 28 iteration<br>
> test failed!!<br>
><br>
> also in access_log file"<br>
><br>
> .<br>
> .<br>
> .<br>
> 10170 GET /test HTTP/1.1<br>
> 10170 GET /test HTTP/1.1<br>
> 10170 GET /test HTTP/1.1<br>
> 170 GET /test HTTP/1.1<br>
> 10170 GET /test HTTP/1.1<br>
> 10170 GET /test HTTP/1.1<br>
> .<br>
> .<br>
><br>
<br>
</div></div>Thank you for the report.<br>
<br>
It caused by a race condition between sendfile() task completion<br>
and connection close notifications.  If the latter comes first,<br>
nginx logs that client prematurely closed connection.<br>
<br>
Unfortunately, it's not easy to fix.  I'll look at it later.<br>
<br>
  wbr, Valentin V. Bartenev<br>
<br>
_______________________________________________<br>
nginx-devel mailing list<br>
<a href="mailto:nginx-devel@nginx.org">nginx-devel@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-devel" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-devel</a><br>
</blockquote></div><br></div></div>