Что означает код errno 40 (ELOOP)?

 
Также может означать:
КонстантаТипОС
KERN_LOCK_OWNEDКод возврата ядра macOSmacOS
ippStsWrongIntersectVOIСтатус Intel IPPЛюбая
EMSGSIZEerrnomacOS
EL3RSTerrnoSolaris
ENOSYSerrnoWindows
CORRUPT_ACCESS_TOKENКод BSODWindows
Предыдущий Следующий
ENOLCK EMSGSIZE

ELOOP

Что означает ELOOP в Linux

ELOOP: Обнаружено слишком много символических ссылок. Path resolver обнаружил цикл символических ссылок или превысил предел переходов; исследуйте цепочку resolved components, а не длину исходной строки.

В Linux учитывайте реальный тип filesystem и объект, к которому пришёл syscall: VFS, локальная FS и сетевой mount могут формировать одинаковое errno по разным причинам. Полезные технические маркеры из контекста этой ошибки: ELOOP, open(), O_NOFOLLOW. Записывайте их фактические значения или режимы, а не только символическое имя errno.

Диагностика

  • Проверьте lifecycle descriptor/handle и момент close/rename/unlink, чтобы исключить race между проверкой и использованием.
  • Запишите полный путь после формирования, тип объекта, права доступа и файловую систему; строка пути сама по себе часто недостаточна.
  • Не выполняйте destructive cleanup до сохранения inode/file identity и исходной ошибки: после удаления воспроизвести состояние значительно труднее.
  • Для Linux сопоставьте событие с process/thread, descriptor и точным syscall; после retry проверьте, не изменился ли объект под тем же числовым дескриптором.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.