Skip to content

Symbolic link linking to itself makes indexer entering infinite loop #1477

@ChristopheBordieu

Description

@ChristopheBordieu

Hello,

I have a user that set a (weird) Git repo with symbolic links linking themselves creating infinite loops. Detected by find but not by OpenGrok.
I use 0.13-rc10.
OpenGrok starts indexing then never finishes.

Structure of Git repo testsymlink to reproduce issue if needed:
testSymLink$ ls -Rog
.:
total 0
-rw-rw-r-- 1 0 Mar 22 17:39 dummy
drwxrwsr-x 6 73 Mar 22 17:42 py

./py:
total 0
drwxrwsr-x 2 29 Mar 22 17:43 cfg
drwxrwsr-x 2 72 Mar 22 17:43 lib
drwxrwsr-x 2 76 Mar 22 17:41 prepare
drwxrwsr-x 2 58 Mar 22 15:20 pyroot

./py/cfg:
total 0
-rw-rw-r-- 1 0 Mar 22 17:40 dummy_config.cfg

./py/lib:
total 0
-rw-rw-r-- 1 0 Mar 22 17:43 dummy_lib.py
-rw-rw-r-- 1 0 Mar 22 15:20 init.py
lrwxrwxrwx 1 9 Mar 22 15:20 pyroot -> ../pyroot

./py/prepare:
total 0
-rw-rw-r-- 1 0 Mar 22 17:41 dummy_prepare.py
-rw-rw-r-- 1 0 Mar 22 15:20 init.py
lrwxrwxrwx 1 9 Mar 22 15:20 pyroot -> ../pyroot

./py/pyroot:
total 0
lrwxrwxrwx 1 6 Mar 22 15:20 cfg -> ../cfg
-rw-rw-r-- 1 0 Mar 22 15:20 init.py
lrwxrwxrwx 1 6 Mar 22 15:20 lib -> ../lib
lrwxrwxrwx 1 10 Mar 22 15:20 prepare -> ../prepare

Is there a way to manage this with OpenGrok like find does ?

testSymLink$ find -L .
...
find: File system loop detected; ./py/lib/pyroot/lib' is part of the same file system loop as ./py/lib'.
...

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions