Try replace

     request.body = copystream_progress(request) ### stores request body   
  
    
with

    try:
    request.body = copystream_progress(request) ### stores request body     
    except IOError:
raise HTTP(400,"Bad Request - HTTP body is incomplete")
    
in main.py. Does the problem goes away? I am afraid any response we 
generate will propagator to the web server and it will log some error on 
failure to respond to the client.

On Monday, 16 July 2012 21:28:14 UTC-5, Bruce Wade wrote:
>
> I personally think if we are just going to leave it as it, then we should 
> not have it create an error ticket as I have had plenty of tickets created 
> by this.
>
> On Mon, Jul 16, 2012 at 7:13 PM, Massimo Di Pierro <
> massimo.dipie...@gmail.com> wrote:
>
>> 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
>>>>>
>>>>  -- 
>>  
>>  
>>  
>>
>
>
>
> -- 
> -- 
> Regards,
> Bruce Wade
> http://ca.linkedin.com/in/brucelwade
> http://www.wadecybertech.com
> http://www.fittraineronline.com - Fitness Personal Trainers Online
> http://www.warplydesigned.com
>
>

-- 



Reply via email to