1

Мой компьютер с Windows 7 Enterprise в последнее время довольно часто зависал, поэтому я решил загрузиться в безопасном режиме и запустить установленный клиент TrendMicro. После полной проверки системы прошло около 10 минут, поэтому в духе http://whathaveyoutried.com я начал сканировать каждую папку по отдельности. Когда я попал в ProgramData , AV потерпел неудачу с неперехваченным исключением. Затем я спустился на уровень ниже и попытался отсканировать Application Data , что также не удалось. Вообразите мое удивление, когда я открою папку, чтобы снова увидеть эту же папку!

Насколько я могу судить, этот цикл папок продолжается бесконечно. (Если вы пытаетесь воссоздать это, имейте в виду, что ProgramData является скрытой папкой.) Я на самом деле немного обеспокоен тем, что это системные папки, так как это новый компьютер с чистой установкой.

Я думаю, у меня есть три вопроса:

  1. Кто-нибудь еще видел / испытал это раньше? Я использую Win7 SP1.
  2. Как это исправить? Я запустил CHKDSK \F безуспешно (хотя это было невероятно медленно).
  3. Каковы последствия бесконечно рекурсивного каталога? Говоря теоретически, каждая ссылка занимает память, разве у меня не должно быть свободного места на жестком диске? (У меня осталось около 180 ГБ.) Я заметил, что в древовидном представлении слева отображается только значок "связанная папка" в более глубоких папках - это означает что-то особенное? (Я обвел иконки или их отсутствие красным). Как ОС может даже устранить эту аберрацию? И прежде всего, что произойдет, если я выберу "Развернуть все папки"??? :П

Matt

Рекурсивный цикл

3 ответа3

2
  1. Относительно "не должно ли у меня быть свободного места": Нет, потому что они не являются "физическими" каталогами. Это "вычисляемые" каталоги, в том смысле, что когда вы пытаетесь перейти к нему, вы просто переходите к следующему более глубокому. Это похоже на математическую индукцию: вам не нужно продолжать вводить бесконечность, даже если гипотеза « позволяет вам » делать это ...

Или подумайте об этом так: если у вас есть связанный список с узлом A, указывающим на узел B, узлом B, указывающим на узел C, и узлом C, указывающим на узел B, сколько узлов в списке? Ответ - 3, но если вы наивно пытаетесь следовать за next указателем узлов до бесконечности, пока не найдете узел, у которого нет следующего указателя, вы либо потерпите крах, если переполните счетчик, хранящий количество узлов. в, или вы будете продолжать считать до бесконечности (или пока у вас не хватит времени / терпения / пространства для хранения счета).

Проблема возникает, если вы запускаете программу, которая пытается перемещаться по всему дереву каталогов и не поддерживает обнаружение циклических переходов или циклических символических ссылок. Эта программа откровенно испорчена ИМХО, потому что любая программа, которая искренне пытается пройтись по всему дереву каталогов, должна предвидеть эту возможность и обрабатывать ее разумно.

Ваш Trend Micro в основном выполняет то, что я сказал о связанном списке, где B указывает на C, а C указывает на B. Он просто следит за указателями, не осознавая, что он перемещается между двумя узлами, а не перемещается по иерархии каталогов, которая глубоко в бесконечности каталогов.

В целом: конструкции кольцевой файловой системы - такие как каталог A, имеющий каталог B в качестве подкаталога, в котором каталог A является подкаталогом (а A и B могут фактически быть одним и тем же каталогом) - обычно являются допустимым, хотя и необычным, явлением. Они находятся в том же классе «вещей, которые вы не видите каждый день», как файлы, у которых установлен флажок "Только чтение"; файлы, сжатые на уровне файловой системы; файлы со странными пользовательскими списками ACL; и специальные скрытые файлы, подобные тем, которые создает Office при открытии документа. Все эти типы свойств файлов требуют особой обработки и знаний, когда программа пытается "пройтись" по произвольной файловой системе. Круговые конструкции - это еще одна вещь, которая, хотя и приемлема, но не указывает на ошибку файловой системы, требует специальной обработки программами.

1

У меня тоже есть такая же проблема,

Прочитав эту ссылку: http://answers.microsoft.com/en-us/windows/forum/windows_7-files/application-data-circular-reference/746342b2-0119-4461-a3d7-610c435a6715

Я думаю, что эти циклические ссылки являются нормальными, но в обычных обстоятельствах они скрыты операционной системой. Некоторое время назад я принудительно изменил права доступа и права доступа ко всем файлам на моем C:\, и я думаю, что в процессе работы эти ссылки стали «невидимыми».

0

У меня самого было такое появление путем внесения изменений в профиль, в том числе и в Windows 7. Я избежал этого, просто скопировав данные в новый созданный профиль.

Вы, TrendMicro, просто запускаете бесконечный цикл, снова и снова открывая ссылку на собственный каталог ... и вылетаете таким образом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .