View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0011230CMakeQtDialogpublic2010-09-14 02:022010-10-06 13:39
ReporterEricG 
Assigned ToBen Boeckel 
PrioritynormalSeveritycrashReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product VersionCMake-2-8 
Target VersionCMake 2.8.3Fixed in VersionCMake 2.8.3 
Summary0011230: CMake 2.8.2 crashes when adding a library with only header files
DescriptionIf I add a subdirectory to my CMake project that adds a library having only header files, then CMake crashes when attempting when I click 'Generate'. I've attached a simple reproduction.
Additional InformationCMake 2.8.2 GUI on Windows 7 32-bit
Generating a Visual Studio 2010 solution
TagsNo tags attached.
Attached Fileszip file icon test.zip [^] (638 bytes) 2010-09-14 02:02

 Relationships

  Notes
(0022215)
David Cole (manager)
2010-09-14 07:06

Clearly, a potential work-around would be to add a "dummy.c" source file to any such library until a fix is ready...
(0022220)
EricG (reporter)
2010-09-14 14:32

set_source_files_properties(... PROPERTIES LANGUAGE CXX) also works. It's more of the surprise of the interface crashing that was unexpected.
(0022221)
David Cole (manager)
2010-09-14 14:34

Sure... there's no way it should crash. It should absolutely be fixed ASAP.
(0022222)
Ben Boeckel (developer)
2010-09-14 16:21

Does this only occur with the GUI or does the command line call also crash? A backtrace would also help.
(0022260)
EricG (reporter)
2010-09-16 15:20

This also happens with the command line. I'm not sure if it's the same crash. It crashes for me here:
     cmake.exe!std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::begin() Line 782 + 0x7 bytes C++
> cmake.exe!cmVisualStudioGeneratorOptions::UsingUnicode() Line 107 + 0x18 bytes C++
     cmake.exe!cmVisualStudio10TargetGenerator::WriteProjectConfigurationValues() Line 252 + 0x50 bytes C++
     cmake.exe!cmVisualStudio10TargetGenerator::Generate() Line 164 C++
     cmake.exe!cmLocalVisualStudio10Generator::Generate() Line 100 C++
     cmake.exe!cmGlobalGenerator::Generate() Line 888 + 0x2c bytes C++
     cmake.exe!cmGlobalVisualStudioGenerator::Generate() Line 86 C++
     cmake.exe!cmGlobalVisualStudio7Generator::Generate() Line 192 C++
     cmake.exe!cmGlobalVisualStudio8Generator::Generate() Line 244 C++
     cmake.exe!cmake::Generate() Line 2298 + 0x1b bytes C++
     cmake.exe!cmakewizard::RunWizard(const std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > & args) Line 152 + 0xb bytes C++
     cmake.exe!do_cmake(int ac, char * * av) Line 489 + 0x12 bytes C++
     cmake.exe!main(int ac, char * * av) Line 318 + 0xd bytes C++
     cmake.exe!__tmainCRTStartup() Line 555 + 0x19 bytes C
     cmake.exe!mainCRTStartup() Line 371 C

The crash seems to be caused by this->Defines.begin() where this is null.
(0022390)
Brad King (manager)
2010-09-30 09:24

My bad. The ClOptions map is left empty in this case but later code assumes it has been filled. We should just abort generation in this case. Fixed:

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=448661fb [^]

 Issue History
Date Modified Username Field Change
2010-09-14 02:02 EricG New Issue
2010-09-14 02:02 EricG File Added: test.zip
2010-09-14 07:06 David Cole Status new => assigned
2010-09-14 07:06 David Cole Assigned To => Ben Boeckel
2010-09-14 07:06 David Cole Note Added: 0022215
2010-09-14 14:32 EricG Note Added: 0022220
2010-09-14 14:34 David Cole Note Added: 0022221
2010-09-14 16:21 Ben Boeckel Note Added: 0022222
2010-09-16 15:20 EricG Note Added: 0022260
2010-09-30 09:24 Brad King Note Added: 0022390
2010-09-30 09:25 Brad King Status assigned => closed
2010-09-30 09:25 Brad King Resolution open => fixed
2010-10-06 13:39 David Cole Fixed in Version => CMake 2.8.3
2010-10-06 13:39 David Cole Target Version => CMake 2.8.3


Copyright © 2000 - 2018 MantisBT Team