The attached patch has been commitedfor TearDownProcess, to handle various cases of TestRunner hanging due to stray child process. The bugzilla ticket that handles this case is #4996. The symptom was typically that a test execution started a child process, but failed to register that process. This left the process hanging, sometimes in a utrace call, causing the next invocation of tearDown() to hang on the waitAll request because the wait was remaining in effect due to a stuck process. The attached patch *does* open the possibility that a stray process may remain after tearDown() has been executed if e.g. a process termination causes another process to be created, etc... However, that will not cause a testsuite hang. It is also not expected to pose a problem with the further execution of the testsuite (in fact, it is very likely to get cleaned up during the tearDown() of the next test). The change has been tested multiple times to verify that it does not cause any regressions. Cheers, Kris