I've been hacking away at this for a week to no avail. I'm hoping someone here can help me. I have been moving a site to a new server. It is a Dell box running Ubuntu 10.04.2 LTS. The application works fine with all tested browsers except IE7. Unfortunately most of the client's users are using IE7.
When I submit a form via POST that is sufficiently long the server responds, but in the case of IE7 the server sends an ACK, RST packet and IE7 dies. This didn't happen on our old server (still in production) and doesn't happen with Firefox 3.6, IE8, Safari 5, etc. I've spent the past day learning Wireshark and watching packets go by trying to figure out what is going on. There is no error or debug notification within my application. I have created a simple demonstration program that shows this behavior. I am using python 2.6.5, set up a fresh virtualenv with no site packages and ran the hello world tutorial from: http://docs.pylonsproject.org/projects/pylons_framework/dev/gettingstarted.html I installed the most recent pylons using easy_install and it installed the standard set of packages. Interestingly right now nose is broken in easy_install, but I downloaded it myself and got the rest of the installation done. Once I had that running and verified I created a hello.mako template that looks like this: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/ TR/html4/strict.dtd"> <html> <head> <title>Minimal test page</title> </head> <body> <h1>FOO</h1> <form name="input" action="/hello/index" method="post"> <input type="hidden" id="foo0" name="fooname0" value="somevaluevalue0"/ > <input type="hidden" id="foo1" name="fooname1" value="somevaluevalue1"/ > <input type="hidden" id="foo2" name="fooname2" value="somevaluevalue2"/ > <input type="hidden" id="foo3" name="fooname3" value="somevaluevalue3"/ > <input type="hidden" id="foo4" name="fooname4" value="somevaluevalue4"/ > <input type="hidden" id="foo5" name="fooname5" value="somevaluevalue5"/ > <input type="hidden" id="foo6" name="fooname6" value="somevaluevalue6"/ > <input type="hidden" id="foo7" name="fooname7" value="somevaluevalue7"/ > <input type="hidden" id="foo8" name="fooname8" value="somevaluevalue8"/ > <input type="hidden" id="foo9" name="fooname9" value="somevaluevalue9"/ > <input type="hidden" id="foo10" name="fooname10" value="somevaluevalue10"/> <input type="hidden" id="foo11" name="fooname11" value="somevaluevalue11"/> <input type="hidden" id="foo12" name="fooname12" value="somevaluevalue12"/> <input type="hidden" id="foo13" name="fooname13" value="somevaluevalue13"/> <input type="hidden" id="foo14" name="fooname14" value="somevaluevalue14"/> <input type="hidden" id="foo15" name="fooname15" value="somevaluevalue15"/> <input type="hidden" id="foo16" name="fooname16" value="somevaluevalue16"/> <input type="hidden" id="foo17" name="fooname17" value="somevaluevalue17"/> <input type="hidden" id="foo18" name="fooname18" value="somevaluevalue18"/> <input type="hidden" id="foo19" name="fooname19" value="somevaluevalue19"/> <input type="hidden" id="foo20" name="fooname20" value="somevaluevalue20"/> <input type="hidden" id="foo21" name="fooname21" value="somevaluevalue21"/> <input type="hidden" id="foo22" name="fooname22" value="somevaluevalue22"/> <input type="hidden" id="foo23" name="fooname23" value="somevaluevalue23"/> <input type="hidden" id="foo24" name="fooname24" value="somevaluevalue24"/> <input type="hidden" id="foo25" name="fooname25" value="somevaluevalue25"/> <input type="hidden" id="foo26" name="fooname26" value="somevaluevalue26"/> <input type="hidden" id="foo27" name="fooname27" value="somevaluevalue27"/> <input type="hidden" id="foo28" name="fooname28" value="somevaluevalue28"/> <input type="hidden" id="foo29" name="fooname29" value="somevaluevalue29"/> <input type="hidden" id="foo30" name="fooname30" value="somevaluevalue30"/> <input type="hidden" id="foo31" name="fooname31" value="somevaluevalue31"/> <input type="hidden" id="foo32" name="fooname32" value="somevaluevalue32"/> <input type="hidden" id="foo33" name="fooname33" value="somevaluevalue33"/> <input type="hidden" id="foo34" name="fooname34" value="somevaluevalue34"/> <input type="hidden" id="foo35" name="fooname35" value="somevaluevalue35"/> <input type="hidden" id="foo36" name="fooname36" value="somevaluevalue36"/> <input type="hidden" id="foo37" name="fooname37" value="somevaluevalue37"/> <input type="hidden" id="foo38" name="fooname38" value="somevaluevalue38"/> <input type="hidden" id="foo39" name="fooname39" value="somevaluevalue39"/> <input type="hidden" id="foo40" name="fooname40" value="somevaluevalue40"/> <input type="hidden" id="foo41" name="fooname41" value="somevaluevalue41"/> <input type="hidden" id="foo42" name="fooname42" value="somevaluevalue42"/> <input type="hidden" id="foo43" name="fooname43" value="somevaluevalue43"/> <input type="hidden" id="foo44" name="fooname44" value="somevaluevalue44"/> <input type="hidden" id="foo45" name="fooname45" value="somevaluevalue45"/> <input type="hidden" id="foo46" name="fooname46" value="somevaluevalue46"/> <input type="hidden" id="foo47" name="fooname47" value="somevaluevalue47"/> <input type="hidden" id="foo48" name="fooname48" value="somevaluevalue48"/> <input type="hidden" id="foo49" name="fooname49" value="somevaluevalue49"/> <input type="hidden" id="foo50" name="fooname50" value="somevaluevalue50"/> <input type="hidden" id="foo51" name="fooname51" value="somevaluevalue51"/> <input type="hidden" id="foo52" name="fooname52" value="somevaluevalue52"/> <input type="hidden" id="foo53" name="fooname53" value="somevaluevalue53"/> <input type="hidden" id="foo54" name="fooname54" value="somevaluevalue54"/> <input type="hidden" id="foo55" name="fooname55" value="somevaluevalue55"/> <input type="hidden" id="foo56" name="fooname56" value="somevaluevalue56"/> <input type="hidden" id="foo57" name="fooname57" value="somevaluevalue57"/> <input type="hidden" id="foo58" name="fooname58" value="somevaluevalue58"/> <input type="hidden" id="foo59" name="fooname59" value="somevaluevalue59"/> <input type="hidden" id="foo60" name="fooname60" value="somevaluevalue60"/> <input type="hidden" id="foo61" name="fooname61" value="somevaluevalue61"/> <input type="hidden" id="foo62" name="fooname62" value="somevaluevalue62"/> <input type="hidden" id="foo63" name="fooname63" value="somevaluevalue63"/> <input type="hidden" id="foo64" name="fooname64" value="somevaluevalue64"/> <input type="hidden" id="foo65" name="fooname65" value="somevaluevalue65"/> <input type="hidden" id="foo66" name="fooname66" value="somevaluevalue66"/> <input type="hidden" id="foo67" name="fooname67" value="somevaluevalue67"/> <input type="hidden" id="foo68" name="fooname68" value="somevaluevalue68"/> <input type="hidden" id="foo69" name="fooname69" value="somevaluevalue69"/> <input type="hidden" id="foo70" name="fooname70" value="somevaluevalue70"/> <input type="hidden" id="foo71" name="fooname71" value="somevaluevalue71"/> <input type="hidden" id="foo72" name="fooname72" value="somevaluevalue72"/> <input type="hidden" id="foo73" name="fooname73" value="somevaluevalue73"/> <input type="hidden" id="foo74" name="fooname74" value="somevaluevalue74"/> <input type="hidden" id="foo75" name="fooname75" value="somevaluevalue75"/> <input type="hidden" id="foo76" name="fooname76" value="somevaluevalue76"/> <input type="hidden" id="foo77" name="fooname77" value="somevaluevalue77"/> <input type="hidden" id="foo78" name="fooname78" value="somevaluevalue78"/> <input type="hidden" id="foo79" name="fooname79" value="somevaluevalue79"/> <input type="hidden" id="foo80" name="fooname80" value="somevaluevalue80"/> <input type="hidden" id="foo81" name="fooname81" value="somevaluevalue81"/> <input type="hidden" id="foo82" name="fooname82" value="somevaluevalue82"/> <input type="hidden" id="foo83" name="fooname83" value="somevaluevalue83"/> <input type="hidden" id="foo84" name="fooname84" value="somevaluevalue84"/> <input type="hidden" id="foo85" name="fooname85" value="somevaluevalue85"/> <input type="hidden" id="foo86" name="fooname86" value="somevaluevalue86"/> <input type="hidden" id="foo87" name="fooname87" value="somevaluevalue87"/> <input type="hidden" id="foo88" name="fooname88" value="somevaluevalue88"/> <input type="hidden" id="foo89" name="fooname89" value="somevaluevalue89"/> <input type="hidden" id="foo90" name="fooname90" value="somevaluevalue90"/> <input type="hidden" id="foo91" name="fooname91" value="somevaluevalue91"/> <input type="hidden" id="foo92" name="fooname92" value="somevaluevalue92"/> <input type="hidden" id="foo93" name="fooname93" value="somevaluevalue93"/> <input type="hidden" id="foo94" name="fooname94" value="somevaluevalue94"/> <input type="hidden" id="foo95" name="fooname95" value="somevaluevalue95"/> <input type="hidden" id="foo96" name="fooname96" value="somevaluevalue96"/> <input type="hidden" id="foo97" name="fooname97" value="somevaluevalue97"/> <input type="hidden" id="foo98" name="fooname98" value="somevaluevalue98"/> <input type="hidden" id="foo99" name="fooname99" value="somevaluevalue99"/> <input type="submit" value="Submit" /> </form> </body> </html> and modified the HelloController in hello.py thusly: import logging from pylons import request, response, session, tmpl_context as c, url from pylons.controllers.util import abort, redirect from helloworld.lib.base import BaseController, render log = logging.getLogger(__name__) class HelloController(BaseController): def index(self): # Return a rendered template #return render('/hello.mako') # or, return a string print " in hello index" return render ('hello.mako') That is all it takes to break IE7. I would be very grateful for help resolving this. -- You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
