[cmake-developers] genex-generator-objects topic

2015-10-13 Thread Brad King
Steve,

Last night's RunCMake.include test failures bisect to:

 cmMakefile: Store container of cmExportBuildFileGenerators.
 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5925f99c

A clang sanitizer build output is below.  Please take a look.

Thanks,
-Brad


WRITE of size 8 at 0x611aee80 thread T0
#0 0xcfeff3 in cmExportBuildFileGenerator::Compute(cmLocalGenerator*) 
/.../Source/cmExportBuildFileGenerator.cxx:29:12
#1 0xeb18a4 in cmGlobalGenerator::ComputeBuildFileGenerators() 
/.../Source/cmGlobalGenerator.cxx:1238:7
#2 0xeb1c6d in cmGlobalGenerator::Compute() 
/.../Source/cmGlobalGenerator.cxx:1272:3
#3 0xa2cac5 in cmake::Generate() /.../Source/cmake.cxx:1609:8
#4 0xa28abd in cmake::Run(std::vector const&, bool) /.../Source/cmake.cxx:1596:9
#5 0x7809bc in do_cmake(int, char const* const*) 
/.../Source/cmakemain.cxx:330:13
#6 0x77e002 in main /.../Source/cmakemain.cxx:190:13
#7 0x7f7185ab2ec4 in __libc_start_main 
/build/buildd/eglibc-2.19/csu/libc-start.c:287
#8 0x6b5e57 in _start (/home/kitware/My 
Builds/cmake-build-clang/bin/cmake+0x6b5e57)

0x611aee80 is located 192 bytes inside of 200-byte region 
[0x611aedc0,0x611aee88)
freed by thread T0 here:
#0 0x77bab0 in operator delete(void*) 
/projects/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:94
#1 0xd04441 in cmExportBuildFileGenerator::~cmExportBuildFileGenerator() 
/.../Source/cmExportBuildFileGenerator.h:29:7
#2 0xe9a810 in cmGlobalGenerator::GenerateImportFile(std::string const&) 
/.../Source/cmGlobalGenerator.cxx:237:5
#3 0xbbe513 in cmIncludeCommand::InitialPass(std::vector const&, cmExecutionStatus&) 
/.../Source/cmIncludeCommand.cxx:130:5
#4 0xb5a963 in cmCommand::InvokeInitialPass(std::vector const&, cmExecutionStatus&) 
/.../Source/cmCommand.h:68:12
#5 0x84dadc in cmMakefile::ExecuteCommand(cmListFileFunction const&, 
cmExecutionStatus&) /.../Source/cmMakefile.cxx:321:11
#6 0x8517fb in cmMakefile::ReadListFile(cmListFile const&, std::string 
const&) /.../Source/cmMakefile.cxx:627:5
#7 0x861379 in cmMakefile::Configure() /.../Source/cmMakefile.cxx:1683:3
#8 0x861eef in cmMakefile::ConfigureSubDirectory(cmMakefile*) 
/.../Source/cmMakefile.cxx:1746:3
#9 0x862d97 in cmMakefile::AddSubDirectory(std::string const&, std::string 
const&, bool, bool) /.../Source/cmMakefile.cxx:1785:5
#10 0xac8f74 in 
cmAddSubDirectoryCommand::InitialPass(std::vector const&, cmExecutionStatus&) 
/.../Source/cmAddSubDirectoryCommand.cxx:124:3
#11 0xb5a963 in 
cmCommand::InvokeInitialPass(std::vector const&, cmExecutionStatus&) 
/.../Source/cmCommand.h:68:12
#12 0x84dadc in cmMakefile::ExecuteCommand(cmListFileFunction const&, 
cmExecutionStatus&) /.../Source/cmMakefile.cxx:321:11
#13 0x8517fb in cmMakefile::ReadListFile(cmListFile const&, std::string 
const&) /.../Source/cmMakefile.cxx:627:5
#14 0x850bff in cmMakefile::ReadDependentFile(char const*, bool) 
/.../Source/cmMakefile.cxx:537:3
#15 0xbbe794 in cmIncludeCommand::InitialPass(std::vector const&, cmExecutionStatus&) 
/.../Source/cmIncludeCommand.cxx:146:5
#16 0xb5a963 in 
cmCommand::InvokeInitialPass(std::vector const&, cmExecutionStatus&) 
/.../Source/cmCommand.h:68:12
#17 0x84dadc in cmMakefile::ExecuteCommand(cmListFileFunction const&, 
cmExecutionStatus&) /.../Source/cmMakefile.cxx:321:11
#18 0x8517fb in cmMakefile::ReadListFile(cmListFile const&, std::string 
const&) /.../Source/cmMakefile.cxx:627:5
#19 0x861379 in cmMakefile::Configure() /.../Source/cmMakefile.cxx:1683:3
#20 0xea61e2 in cmGlobalGenerator::Configure() 
/.../Source/cmGlobalGenerator.cxx:1126:3
#21 0xa26b6b in cmake::ActualConfigure() /.../Source/cmake.cxx:1418:3
#22 0xa2484c in cmake::Configure() /.../Source/cmake.cxx:1201:13
#23 0xa28a82 in cmake::Run(std::vector const&, bool) /.../Source/cmake.cxx:1575:13
#24 0x7809bc in do_cmake(int, char const* const*) 
/.../Source/cmakemain.cxx:330:13
#25 0x77e002 in main /.../Source/cmakemain.cxx:190:13
#26 0x7f7185ab2ec4 in __libc_start_main 
/build/buildd/eglibc-2.19/csu/libc-start.c:287

previously allocated by thread T0 here:
#0 0x77b470 in operator new(unsigned long) 
/projects/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:62
#1 0xc5300c in cmExportCommand::InitialPass(std::vector const&, cmExecutionStatus&) 
/.../Source/cmExportCommand.cxx:212:38
#2 0xb5a963 in cmCommand::InvokeInitialPass(std::vector const&, cmExecutionStatus&) 
/.../Source/cmCommand.h:68:12
#3 0x84dadc in cmMakefile::ExecuteCommand(cmListFileFunction const&, 
cmExecutionStatus&) 

Re: [cmake-developers] genex-generator-objects topic

2015-10-13 Thread Stephen Kelly
Brad King wrote:

> Steve,
> 
> Last night's RunCMake.include test failures bisect to:
> 
>  cmMakefile: Store container of cmExportBuildFileGenerators.
>  https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5925f99c
> 
> A clang sanitizer build output is below.  Please take a look.

Looks like unique_ptrs would really help.

I've fixed it up I think.

Thanks,

Steve.


-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers