[CMake] CMake 3.5.0-rc1 install is missing dependencies

Thompson, KT kgt at lanl.gov
Thu Feb 4 11:00:27 EST 2016


BTW - I am seeing the segmentation fault at the same location on 3 different systems:

SUSE Linux Enterprise Server 11 (x86_64)
CentOS Linux release 7.1.1503 (Core)
Red Hat Enterprise Linux Workstation release 6.7 (Santiago)

My project is not open source and I cannot distribute our source code.

I recompiled cmake-3.5.0-rc1 from sources with debug symbols and ran under a debugger. I located this failure:

Thread 1 stopped in cmPolicies::PolicyMap::Get with signal SIGSEGV ​(Segmentation fault)​.
Reason/Origin: address not mapped to object ​(attempt to access invalid address)​

The call stack is:

#17 main (ac=2, av=0x110b4f0) at .../cmake-3.5.0-rc1/Source/cmakemain.cxx:190 (at 0x000000000066e580)
#16 do_cmake (ac=2, av=0x110b4f0) at .../cmake-3.5.0-rc1/Source/cmakemain.cxx:330 (at 0x000000000066f67b)
#15 cmake::Run (this=0x7fffffffa700, args=std::vector of length 2, capacity 2 = {...}, noconfigure=false) at .../cmake-3.5.0-rc1/Source/cmake.cxx:1731 (at 0x00000000007a15e9)
#14 cmake::Configure (this=0x7fffffffa700) at .../cmake-3.5.0-rc1/Source/cmake.cxx:1356 (at 0x00000000007a210f)
#13 cmake::ActualConfigure (this=0x7fffffffa700) at .../cmake-3.5.0-rc1/Source/cmake.cxx:1573 (at 0x00000000007a3a93)
#12 cmGlobalUnixMakefileGenerator3::Configure (this=0x1119b50) at .../cmake-3.5.0-rc1/Source/cmGlobalUnixMakefileGenerator3.cxx:129 (at 0x0000000000a308ce)
#11 cmGlobalGenerator::Configure (this=0x1119b50) at .../cmake-3.5.0-rc1/Source/cmGlobalGenerator.cxx:1148 (at 0x0000000000a026aa)
#10 cmMakefile::Configure (this=0x111af40) at .../cmake-3.5.0-rc1/Source/cmMakefile.cxx:1665 (at 0x00000000006d6beb)
#9 cmMakefile::ReadListFile (this=0x111af40, listFile=..., filenametoread="/users/kellyt/draco/CMakeLists.txt") at .../cmake-3.5.0-rc1/Source/cmMakefile.cxx:569 (at 0x00000000006e831c)
#8 cmMakefile::ExecuteCommand (this=0x111af40, lff=..., status=...) at .../cmake-3.5.0-rc1/Source/cmMakefile.cxx:263 (at 0x00000000006e0799)
#7 cmCommand::InvokeInitialPass (this=0x1417360, args=std::vector of length 5, capacity 5 = {...}, status=...) at .../cmake-3.5.0-rc1/Source/cmCommand.h:68 (at 0x000000000085a466)
#6 cmInstallCommand::InitialPass (this=0x1417360, args=std::vector of length 5, capacity 5 = {...}) at .../cmake-3.5.0-rc1/Source/cmInstallCommand.cxx:103 (at 0x000000000089ac4a)
#5 cmInstallCommand::HandleExportMode (this=0x1417360, args=std::vector of length 5, capacity 5 = {...}) at .../cmake-3.5.0-rc1/Source/cmInstallCommand.cxx:1379 (at 0x00000000008a802a)
#4 cmTarget::GetPolicyStatusCMP0022 (this=0x0) at .../cmake-3.5.0-rc1/Source/cmTarget.h:90 (at 0x00000000008c5636)
#3 cmPolicies::PolicyMap::Get (this=0xf0, id=cmPolicies::CMP0022) at .../cmake-3.5.0-rc1/Source/cmPolicies.cxx:367 (at 0x0000000000729156)
#2 std::bitset<198ul>::operator[] (this=0xf0, __position=66) at .../include/c++/4.4.7/bitset:1009 (at 0x00000000007296e7)
#1 std::bitset<198ul>::_Unchecked_test (this=0xf0, __pos=66) at .../include/c++/4.4.7/bitset:904 (at 0x0000000000729663)
#0 std::_Base_bitset<4ul>::_M_getword (this=0xf0, __pos=66) at .../include/c++/4.4.7/bitset:107 (at 0x00000000007295e4)

In cmInstallCommand.cxx, line 1376

cmTarget* tgt = this->Makefile->FindTarget(te->TargetName);

is setting tgt to a NULL pointer (0x0) that is dereferenced in the next line (stack location #5)

tgt->GetPolicyStatusCMP0022()

This is causing the segfault.

-kt

-----Original Message-----
From: CMake [mailto:cmake-bounces at cmake.org] On Behalf Of Thompson, KT
Sent: Wednesday, February 03, 2016 12:00 PM
To: Brad King <brad.king at kitware.com>
Cc: cmake at cmake.orgputt
Subject: Re: [CMake] CMake 3.5.0-rc1 install is missing dependencies

I'm working on a reproducer.  For now, all I can say is that it looks like the segmentation fault occurs on this command:

install( EXPORT foo-targets
  DESTINATION foo
  EXPORT_LINK_INTERFACE_LIBRARIES )

-kt

-----Original Message-----
From: Brad King [mailto:brad.king at kitware.com] 
Sent: Wednesday, February 03, 2016 11:42 AM
To: Thompson, KT <kgt at lanl.gov>
Cc: cmake at cmake.org
Subject: Re: [CMake] CMake 3.5.0-rc1 install is missing dependencies

On 02/03/2016 11:19 AM, Thompson, KT wrote:
> On RHEL 6.7, I extracted the prebuilt x86_64 binaries from the
> downloaded .tar.gz file.  At the end of the configuration process,
> cmake issues a segmentation fault and no Makefiles are generated.

What project are you configuring?

Can you provide a CMakeLists.txt file that reproduces this crash?

Thanks,
-Brad

-- 

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


More information about the CMake mailing list