Il giorno 05/set/2011, alle ore 05:05, Victor Lin ha scritto:

> Hi, To make it easier to reproduce the bug, I just rewrite the test files, 
> you can clone the hg repo here. 
> https://bitbucket.org/victorlin/uwsgi_bug/
> 
> To run the uwsgi, you can type 
> 
>     uwsgi --yaml uwsgi.yaml
> 
> You need to include the nginx config, too
> 
>     include /path/to/uwsgi_bug/*.nx.conf;
> 
> With the running wsgi app under uwsgi with nginx, you can then run
> 
>     send_req.py
> 
> It reads my_req.txt and send to the nginx server. As result, you can see
> 
>       Traceback (most recent call last):
>         File "./wsgi.py", line 5, in application
>               print req.str_POST
>         File "/home/nowin/lib/python2.7/webob/request.py", line 528, in 
> str_POST
>               return self._str_POST
>         File "/home/nowin/lib/python2.7/webob/request.py", line 558, in 
> _str_POST
>               keep_blank_values=True)
>         File "/usr/local/lib/python2.7/cgi.py", line 508, in __init__
>               self.read_multi(environ, keep_blank_values, strict_parsing)
>         File "/usr/local/lib/python2.7/cgi.py", line 632, in read_multi
>               environ, keep_blank_values, strict_parsing)
>         File "/usr/local/lib/python2.7/cgi.py", line 510, in __init__
>               self.read_single()
>         File "/usr/local/lib/python2.7/cgi.py", line 647, in read_single
>               self.read_lines()
>         File "/usr/local/lib/python2.7/cgi.py", line 669, in read_lines
>               self.read_lines_to_outerboundary()
>         File "/usr/local/lib/python2.7/cgi.py", line 697, in 
> read_lines_to_outerboundary
>               line = self.fp.readline(1<<16)
>         File "/home/nowin/lib/python2.7/webob/request.py", line 1292, in 
> readline
>               self._check_disconnect()
>         File "/home/nowin/lib/python2.7/webob/request.py", line 1311, in 
> _check_disconnect
>               + "(%d more bytes were expected)" % self.remaining
>       webob.request.DisconnectionError: The client disconnected while sending 
> the POST/PUT body (336 more bytes were expected)
> 
> If you want to see the missing \n ouput, just replace "If True:" in wsgi.py 
> with "If False:", the output should be
> 
>     '------WebKitFormBoundaryAQRPBQgGHAhs61hx\r'
>     'Content-Disposition: form-data; name="image"; filename="log.txt"\r\n'
>     'Content-Type: text/plain\r\n'
>     '\r\n'
>     'hello\r\n'
>     '------WebKitFormBoundaryAQRPBQgGHAhs61hx\r\n'
>     'Content-Disposition: form-data; name="name"\r\n'
>     '\r\n'
>     '\r\n'
>     '------WebKitFormBoundaryAQRPBQgGHAhs61hx\r\n'
>    'Content-Disposition: form-data; name="submit"\r\n'
>     '\r\n'
>     'Submit\r\n'
>     '------WebKitFormBoundaryAQRPBQgGHAhs61hx--\r\n'
> 
> As you can see the tail \n is missing in first line. 
> 
> The versions I have tested are uWSGI 0.9.9.1 and uWSGI 0.9.8. The version of 
> Nginx is 1.0.4.  If you need further information, just tell me. I hope this 
> could be helpful for improving uWSGI :)
> 
> Thanks.
> Victor Lin.


No way to reproduce the error :(

While i try to manage it, can you confirm that enabling post-buffering solves 
the issue ? (you should try with both tiny and big files)

Thanks again

--
Roberto De Ioris
http://unbit.it
JID: [email protected]

_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi

Reply via email to