[twill] Temporary Failure in Name Resolution

Titus Brown titus at caltech.edu
Wed Apr 11 09:46:49 PDT 2007


-> Chris Abraham wrote:
-> > Titus,
-> > We've been doing some testing here which doesn't confirm what you've
-> > been finding.

I never reproduced the problem on my own, so I didn't know whether or
not the urllib2 fix fixed it -- sorry for the confusion!

...

-> Ok,we think we've found the problem.  In twill/utils.py line 287 we have:
-> process = subprocess.Popen(_tidy_cmd, stdin=subprocess.PIPE,
->                            stdout=subprocess.PIPE,
->                            stderr=subprocess.PIPE, bufsize=0, 		
->                            shell=False)
-> 
-> This line gets called when use_tidy is set to True.  If this line fails
-> (like when _tidy_cmd can't be found), an exception is caught and then
-> the program continues (unless require_tidy is True).  This also leaves
-> three new PIPE files open and they never get closed.
-> 
-> Since use_tidy is True and require_tidy is False by default, if
-> _tidy_cmd does not exist, there will be an escalating number of open
-> files for each "go" statement in twill.
-> 
-> For now, this can be fixed by setting require_tidy to True or use_tidy
-> to False at the beginning of a script.  But really, we should find out
-> why there are PIPEs left open when subprocess.Popen fails.

I'm actually working on a subprocess patch for Python, so I can go
figure this out now that you've tracked it down.  Thanks for tracking
this down!

cheers,
--titus



More information about the twill mailing list