Bug 35553

Summary: new-run-webkit-tests doesn't clean up drivers properly
Product: WebKit Reporter: Dirk Pranke <dpranke>
Component: Tools / TestsAssignee: Dirk Pranke <dpranke>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, cjerdonek, eric, ojan
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   
Attachments:
Description Flags
patch to spawn and stop dumprendertree/test_shell properly eric: review+

Description Dirk Pranke 2010-03-01 16:34:02 PST
It turns out that there's a bug in Python ( http://bugs.python.org/issue2320 ) where subprocess.Popen() may get corrupted if you call it from multiple threads. The result is that trying to close the child file descriptors may not work properly, and as a result we end up not cleaning up test_shell / DumpRenderTree properly when we stop it. Workaround is to call subprocess.Popen() with close_fds=True .
Comment 1 Dirk Pranke 2010-03-01 16:41:08 PST
Created attachment 49764 [details]
patch to spawn and stop dumprendertree/test_shell properly
Comment 2 Eric Seidel (no email) 2010-03-01 16:53:24 PST
Comment on attachment 49764 [details]
patch to spawn and stop dumprendertree/test_shell properly

We really need to wrap this stuff in some helper functions.  But this is better than what we had.
Comment 3 Dirk Pranke 2010-03-01 16:54:50 PST
Yeah, I think I can refactor the common driver code up into base.py ; I will look at doing that in a separate change.
Comment 4 Adam Barth 2010-03-01 16:55:24 PST
I feel like this code is copy/pasted twice.  Can't we factor it into a common base class?  (Not a requirement before landing this patch.)
Comment 5 Dirk Pranke 2010-03-01 17:07:21 PST
Committed r55388: <http://trac.webkit.org/changeset/55388>
Comment 6 Dirk Pranke 2010-03-01 17:29:52 PST
Committed r55391: <http://trac.webkit.org/changeset/55391>