View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0014758 | CMake | CMake | public | 2014-02-17 07:52 | 2016-06-10 14:31 | ||||
Reporter | Marcel Loose | ||||||||
Assigned To | Kitware Robot | ||||||||
Priority | normal | Severity | major | Reproducibility | always | ||||
Status | closed | Resolution | moved | ||||||
Platform | Linux | OS | Ubuntu | OS Version | 13.10 | ||||
Product Version | CMake 2.8.11.2 | ||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0014758: Delayed de-duplication of include directories may cause huge memory usage | ||||||||
Description | Since CMake 2.8.8 de-duplication of include directories is postponed to the generation phase. This can cause serious problems if the number of duplicate entries grows large. If I understand things correctly, this redesign was made in order to support generator expressions. Would it be possible to do immediate de-duplication of entries that don't contain a generator expression? | ||||||||
Steps To Reproduce | I haven't been able to create an easy to reproduce setup (yet). Any version of CMake >= 2.8.8 will exhibit this behaviour. | ||||||||
Additional Information | See the email thread http://cmake.3232098.n2.nabble.com/include-directories-versus-set-directory-properties-PROPERTIES-INCLUDE-DIRECTORIES-td7586636.html [^] This issue is related to 0014094. | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | |||||||||
Relationships | ||||||
|
Relationships |
Notes | |
(0035153) David Cole (manager) 2014-02-19 11:54 edited on: 2014-02-19 12:06 |
Here is the git commit id that eliminated the "on input" INCLUDE_DIRECTORIES de-duplication: 8adaee2b It was a long and bloody battle as I recall, which we thought we won in the end, with pure valor and dogged determination... But alas, now we use 14G of RAM sometimes, and hang our heads in shame, as we thrash about, accumulating the same string over and over and over again. It all started here: edd53039 (Dec. 4, 2011) and was finally "done enough" to be merged here: 8233636d (Feb. 22, 2012) (merged to a ninja-related topic in bada88e8 (also Feb. 22, 2012), and then merged to master in 572994bd (Mar. 19, 2012)) Here are the commits of the topic that introduced the postponed de-duplication: gitk edd53039^..8233636d& # run this to view in a cmake git clone https://github.com/Kitware/CMake/compare/edd53039%5E...8233636d [^] ( %5E is the URL encoding of "^" ) The 4th of 11 commits, 8adaee2b, "CMake: Eliminate cmMakefile::IncludeDirectories" is the main culprit. https://github.com/Kitware/CMake/commit/8adaee2b [^] Specifically, this chunk: https://github.com/Kitware/CMake/commit/8adaee2b#diff-bd9d4738a0e1e083076cdd95648333b4L1614 [^] These are the commits of the ninja topic branch that the above branch was merged into, before merging to master: gitk edd53039...bada88e8 9987d952...572994bd& https://github.com/Kitware/CMake/compare/9987d952...572994bd [^] I have not had time (sorry) to dig into the code to try to *solve* the problem yet, ... but I thought I would share these links and this info here in case somebody else out there does have time to look into it further. It's since been complicated by the fact that you can put generator expressions into the property value now. It's not clear to me that eliminating a duplicate with a generator expression in it is valid: may they evaluate differently in different contexts? Hope this helps at least put us a step closer to finding a solution. |
(0042488) Kitware Robot (administrator) 2016-06-10 14:29 |
Resolving issue as `moved`. This issue tracker is no longer used. Further discussion of this issue may take place in the current CMake Issues page linked in the banner at the top of this page. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2014-02-17 07:52 | Marcel Loose | New Issue | |
2014-02-19 11:14 | David Cole | Relationship added | related to 0014094 |
2014-02-19 11:54 | David Cole | Note Added: 0035153 | |
2014-02-19 12:06 | David Cole | Note Edited: 0035153 | |
2016-06-10 14:29 | Kitware Robot | Note Added: 0042488 | |
2016-06-10 14:29 | Kitware Robot | Status | new => resolved |
2016-06-10 14:29 | Kitware Robot | Resolution | open => moved |
2016-06-10 14:29 | Kitware Robot | Assigned To | => Kitware Robot |
2016-06-10 14:31 | Kitware Robot | Status | resolved => closed |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |