[cmake-developers] [CMake 0014303]: Parallel memtest broken

Mantis Bug Tracker mantis at public.kitware.com
Tue Jul 23 02:23:31 EDT 2013


The following issue has been SUBMITTED. 
====================================================================== 
http://cmake.org/Bug/view.php?id=14303 
====================================================================== 
Reported By:                Rolf Eike Beer
Assigned To:                Rolf Eike Beer
====================================================================== 
Project:                    CMake
Issue ID:                   14303
Category:                   CTest
Reproducibility:            random
Severity:                   block
Priority:                   normal
Status:                     assigned
Target Version:             CMake 2.8.12
====================================================================== 
Date Submitted:             2013-07-23 02:23 EDT
Last Modified:              2013-07-23 02:23 EDT
====================================================================== 
Summary:                    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.
====================================================================== 

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  
======================================================================




More information about the cmake-developers mailing list