Skip to content

Symlink loop causes crash #3751

@tobyhinloopen

Description

@tobyhinloopen

Aider version: 0.81.1
Python version: 3.11.0
Platform: macOS-15.3.2-arm64-arm-64bit
Python implementation: CPython
Virtual environment: No
OS: Darwin 24.3.0 (64bit)
Git version: git version 2.39.5 (Apple Git-154)

An uncaught exception occurred:

Traceback (most recent call last):
  File "pathlib.py", line 1003, in resolve
    p.stat()
  File "pathlib.py", line 1013, in stat
    return os.stat(self, follow_symlinks=follow_symlinks)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: [Errno 62] Too many levels of symbolic links: '/Users/tobyhinloopen/Projects/xxxx/xxxx/config/config'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "aider", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "main.py", line 1146, in main
    coder.run()
  File "base_coder.py", line 856, in run
    self.run_one(user_message, preproc)
  File "base_coder.py", line 903, in run_one
    list(self.send_message(message))
  File "base_coder.py", line 1328, in send_message
    chunks = self.format_messages()
             ^^^^^^^^^^^^^^^^^^^^^^
  File "base_coder.py", line 1233, in format_messages
    chunks = self.format_chat_chunks()
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "base_coder.py", line 1180, in format_chat_chunks
    chunks.repo = self.get_repo_messages()
                  ^^^^^^^^^^^^^^^^^^^^^^^^
  File "base_coder.py", line 721, in get_repo_messages
    repo_content = self.get_repo_map()
                   ^^^^^^^^^^^^^^^^^^^
  File "base_coder.py", line 688, in get_repo_map
    all_abs_files = set(self.get_all_abs_files())
                        ^^^^^^^^^^^^^^^^^^^^^^^^
  File "base_coder.py", line 2034, in get_all_abs_files
    files = [self.abs_root_path(path) for path in files]
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "base_coder.py", line 2034, in <listcomp>
    files = [self.abs_root_path(path) for path in files]
             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "base_coder.py", line 550, in abs_root_path
    res = utils.safe_abs_path(res)
          ^^^^^^^^^^^^^^^^^^^^^^^^
  File "utils.py", line 98, in safe_abs_path
    res = Path(res).resolve()
          ^^^^^^^^^^^^^^^^^^^
  File "pathlib.py", line 1005, in resolve
    check_eloop(e)
  File "pathlib.py", line 990, in check_eloop
    raise RuntimeError("Symlink loop from %r" % e.filename)
RuntimeError: Symlink loop from '/Users/tobyhinloopen/Projects/xxxx/xxxx/config/config'

tobyhinloopen@Tobys-MacBook-Pro-2 config % ls -al
total 48
drwxr-xr-x   6 tobyhinloopen  staff   192 Mar 25 13:08 .
drwxr-xr-x  47 tobyhinloopen  staff  1504 Apr  7 14:59 ..
-rw-r--r--   1 tobyhinloopen  staff  6335 Mar 25 13:08 application.js
lrwxr-xr-x   1 tobyhinloopen  staff     6 Nov 11 10:48 config -> config
-rw-r--r--   1 tobyhinloopen  staff  5557 Mar 25 13:08 development.js
-rw-r--r--   1 tobyhinloopen  staff  6097 Mar 25 13:08 test.js

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