Bug 103297 - Can't import existing directory that contains recursive links
Summary: Can't import existing directory that contains recursive links
Status: RESOLVED FIXED
Alias: None
Product: kdevelop
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: RedHat Enterprise Linux Linux
: NOR normal
Target Milestone: ---
Assignee: kdevelop-bugs-null
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-04-05 16:18 UTC by Mark Belanger
Modified: 2008-07-05 23:10 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Belanger 2005-04-05 16:18:04 UTC
Version:           kdevelop-3.2.0-1.0.rhel3.kde (using KDE KDE 3.4.0)
Installed from:    RedHat RPMs
Compiler:          gcc (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-20) 
OS:                Linux

I cannot import and existing directory structure as a new 
project if it contains recursive links.  When I try, kdevelop
hangs and becomes unresponsive.  An strace of the kdevelop pid
shows never ending calls similar to:
lstat64("/vobs/ltx_ui/optool/sun/bld_tools/bld_tools/bld_tools/bld_tools/bld_tools/bld_tools/bld_tools/bld_tools/bld_tools/bld_tools/bld_tools/include/vp_trig.hxx", {st_mode=S_IFREG|0444, st_size=7047, ...}) = 0
getdents64(14, /* 10 entries */, 8192)  = 336
lstat64("/vobs/ltx_ui/optool/sun/bld_tools/bld_tools/bld_tools/bld_tools/bld_tools/bld_tools/bld_tools/bld_tools/bld_tools/bld_tools/bld_tools/include/vp_trig.ph", {st_mode=S_IFREG|0444, st_size=2125, ...}) = 0
lstat64("/vobs/ltx_ui/optool/sun/bld_tools/bld_tools/bld_tools/bld_tools/bld_tools/bld_tools/bld_tools/bld_tools/bld_tools/bld_tools/b

I suggest there should be an import option to not follow simlinks
or an advanced tab to skip things matching a regex.
Comment 1 Mark Belanger 2005-04-05 16:19:15 UTC
By the way.  Here is the package info on my version of kdevelop:
rpm -qi kdevelop
Name        : kdevelop                     Relocations: (not relocateable)
Version     : 3.2.0                             Vendor: The KDE-RedHat Project
Release     : 1.0.rhel3.kde                 Build Date: Sat 05 Mar 2005 02:08:20 PM EST
Install Date: Mon 04 Apr 2005 11:48:41 AM EDT      Build Host: mathstat.unl.edu
Group       : Development/Tools             Source RPM: kdevelop-3.2.0-1.0.rhel3.kde.src.rpm
Size        : 40654762                         License: GPL
Signature   : DSA/SHA1, Thu 10 Mar 2005 10:17:23 AM EST, Key ID efe4780cff6382fa
Packager    : kde-redhat Developers <http://kde-redhat.sf.net/>
URL         : http://www.kdevelop.org/
Summary     : Integrated Development Environment for C++/C
Comment 2 Georgios Nikolaidis 2005-04-18 10:11:06 UTC
I confirm this happening, my guess is the part that goes through the whole directory structure does not check for recursion and blindly enters all directory found in its path.
Comment 3 Matt Rogers 2006-11-04 17:58:48 UTC
Recursive symlinks are bad and you shouldn't use them in your project IMHO. What type of project is this?
Comment 4 Mark Belanger 2006-11-04 21:53:02 UTC
The project is a multi-million line OS for an ATE tester.  Parts of the code base
are pushing 20 years old.  Whether I like them or not, sym links are legal in
a unix file system - and all tools must be able to handle them.
Comment 5 Matt Rogers 2006-11-04 23:36:41 UTC
And what type of project is it? (QMake, Automake, or Custom makefiles)
Comment 6 Mark Belanger 2006-11-05 01:03:28 UTC
The project uses custom makefiles.
Comment 7 Andreas Pakulat 2008-07-05 23:10:06 UTC
this seems fixed in recent kdevelop3 versions.