| View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||
| 0014303 | CMake | CTest | public | 2013-07-23 02:23 | 2014-02-10 10:44 | ||||
| Reporter | Rolf Eike Beer | ||||||||
| Assigned To | Rolf Eike Beer | ||||||||
| Priority | normal | Severity | block | Reproducibility | random | ||||
| Status | closed | Resolution | fixed | ||||||
| Platform | OS | OS Version | |||||||
| Product Version | CMake 2.8.12 | ||||||||
| Target Version | CMake 2.8.12 | Fixed in Version | |||||||
| Summary | 0014303: Parallel memtest broken | ||||||||
| Description | Short version: memory checker output is redirected to a file, which will be the same for every test, even parallel ones. This has been broken forever. Valgrind is not affected in currently released versions because it did not redirect output to file there (which caused other issues), but in current master it does. Details: The filename is generated as: this->MemoryTesterOutputFile = this->CTest->GetBinaryDir() + "/Testing/Temporary/MemoryChecker.log"; The simple (but correct) solution would be to include the test index into the filename, as that is guaranteed to be unique and to work on all filesystems as it is an ordinary integer. Sadly I have not yet found a way to access this index or anything that has it from within cmCTestMemCheckHandler::InitializeMemoryChecking(). Valgrind was switched to use the output files in dde6306. Since then running a parallel memcheck will happily screw the results, which is why I have noticed this at all in the first place. Sadly we have no testcase that would catch this, I only found it by manually inspecting the memchecker logs an noticing mixed results. | ||||||||
| Tags | No tags attached. | ||||||||
| Attached Files | |||||||||
| Relationships | |
| Relationships |
| Notes | |
|
(0033596) Rolf Eike Beer (developer) 2013-07-24 17:43 |
I found out that this function is only called once, so there is no chance of adding a specific option here. We must have something that will be a "pattern", that will expanded then when the test is actually called, probably best suited in cmCTestRunTest::ComputeArguments(). I have no idea what this does, but the dpbdFile for BoundsChecker probably has the same problem. |
|
(0033679) Rolf Eike Beer (developer) 2013-08-07 16:31 |
Fix pushed to next, please review/test: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6f9aaad150f769cd73df408514cf5dc42c020074 [^] |
|
(0033689) Rolf Eike Beer (developer) 2013-08-08 18:00 |
Branch merged to master. |
|
(0035071) Robert Maynard (manager) 2014-02-10 10:44 |
Closing resolved issues that have not been updated in more than 4 months. |
| Notes |
| Issue History | |||
| Date Modified | Username | Field | Change |
| 2013-07-23 02:23 | Rolf Eike Beer | New Issue | |
| 2013-07-23 02:23 | Rolf Eike Beer | Status | new => assigned |
| 2013-07-23 02:23 | Rolf Eike Beer | Assigned To | => Rolf Eike Beer |
| 2013-07-24 17:43 | Rolf Eike Beer | Note Added: 0033596 | |
| 2013-08-07 16:31 | Rolf Eike Beer | Note Added: 0033679 | |
| 2013-08-08 18:00 | Rolf Eike Beer | Note Added: 0033689 | |
| 2013-08-08 18:00 | Rolf Eike Beer | Status | assigned => resolved |
| 2013-08-08 18:00 | Rolf Eike Beer | Resolution | open => fixed |
| 2014-02-10 10:44 | Robert Maynard | Note Added: 0035071 | |
| 2014-02-10 10:44 | Robert Maynard | Status | resolved => closed |
| Issue History |
| Copyright © 2000 - 2018 MantisBT Team |