I had to do something perverted to save the project: I make a
local redirect to a PHP script, which uses readfile
<http://de.php.net/manual/en/function.readfile.php>. No problem
there. (Retrieving the original file name and content-type in
web2py.)

It's only rocket. And it was reported by a co-worker and a
customer.

One silly idea: What if Rocket has problems with some
proxies/firewalls? The customer has a broken proxy which caused
different problems for other projects.

I don't know about any proxy at work, but it could be that they
reroute everything on port 80 through a proxy without me knowing.
(Ignore the non-technical implications of this assumption.)


Massimo Di Pierro <massimo.dipie...@gmail.com> wrote:
> I just tried with chrome and osx and I cannot reproduce the problem (I
> tried with a 166MB file).
> 
> TIm, who made rocket, also claims he tried this extensively on windows
> and cannot reproduce the problem.
> 
> I do not doubt you experience this issue. In order to try isolate
> better what may be causing it... is there anybody else having this
> problem with large files download?
> 
> Massimo
> 
> On Jun 20, 2:53 am, Stefan Scholl <ste...@no-spoon.de> wrote:
>> Sever OS: Linux (remote, behind Apache 2.2), Windows XP (local,
>> direct)
>> Client OS: Windows XP
>> Browser: Firefox 4, Internet Explorer 8
>> Rocket version: 1.2.2
>>
>> All combinations break the download for big files (33 MiB),
>> regardless of chunk_size or server.
>>
>> Only Internet Explorer 8 (all servers) had problems with small
>> files (160 KiB), before increasing chunk_size for the streamed
>> download.
>>
>> Made the changes to rocket.py (1.2.2), restarted web2py, and the
>> download was still broken.
>>
>> By the way: One of the new examples (Dog and owner registration,
>> with picture upload/download) doesn't use streamed download. It
>> reads the whole file and sends it. This method doesn't work for
>> big files, too.
>>
>> Massimo Di Pierro <massimo.dipie...@gmail.com> wrote:
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> > Can you make a list of combinations
>>
>> > browser name, version, server os, web server
>> > FF, 4, Windows 7, Rocket
>> > ...
>>
>> > for which you experienced the problem?
>>
>> > can you also try the following:
>> > 1) in the rocket.py code replace
>>
>> >   'HTTP/1.1 ' with 'HTTP/1.0 '
>>
>> > and replace
>>
>> >   environ['SERVER_PROTOCOL'] = request['protocol']
>>
>> > with
>>
>> >   environ['SERVER_PROTOCOL'] = "1.0"
>>
>> > Looks like acts as if the protocol of response is the same as the
>> > request but always declare the protocol of the response to be 1.1 even
>> > if the request is 1.0. This may result in keep-alive connections
>> > ignored by the browser. Perhaps this is part of the problem?
>>
>> > On Jun 17, 1:35 pm, Stefan Scholl <ste...@no-spoon.de> wrote:
>> >> To Massimo and the list/group:
>>
>> >> You asked on Reddit if the only constant is the browser. No it
>> >> isn't. But it was the browser which had the problem first, with
>> >> smaller files.
>>
>> >> For smaller files it was enough to raise the chunk_size. IE8 is
>> >> slow, maybe this is the reason?
>>
>> >> Firefox 4 failed when I tried to download a 33 MiB file remotely.
>> >> IE8 failed for anything above 64 KiB on localhost.
>>
>> >> It's almost as if Rocket is so fast because it sends without
>> >> regard for any receiver. Direct (localhost) or behind a proxy
>> >> (Apache 2.2 on the remote Linux server).
>> >> Don't know how this could happen. HTTP isn't ZModem. ;-)
>>
>> >> Stefan Scholl <ste...@no-spoon.de> wrote:
>> >> > I have a parameters_XXX.py file from the normal web2py (with
>> >> > rocket) and used the same IP and port with anyserver.py+Tornado
>> >> > (and the other one stopped, of course).
>>
>> >> > Tested with web2py 1.91.6. Were there any changes regarding this?
>>
>> >> > (I'm still very reluctant to upgrade this project.)
>>
>> >> > Massimo Di Pierro <massimo.dipie...@gmail.com> wrote:
>> >> >> Try this:
>>
>> >> >> python
>> >> >>>>> from gluon.main import save_password
>> >> >>>>> save_password(raw_input('admin password: '),XXX)
>>
>> >> >> This will create a parameters_XXX.py file. It must be in the main
>> >> >> web2py folder. Caveats, the admin interface is disabled if you are not
>> >> >> form localhost and you are not using https.
>> >> >> Hope this helps. Hope to have you back on the mailing list.
>>
>> >> >> On Jun 17, 8:43 am, Stefan Scholl <ste...@no-spoon.de> wrote:
>> >> >>> Now I can't access the admin interface, because the password
>> >> >>> isn't set. (It isn't reading the stored password.)
>>
>> >> >>> Stefan Scholl <ste...@no-spoon.de> wrote:
>> >> >>> > OK, it was Rocket.
>>
>> >> >>> > Tested it with the old web2py and Tornado 1.2.1 via anyserver.py
>> >> >>> > and the download is OK.
>>
>> >> >>> > Stefan Scholl <stefan.sch...@gmail.com> wrote:
>> >> >>> >> The higher value for chunk_size didn't work with a 33 MiB file. 
>> >> >>> >> Even
>> >> >>> >> in Firefox 4.
>> >> >>> >> So I tried 1.96.4 (Rocket 1.2.2) on Windows XP.
>>
>> >> >>> >> Made a new and simple app (dtest). The download there uses
>> >> >>> >> "response.download(request,db)" as well.
>>
>> >> >>> >> 1 simple table: db.define_table('stuff', Field('file', 'upload'))
>>
>> >> >>> >> Upload of the 33 MiB file via db admin, content listed on
>> >> >>> >>http://127.0.0.1:8001/dtest/default/data/select/stuff(default
>> >> >>> >> function "data" with "return dict(form=crud())". Download with
>> >> >>> >> Internet Explorer 8 (after removing the tag that switches to 
>> >> >>> >> "Chrome
>> >> >>> >> Frame", to have a realistic test like "normal" users).
>>
>> >> >>> >> Download was broken. A few KiB were missing. This was on localhost.
>> >> >>> >> Remote tests have even worse results.
>>
>> >> >>> >> On 6 Mai, 17:51, Massimo Di Pierro <massimo.dipie...@gmail.com> 
>> >> >>> >> wrote:
>> >> >>> >>> Can you try 1.95.1
>>
>> >> >>> >>> On May 6, 6:03 am, Stefan Scholl <stefan.sch...@gmail.com> wrote:
>>
>> >> >>> >>> > The classicdownloadfunction:
>>
>> >> >>> >>> > defdownload():
>> >> >>> >>> > return response.download(request, db)
>>
>> >> >>> >>> > I'm developing on localhost (127.0.0.1, no SSL) and one strange 
>> >> >>> >>> > thing
>> >> >>> >>> > happened: Downloads in IE8 (Windows XP) were all corrupt/broken 
>> >> >>> >>> > if
>> >> >>> >>> > they weren't below 64KiB in size. Very easy to see with large 
>> >> >>> >>> > images.
>>
>> >> >>> >>> > Using a higher value for the argument 'chunk_size' solves this
>> >> >>> >>> > problem, up to this new maximum.
>>
>> >> >>> >>> > web2py 1.91.6
>>
>> >> --
>> >> Web (en):http://www.no-spoon.de/-*-Web (de):http://www.frell.de/
>> >> <!--[if IE 6]><script>for(x in document.open);</script><![endif]-->
>>
>> --
>> Web (en):http://www.no-spoon.de/-*- Web (de):http://www.frell.de/
>> <!--[if IE 6]><script>for(x in document.open);</script><![endif]-->
> 


-- 
Web (en): http://www.no-spoon.de/ -*- Web (de): http://www.frell.de/
<!--[if IE 6]><script>for(x in document.open);</script><![endif]-->

Reply via email to