[Lldb-commits] [PATCH] 5 minute timeout for tests

Zachary Turner zturner at google.com
Mon Dec 1 15:50:38 PST 2014


I looked at this some more, and I'm not sure if there's really a good
solution.  I looked at the source code for psutil, and it also doesn't work
correctly in case a process in the middle of the chain dies.  I don't think
TASKKILL /T does either.  Does the original patch work with this case?
 "timeout
5m %s %s/dotest.py %s -p %s %s" will kill python after 5 minutes, but will
it also kill any inferiors, and descendants of those?  And what if you have
A > B > C, and B dies, then you kill A's tree?

If it's actually important to kill the tree then I think the only way to
really do it correctly is with by launching the process in a process group
("job" on windows).  If it's not important then it seems like just running
the process in a separate thread with a timeout would be sufficient.

On Mon Dec 01 2014 at 3:27:45 PM Zachary Turner <zturner at google.com> wrote:

> On Mon Dec 01 2014 at 3:19:09 PM Vince Harron <vharron at google.com> wrote:
>
>> Currently when the tests lock up on the build server, the build script
>> kills the tests and gets *no* test results.  That means that if a bug goes
>> in that causes a test to hang, we don't get results for *any* tests.
>>
>> Killing the individual test causes it to show up as a FAIL (Chaoren might
>> change this to show result as "TIMEOUT")
>>
>
> I see, this wasn't clear before.  I understood that the bots would already
> kill individual tests that hanged, and not fail the entire test suite.
>
>
>
>>
>> It's not really about what tests are hanging today, it's that some day a
>> test will hang.  When that happens, do we want to lose all test results as
>> a result?  Look at the Linux buildbot history.  Many runs have no test
>> results at all.  Which test caused the lockup?  I have no idea.
>>
>> > Both of those options are really undesirable in my opinion.
>>
>> We can make the test timeout be an OSX/Linux thing only for now...
>>
> How bad would it be to just use psutil?  We could integrate it with the
> build so that it builds psutil when you build lldb, and deploys it to the
> same place that lldb's python module goes so that it's automatically in the
> PYTHONPATH.
>
> Eventually we're going to need this on other platforms too, and it
> benefits everyone if we can share code instead of implementing things
> differently on each platform.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20141201/0456f4e4/attachment.html>


More information about the lldb-commits mailing list