MantisBT - CMake | |||||
View Issue Details | |||||
ID | Project | Category | View Status | Date Submitted | Last Update |
0012904 | CMake | CTest | public | 2012-01-20 11:54 | 2013-05-06 09:32 |
Reporter | Casey B Goodlett | ||||
Assigned To | David Cole | ||||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | OS | OS Version | |||
Product Version | |||||
Target Version | CMake 2.8.11 | Fixed in Version | CMake 2.8.11 | ||
Summary | 0012904: Parallel ctest starts too many tests when a test depends on another test that uses the RUN_SERIAL property | ||||
Description | Parallel ctest can start too many tests (unbounded number) when a test that can be run in parallel depends on a test that uses the RUN_SERIAL property. This can cause an unbounded number of tests to spawn which will hang the test machine if not caught right away. Here is the case I debugged Parallel level for ctest = 4 Current # tests running = 1 Try to start a new test A which should take only 1 processor so it should be able to start in parallel with the current 1 processors test. However when trying to start test A the dependencies are checked; instead of starting A the dependent test B is started which takes 4 processors becuse it is set to RUN_SERIAL=true. The check on whether the test can be started only checks the number of processors required by test A (cmCTestMultiProcessHandler.cxx:265) so test B is allowed to start in place of test A. As a result test B is started and now there are 5 processors in use even though the parallel level is supposed to be 4. This causes unsigned overflow when looking for the number of tests to run in the next step ( cmCTestMultiProcessHandler::StartNextTests() first line) | ||||
Steps To Reproduce | I do not have a simple CMakeLists to reproduce the problem. I can only reproduce this in cmake 2.8.4 before the switch from sort -> stable_sort as the tests get reordered which prevents this bug from being triggered. Based on code inspection, it looks like this bug still exists in master although I no longer have a reproducing case. | ||||
Additional Information | |||||
Tags | No tags attached. | ||||
Relationships | |||||
Attached Files | |||||
Issue History | |||||
Date Modified | Username | Field | Change | ||
2012-01-20 11:54 | Casey B Goodlett | New Issue | |||
2012-08-11 21:09 | David Cole | Status | new => backlog | ||
2012-08-11 21:09 | David Cole | Note Added: 0030353 | |||
2012-12-18 13:33 | David Cole | Assigned To | => David Cole | ||
2012-12-18 13:33 | David Cole | Status | backlog => assigned | ||
2012-12-18 13:34 | David Cole | Target Version | => CMake 2.8.11 | ||
2012-12-18 14:02 | David Cole | Note Added: 0031923 | |||
2012-12-26 16:12 | David Cole | Note Added: 0031943 | |||
2012-12-27 17:39 | David Cole | Note Added: 0031951 | |||
2012-12-27 17:39 | David Cole | Status | assigned => resolved | ||
2012-12-27 17:39 | David Cole | Fixed in Version | => CMake 2.8.11 | ||
2012-12-27 17:39 | David Cole | Resolution | open => fixed | ||
2013-05-06 09:32 | Robert Maynard | Note Added: 0032993 | |||
2013-05-06 09:32 | Robert Maynard | Status | resolved => closed |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|