The more I think about this the more I am convinced this is not of concern.

It is very well possible that a slow client sends you the header of a 
request, then closes the connection before finishing (perhaps the user 
killed the page, or stopped the browser while doing an upload or something 
slow).

At some point web2py fails because of this and apache logs it. Where web2py 
fails depends on the exact timing but it likely to fail while copying the 
input stream. Which is the error you get.

I think it correct to log these events.

We could catch this specific error and have a more descriptive error but - 
while this is the place which is the most likely to fail - the failure 
could be somewhere else and we would not be catching the same error.

I do not think this should be changed and I do not think this should be a 
concern. It tells you some uses have a slow connection.

What do others think?


On Monday, July 16, 2012 7:12:16 PM UTC-5, Brian M wrote:
>
> I'm on Version 1.99.4 (2011-12-22 11:20:45) stable.  Yeah it is a bit old 
> - at this point waiting for 2.0 stable to come out.
>
> On Monday, July 16, 2012 9:58:53 AM UTC-5, Massimo Di Pierro wrote:
>>
>> Which web2py version? The error is from copying the request body into a 
>> tmp object in web2py. Looks like the request declares a size in the header 
>> but it is shorter (truncated).
>>
>>
>>
>> On Friday, 13 July 2012 16:27:51 UTC-5, Brian M wrote:
>>>
>>> I'm having ongoing problems with IOErrors from one of my web2py apps 
>>> deployed on Windows with Apache & mod_wsgi.  Looks to me like the error 
>>> maybe happening at a lower level before it even gets to my app code?
>>>
>>> Traceback (most recent call last):
>>> File "C:\\dashboard\\web2py\\gluon\\main.py", line 447, in wsgibase
>>> parse_get_post_vars(request, environ)
>>> File "C:\\dashboard\\web2py\\gluon\\main.py", line 275, in 
>>> parse_get_post_vars
>>> request.body = copystream_progress(request) ### stores request body
>>> File "C:\\dashboard\\web2py\\gluon\\main.py", line 143, in 
>>> copystream_progress
>>> copystream(source, dest, size, chunk_size)
>>> File "C:\\dashboard\\web2py\\gluon\\fileutils.py", line 374, in 
>>> copystream
>>> data = src.read(size)
>>> IOError: request data read error
>>>
>>

-- 



Reply via email to