Version: 3.5.3 (using KDE 4.1.2) Compiler: gcc (Ubuntu 4.3.2-1ubuntu11) 4.3.2 OS: Linux Installed from: Ubuntu Packages When importing a custom makefile C++ project containing a recursive symlink, KDevelop hangs and must be hard-terminated. Steps to reproduce: 1) Start KDevelop IDE for C/C++ 2) Select Project/Import existing project 3) Select a project directory containing a recursive symlink somewhere beneath it 4) Fill in everything else and continue up until "Populate the project" The hang occurs in the method CustomProjectPart::findNewFiles() in buildtools/custommakefiles/customprojectpart.cpp. This function descends into directories recursively without checking for recursive symlinks. Possibly a duplicate of bug 103297, but definitely not fixed. Reported in Ubuntu Launchpad as https://bugs.launchpad.net/ubuntu/+source/kdevelop/+bug/291148
SVN commit 878661 by apaku: Make sure we don't descend into recursive links when trying to find new files. CCBUG: 173924 M +23 -1 customprojectpart.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=878661
As you can see above I added extra logic to not descend into recursive links, however I couldn't reproduce the problem with a simple project before changing this. The project had a link pointing back up to its grandparent directory and the recursive algorithm stopped at a certain depth, possibly due to QFileInfo not being able to handle the length of the path or something similar. So maybe thats the difference between my system and yours and the original reporters from bug #103279.
I applied the patch manually to my Ubuntu package, with the result that "Populate the project" now completes and offers me a list of the immediate sub-directories of the main project directory, minus the one which contains the recursive link inside its tree (which is fine for me, but may not be what was intended). However, on the next step I get a hang inside FileGroupsWidget::allFilesRecursively() in parts/fileview/filegroupswidget.cpp.
Hmm, that would indeed not be intended, but it works just fine here. I do get the files inside the directory that has the recursive link. It just doesn't try to decend into the recursive link. About the filegroups widget: I'm not going to dive into long unmaintained code to fix an issue with something thats generally considered bad practice. Sorry, the only way to avoid that is disabling the filegroups plugin.
as I explained I can't reproduce the problem and filegroups is simply dead.