michaellukashov / Far-NetBox

SFTP/SCP/FTP/FTPS/WebDAV/S3 client for Far Manager 3 (http://farmanager.com/)
https://forum.farmanager.com/viewtopic.php?t=6317
GNU General Public License v2.0
157 stars 52 forks source link

Осталось исключение c0000417 по SCP, REOPEN - "Вернулась" проблема с "переход в папку приводит к вылету". #166

Open VictorVG opened 8 years ago

VictorVG commented 8 years ago

Сообщение от Alexyz21.

Alexyz21

После обновления с помощью UpdateEx с FAR3.0.4426 до FAR3.0.4430 и удаления flags="DisableOutput" в макросах, обновления NetBox до v2.1.44.408 x32 (взят из поста выше) при подключении к ФТП плаг стал падать, Подробнее...

shmuz подтвердил наличие явление, мне воспроизвести не удалось, потому я усомнился в его источнике.

VictorVG commented 8 years ago

По поводу предложеного в посте для тестирования FTP сервера ftp://anonymous:@files.line-r.ru:21 реакция клиентов - NetBox v2.1.44.409 - постоянные реконнекты, FileZilla Client v3.14.0 x64 (официальная сборка):

FileZilla Client
----------------

Version:          3.14.0

Build information:
  Compiled for:   x86_64-w64-mingw32
  Compiled on:    x86_64-unknown-linux-gnu
  Build date:     2015-09-16
  Compiled with:  x86_64-w64-mingw32-gcc (GCC) 4.9.1
  Compiler flags: -g -O2 -Wall -g -std=gnu++14

Linked against:
  wxWidgets:      3.0.3
  GnuTLS:         3.4.4
  SQLite:         3.8.11.1

Operating system:
  Name:           Windows 7 (build 7601, Service Pack 1), 64-bit edition
  Version:        6.1
  Platform:       64-bit system
  CPU features:   sse sse2 sse3 ssse3 sse4.1

лог:

Статус:   Определение IP-адреса для files.line-r.ru
Статус:   Соединяюсь с 213.108.208.36:21...
Ошибка:   Соединение прервано после 20 секунд неактивности
Ошибка:   Невозможно подключиться к серверу
Статус:   Ожидание повтора...
Статус:   Определение IP-адреса для files.line-r.ru
Статус:   Соединяюсь с 213.108.208.36:21...
Ошибка:   Соединение прервано после 20 секунд неактивности
Ошибка:   Невозможно подключиться к серверу

с остальными серверами у меня сбоев нет, для тестирования выложил собранный из командной строки VC++2010 NetBox v2.1.44.409 у себя:

FarNetBox-2.1.44_Far3_x64.7z FarNetBox-2.1.44_Far3_x86.7z

Попросил о проверке под WinXP на ру-боард ибо оттуда были первые сообщения о проблемах.

VictorVG commented 8 years ago

Первый отчёт уже есть:

Alexyz21

"просьба проверить из среды Windows XP"

На XPSP2 работает. И даже случайно обнаружил, что облако mail.ru по webdav стало подавать признаки жизни, правда какой-то пароль требует....

VictorVG commented 8 years ago

А по отчёту Pasha_ZZZ на Win 8.1 x64 есть проблемы:

Подключаюсь к раутеру по SCP

"Сигнатура проблемы:
  Имя события проблемы:    BEX
  Имя приложения:    Far.exe
  Версия приложения:    3.0.4430.0
  Отметка времени приложения:    5611cc6b
  Имя модуля с ошибкой:    NetBox.dll
  Версия модуля с ошибкой:    2.1.44.408
  Отметка времени модуля с ошибкой:    5611d60b
  Смещение исключения:    001cc883
  Код исключения:    c0000417
  Данные исключения:    00000000
  Версия ОС:    6.3.9600.2.0.0.256.4
  Код языка:    1049
  Дополнительные сведения 1:    2a12
  Дополнительные сведения 2:    2a12b90e7783904ab65201baa8a13770
  Дополнительные сведения 3:    768e
  Дополнительные сведения 4:    768e1bb468811b5225238456f8c646c0 "

Victor_VG

Win 8.1 x64, Far x86 - так же точно падает с .409

VictorVG commented 8 years ago

Про AV из-за передачи функции неверных параметров (исключение c0000417) снова напомнили после выпуска Far v3.0 b4444 STABLE / NetBox 2.1.44.411:

Pasha_ZZZ Но эта стейбл так же стабильно валится на SCPшечке... ;-)

Вот расшифровка ошибки c0000417 по Error Lookup:

error_c0000417

michaellukashov commented 8 years ago

В данном случае расшифровка ошибки не добавляет полезной информации, хотелось бы увидеть стек вызовов, приведший к ошибке

VictorVG commented 8 years ago

Договорились. Скажу ему. Парень он опытный и должен легко его создать, тем более что с помощью Process Hacker задача получения стека сводится к копированию группы таблиц по тредам.

pasha-zzz commented 8 years ago

7024, , , ntdll.dll!RtlRegisterThreadWithCsrss+0x50, Normal 6716, , , clr.dll!GetMetaDataInternalInterfaceFromPublic+0x201cb, Highest 6556, , , ntdll.dll!RtlRegisterThreadWithCsrss+0x50, Normal 6464, , , Far.exe+0x2a7911, Normal 6136, , , FarHints.dll+0x2210, Normal 5980, , , Far.exe+0x2a7911, Normal 5912, , , Far.exe+0x2acbe8, Normal 5640, , , mswsock.dll!Tcpip4_WSHGetWildcardSockaddr+0x2230, Above Normal 5240, , , clr.dll!GetIdentityAuthority+0x12d7, Normal 4988, , , FarHints.dll+0x2210, Normal 4924, , , PortaDev.dll+0xbb80, Normal 4204, , , Far.exe+0x2a7911, Normal 3508, , , ntdll.dll!RtlRegisterThreadWithCsrss+0x50, Normal 1144, , , Far.exe+0x2a7911, Normal 96, , , GdiPlus.dll!GdipAlloc+0x14d0, Normal

Far.exe.dmp - http://rghost.ru/8xbrDvq7C

pasha-zzz commented 8 years ago

А это с последним SDK и символами:

6536, , , Far.exe+0x2a7911, Normal 6372, , , combase.dll!CleanupOleStateInAllTls+0x530, Normal 5828, , , Far.exe+0x2a7911, Normal 5204, , , GdiPlus.dll!GdipAlloc+0x14d0, Normal 4904, , , Far.exe+0x2a7911, Normal 3152, , , Far.exe+0x2acbe8, Normal 2856, , , ntdll.dll!RtlRegisterThreadWithCsrss+0x50, Normal 1360, , , PortaDev.dll+0xbb80, Normal 1264, , , Far.exe+0x2a7911, Normal 1132, , , ntdll.dll!RtlRegisterThreadWithCsrss+0x50, Normal 936, , , FarHints.dll+0x2210, Normal 720, , , ntdll.dll!RtlRegisterThreadWithCsrss+0x50, Normal

VictorVG commented 8 years ago

@kartu

Проверяйте v2.1.44.414:

FarNetBox-2.1.44_Far3_x64.7z FarNetBox-2.1.44_Far3_x86.7z

более-менее всё вместе (без FarColorer, код оптимизирован, предпочтение на минимальный размер, собрано в VC++ 2010, постоянная ссылка) Far30latest-x86_x64-bin.7z

pasha-zzz commented 8 years ago

SCP теперь работает, Фар не вылетает, спс

VictorVG commented 8 years ago

Добро, закрываем инц как отработанный.

kartu commented 8 years ago

"Вернулась" проблема с "переход в папку приводит к вылету". Собственно вылет происходит до перехода в папку, судя по логу. Вот лог (Internal error fz#listfile (0010).):

. 2015-11-18 18:56:25.532 NetBox Version 2.1.44 (Build 411) (OS 10.0.10586 - Windows 10 Pro) . 2015-11-18 18:56:25.548 Configuration: NetBox 3\ . 2015-11-18 18:56:25.548 Working directory: C:\Users\kartu\Downloads . 2015-11-18 18:56:25.548 Login time: 18.11.2015 18:56:25 . 2015-11-18 18:56:25.548 Host name: 10.0.0.157 (Port: 21) . 2015-11-18 18:56:25.548 Transfer Protocol: FTP . 2015-11-18 18:56:25.548 Code Page: 65001 . 2015-11-18 18:56:25.564 Ping type: C, Ping interval: 30 sec; Timeout: 15 sec . 2015-11-18 18:56:25.564 Disable Nagle: Yes . 2015-11-18 18:56:25.564 Proxy: none . 2015-11-18 18:56:25.564 Send buffer: 262144 . 2015-11-18 18:56:25.564 UTF: 0 . 2015-11-18 18:56:25.564 FTP: FTPS: None; Passive: Yes [Force IP: A]; MLSD: A [List all: A] . 2015-11-18 18:56:25.564 Local directory: default, Remote directory: /, Update: Yes, Cache: No . 2015-11-18 18:56:25.564 Cache directory changes: No, Permanent: Yes . 2015-11-18 18:56:25.564 Timezone offset: 0h 0m . 2015-11-18 18:56:25.579 Connecting to 10.0.0.157 ... . 2015-11-18 18:56:25.595 Connected with 10.0.0.157. Waiting for welcome message... < 2015-11-18 18:56:25.595 220 (vsFTPd 3.0.2)

2015-11-18 18:56:25.595 USER root < 2015-11-18 18:56:25.595 331 Please specify the password. 2015-11-18 18:56:26.236 PASS < 2015-11-18 18:56:26.236 230 Login successful. 2015-11-18 18:56:26.236 SYST < 2015-11-18 18:56:26.236 215 UNIX Type: L8 2015-11-18 18:56:26.236 FEAT < 2015-11-18 18:56:26.251 211-Features: < 2015-11-18 18:56:26.314 EPRT < 2015-11-18 18:56:26.314 EPSV < 2015-11-18 18:56:26.314 MDTM < 2015-11-18 18:56:26.314 PASV < 2015-11-18 18:56:26.314 REST STREAM < 2015-11-18 18:56:26.314 SIZE < 2015-11-18 18:56:26.376 TVFS < 2015-11-18 18:56:26.376 UTF8 < 2015-11-18 18:56:26.376 211 End 2015-11-18 18:56:26.376 OPTS UTF8 ON < 2015-11-18 18:56:26.376 200 Always in UTF8 mode. . 2015-11-18 18:56:26.439 Connected . 2015-11-18 18:56:26.439 Got reply 1 to the command 1 . 2015-11-18 18:56:26.439 Using FTP protocol. . 2015-11-18 18:56:26.439 Doing startup conversation with host. 2015-11-18 18:56:26.439 PWD < 2015-11-18 18:56:26.439 257 "/" . 2015-11-18 18:56:26.439 Got reply 1 to the command 16 . 2015-11-18 18:56:26.439 Changing directory to "/". 2015-11-18 18:56:26.439 CWD / < 2015-11-18 18:56:26.454 250 Directory successfully changed. . 2015-11-18 18:56:26.454 Got reply 1 to the command 16 . 2015-11-18 18:56:26.454 Getting current directory name. 2015-11-18 18:56:26.454 PWD < 2015-11-18 18:56:26.454 257 "/" . 2015-11-18 18:56:26.517 Got reply 1 to the command 16 . 2015-11-18 18:56:26.517 Retrieving directory listing... 2015-11-18 18:56:26.517 TYPE A < 2015-11-18 18:56:26.517 200 Switching to ASCII mode. 2015-11-18 18:56:26.517 PASV < 2015-11-18 18:56:26.517 227 Entering Passive Mode (10,0,0,157,43,24). 2015-11-18 18:56:26.517 LIST -a . 2015-11-18 18:56:26.517 Connecting to 10.0.0.157:11032 ... < 2015-11-18 18:56:26.517 150 Here comes the directory listing. < 2015-11-18 18:56:26.595 226 Directory send OK. . 2015-11-18 18:56:26.595 drwxr-xr-x 18 0 0 1440 Aug 17 17:49 . . 2015-11-18 18:56:26.595 drwxr-xr-x 18 0 0 1440 Aug 17 17:49 .. . 2015-11-18 18:56:26.595 drwxr-xr-x 2 0 0 224 Aug 17 17:45 CONTROL . 2015-11-18 18:56:26.595 drwxr-xr-x 2 0 0 160 Aug 13 05:36 autofs . 2015-11-18 18:56:26.595 drwxr-xr-x 2 0 0 5480 Aug 13 05:37 bin . 2015-11-18 18:56:26.595 drwxr-xr-x 2 0 0 160 Aug 07 04:53 boot . 2015-11-18 18:56:26.595 drwxr-xr-x 12 0 0 2880 Jan 01 1970 dev . 2015-11-18 18:56:26.595 drwxr-xr-x 37 0 0 7736 Nov 18 10:04 etc . 2015-11-18 18:56:26.595 lrwxrwxrwx 1 0 0 9 Aug 13 05:36 hdd -> media/hdd . 2015-11-18 18:56:26.595 drwxr-xr-x 3 0 0 224 Aug 13 05:36 home . 2015-11-18 18:56:26.595 drwxr-xr-x 8 0 0 6720 Aug 30 20:42 lib . 2015-11-18 18:56:26.595 drwxrwxrwt 5 0 0 100 Jan 01 1970 media . 2015-11-18 18:56:26.595 lrwxrwxrwx 1 0 0 5 Aug 13 05:36 mnt -> media . 2015-11-18 18:56:26.595 drwxr-xr-x 2 0 0 160 Aug 17 17:49 movie . 2015-11-18 18:56:26.595 dr-xr-xr-x 194 0 0 0 Jan 01 1970 proc . 2015-11-18 18:56:26.595 drwxr-xr-x 3 0 0 448 Jan 01 1970 run . 2015-11-18 18:56:26.611 drwxr-xr-x 2 0 0 6208 Aug 13 05:37 sbin . 2015-11-18 18:56:26.611 lrwxrwxrwx 1 0 0 10 Aug 13 05:36 share -> /usr/share . 2015-11-18 18:56:26.611 dr-xr-xr-x 12 0 0 0 Jan 01 1970 sys . 2015-11-18 18:56:26.611 lrwxrwxrwx 1 0 0 9 Jan 01 1970 tmp -> /var/tmp/ . 2015-11-18 18:56:26.611 drwxr-xr-x 10 0 0 672 Oct 24 05:35 usr . 2015-11-18 18:56:26.611 drwxrwxr-x 9 1000 1000 1192 Feb 15 2015 var . 2015-11-18 18:56:26.611 Directory listing successful . 2015-11-18 18:56:26.611 Reading symlink "hdd". . 2015-11-18 18:56:26.611 Reading symlink "mnt". . 2015-11-18 18:56:26.611 Reading symlink "share". . 2015-11-18 18:56:26.611 Reading symlink "tmp". . 2015-11-18 18:56:26.611 Got reply 1 to the command 2 . 2015-11-18 18:56:26.611 ..;D;0;1899-12-30T34781:25:51.617Z;"" [0];"" [0];---------;0 . 2015-11-18 18:56:26.611 CONTROL;D;0;2015-08-17T15:45:00.000Z;"0" [0];"0" [0];rwxr-xr-x;0 . 2015-11-18 18:56:26.611 autofs;D;0;2015-08-13T03:36:00.000Z;"0" [0];"0" [0];rwxr-xr-x;0 . 2015-11-18 18:56:26.611 bin;D;0;2015-08-13T03:37:00.000Z;"0" [0];"0" [0];rwxr-xr-x;0 . 2015-11-18 18:56:26.626 boot;D;0;2015-08-07T02:53:00.000Z;"0" [0];"0" [0];rwxr-xr-x;0 . 2015-11-18 18:56:26.626 dev;D;0;1969-12-31T23:00:00.000Z;"0" [0];"0" [0];rwxr-xr-x;0 . 2015-11-18 18:56:26.626 etc;D;0;2015-11-18T09:04:00.000Z;"0" [0];"0" [0];rwxr-xr-x;0 . 2015-11-18 18:56:26.626 hdd;L;9;2015-08-13T03:36:00.000Z;"0" [0];"0" [0];rwxrwxrwx;1 . 2015-11-18 18:56:26.626 home;D;0;2015-08-13T03:36:00.000Z;"0" [0];"0" [0];rwxr-xr-x;0 . 2015-11-18 18:56:26.626 lib;D;0;2015-08-30T18:42:00.000Z;"0" [0];"0" [0];rwxr-xr-x;0 . 2015-11-18 18:56:26.626 media;D;0;1969-12-31T23:00:00.000Z;"0" [0];"0" [0];rwxrwxrwt;1 . 2015-11-18 18:56:26.626 mnt;L;5;2015-08-13T03:36:00.000Z;"0" [0];"0" [0];rwxrwxrwx;1 . 2015-11-18 18:56:26.626 movie;D;0;2015-08-17T15:49:00.000Z;"0" [0];"0" [0];rwxr-xr-x;0 . 2015-11-18 18:56:26.626 proc;D;0;1969-12-31T23:00:00.000Z;"0" [0];"0" [0];r-xr-xr-x;0 . 2015-11-18 18:56:26.626 run;D;0;1969-12-31T23:00:00.000Z;"0" [0];"0" [0];rwxr-xr-x;0 . 2015-11-18 18:56:26.626 sbin;D;0;2015-08-13T03:37:00.000Z;"0" [0];"0" [0];rwxr-xr-x;0 . 2015-11-18 18:56:26.626 share;L;10;2015-08-13T03:36:00.000Z;"0" [0];"0" [0];rwxrwxrwx;1 . 2015-11-18 18:56:26.626 sys;D;0;1969-12-31T23:00:00.000Z;"0" [0];"0" [0];r-xr-xr-x;0 . 2015-11-18 18:56:26.626 tmp;L;9;1969-12-31T23:00:00.000Z;"0" [0];"0" [0];rwxrwxrwx;1 . 2015-11-18 18:56:26.626 usr;D;0;2015-10-24T03:35:00.000Z;"0" [0];"0" [0];rwxr-xr-x;0 . 2015-11-18 18:56:26.626 var;D;0;2015-02-14T23:00:00.000Z;"1000" [0];"1000" [0];rwxrwxr-x;0 . 2015-11-18 18:56:26.642 Startup conversation with host finished. . 2015-11-18 18:56:26.642 Retrieving file information... 2015-11-18 18:56:26.642 PWD < 2015-11-18 18:56:26.642 257 "/" 2015-11-18 18:56:26.642 CWD /media/hdd < 2015-11-18 18:56:26.642 250 Directory successfully changed. 2015-11-18 18:56:26.642 CWD / < 2015-11-18 18:56:26.642 250 Directory successfully changed. . 2015-11-18 18:56:26.642 Retrieving file information successful . 2015-11-18 18:56:26.642 Got reply 1 to the command 1024 . 2015-11-18 18:56:26.642 Retrieving file information... 2015-11-18 18:56:26.642 PWD < 2015-11-18 18:56:26.642 257 "/" 2015-11-18 18:56:26.642 CWD /media < 2015-11-18 18:56:26.642 250 Directory successfully changed. 2015-11-18 18:56:26.642 CWD / < 2015-11-18 18:56:26.657 250 Directory successfully changed. . 2015-11-18 18:56:26.657 Retrieving file information successful . 2015-11-18 18:56:26.657 Got reply 1 to the command 1024 . 2015-11-18 18:56:26.657 Retrieving file information... 2015-11-18 18:56:26.657 PWD < 2015-11-18 18:56:26.657 257 "/" 2015-11-18 18:56:26.657 CWD /usr/share < 2015-11-18 18:56:26.657 250 Directory successfully changed. 2015-11-18 18:56:26.657 CWD / < 2015-11-18 18:56:26.657 250 Directory successfully changed. . 2015-11-18 18:56:26.657 Retrieving file information successful . 2015-11-18 18:56:26.657 Got reply 1 to the command 1024 . 2015-11-18 18:56:26.657 Attempt to close connection due to fatal exception:

  • 2015-11-18 18:56:26.657 Internal error fz#listfile (0010). 2015-11-18 18:56:29.668 QUIT < 2015-11-18 18:56:29.668 221 Goodbye. . 2015-11-18 18:56:29.668 Disconnected from server
VictorVG commented 8 years ago

Проверьте на версии 2.45.417:

FarNetBox-2.1.45_Far3_x64.7z FarNetBox-2.1.45_Far3_x86.7z

там последняя сборка с использованием UTF-8 по умолчанию.

kartu commented 8 years ago

Проверил версии, работает на:

Вин 7, Фар 3.0.3800 х64, нетбокс 2.1.34 бильд 282

вылетает на

Вин 10, фар 3.0.4444 х64, Нетбокс 2.1.44 бильд 411.

Та же история (с той же ошибкой) на 2.1.45 бильд 417 (из вашего атачмента)

VictorVG commented 8 years ago

А если проверить связку Far b4457 + NetBox v2.1.45.417 но на Win7?

VictorVG commented 8 years ago

Если ошибка подтвердится и на Win7- переоткроем баг чтобы легче было отслеживать.

kartu commented 8 years ago

Любопытные результаты. Все на вин 7, фар 64 битный.

Far b4457 + NetBox v2.1.45.417 - вылет Far 4455 + NetBox v2.1.45.417 - вылет Far b4457 + стандартный нетбокс - вылет

На всякий случай перепроверил, работает ли в старом (3800) с его стандартным плагином - без проблем. Попробовал старый фар + NetBox v2.1.45.417 - жалуется на версию. Попробовал Far b4457 + нетбокс 2.1.34 бильд 282 - РАБОТАЕТ

VictorVG commented 8 years ago

Жалуется справедливо - минимальная версия Far для 2.1.45.417 b4400. Переоткрыл инц.

michaellukashov commented 8 years ago

Проверил плагин под Win10x64 и под Win7x64, с той же версией сервера vsFTP 3.0.2 - ошибка не воспроизводится. Весьма странно. Попробуйте зайти на сервер не под пользователем root, а под обычным пользователем - что произойдет?

michaellukashov commented 8 years ago

Как ведут себя другие FTP клиенты - Filezilla, WinSCP?

kartu commented 8 years ago

Напомню, что нетбокс 2.1.34 бильд 282 работает без проблем. Файлзилла тоже спокойно пашет. Виныцп... не знаю, поддерживает ли обычный ФТП протокол, но смысл?

Попробуйте воспроизвести "по другому", добавив в корневой каталог софт линки на папки, один абсолютный, другой "относительный". Вот листинг моей корневой папки:

root@gbquad:/# ls -la drwxr-xr-x 16 root root 1312 Jan 1 1970 . drwxr-xr-x 16 root root 1312 Jan 1 1970 .. drwxr-xr-x 2 root root 160 Nov 18 09:24 autofs drwxr-xr-x 2 root root 5336 Nov 18 09:24 bin drwxr-xr-x 2 root root 160 Apr 18 2015 boot drwxr-xr-x 12 root root 2960 Jan 1 1970 dev drwxr-xr-x 36 root root 7392 Nov 20 18:07 etc lrwxrwxrwx 1 root root 9 Nov 18 09:23 hdd -> media/hdd drwxr-xr-x 3 root root 224 Nov 18 09:23 home drwxr-xr-x 8 root root 6192 Sep 9 07:56 lib drwxrwxrwt 5 root root 100 Jan 1 1970 media lrwxrwxrwx 1 root root 5 Nov 18 09:23 mnt -> media dr-xr-xr-x 105 root root 0 Jan 1 1970 proc drwxr-xr-x 3 root root 448 Jan 1 1970 run drwxr-xr-x 2 root root 6128 Nov 18 09:24 sbin lrwxrwxrwx 1 root root 10 Nov 18 09:24 share -> /usr/share dr-xr-xr-x 12 root root 0 Jan 1 1970 sys lrwxrwxrwx 1 root root 9 Jan 1 1970 tmp -> /var/tmp/ drwxr-xr-x 11 root root 736 Jan 20 2015 usr drwxr-xr-x 9 1000 1000 1264 Nov 18 19:58 var

michaellukashov commented 8 years ago

Сделал симлинки cdrom0 -> media/cdrom0 share -> /usr/share ошибка не воспроизводится. ok, какая операционка используется? Попробую поставить эту систему в виртуалку, чтобы воспроизвести окружение с максимальной точностью.

kartu commented 8 years ago

Это сат ресивер, так просто не сэмулировать. Linux version 3.14.2 (oe1@build4) (gcc version 4.9.1 (GCC) ) #1 SMP Wed Sep 9 07:50:29 CEST 2015

А что изменилось между 2.1.34 бильд 282 и 2.1.45.417? =/ Internal error fz#listfile (0010). ни о чём не говорит? =(

ЗЫ Линки могут содержать папки с линками, не знаю, впрочем, зачем туда заглядывать нетбоксу...

VictorVG commented 8 years ago

@kartu

1) Линки всегда просматриваются для построения дерева каталогов любой сетевой ОС. 2) список изменений есть в changelog

P.S.

Ладно, коли отыщу что-то менее "токожрущее" (у роутера всего один порт на USB 2.0 - ток нагрузки <= 0,5A) подыму FTP на своём роутере (ZyXEL Keenetic Extra) а то у меня только 2,5" винты на 5400 rpm с током потребления 0,7 - 1,0 А в хозяйстве есть ( у экономичных "бучных" винтов на 4200 rpm ток потребления по единственной для них цепи питания +5В обычно составляет от 0,35А до 0,47А, хотя есть и модели с токами потребления до 1,0А (например у 2,5" HDD ёмкостью 5 - 20 Гб производства IBM на 4200 rpm (~ середина - конец 90-х - начала 2000-х) все модели жрали от 0,8А до 1,0А), а у большинства 3,5" SATA пусковые токи во время раскрутки блинов достигают значений 2,8А - 3,5А и более (для 7200 rpm c временем раскрутки пакета 15 сек, если это время меньше или скорость вращения блинов выше пусковые токи увеличиваются - инерция пакета блинов, законы физики пока никто не отменял :)) по цепи +12В и по цепи +5В они так же от 0,9 до 2А жрут - придётся искать где у меня старый АТ-й БП на 200W валяется. :)

kartu commented 8 years ago

А зачем строить дерево, если фар просто находится в корневой (да хоть какой, всегда только в одной) папке?

И что, если А ссылается на родительскую папку? (циклический линк)

PS Не думаю, что рутер поможет... =(

VictorVG commented 8 years ago

1) ОС его строит для исключения сбоев в навигации при создании новой точки монтирования.

На эту проблему наткнулись ещё в начале 70-х на IBM OS/360 с появлением первых ПТД (Процессоров Телеообработки Данных) и распредёлённых кластерных систем майнфреймов когда в режиме реального времени потребовалось монтировать географически распределённые тома для решавшихся на языке PL/1 сложных экономических задач. Использовавшийся тогда язык управления заданиями JCL таких средств не имел что приводило к сбоям в расчётах при использовании многоуровневых вложенных массивов (спецификация языка IBM PL/1 предусматривает такую возможность как 63-х уровневая вложенность массивов - рекрсивная декларация вида DCL A1 array A(B(k,m),j) и где сам элемент вложенный массив).

И тогда нашли решение - ОС кэширует структуру удалённого дерева каталогов от точки монтирования и ниже по ветви, но без построения списка файлов в ней. Это исключало ошибки навигации в распредёлённых файловых системах, ну а после люди использовали накопленный опыт при создании ОС семейства UNIX откуда мелкософт честно украла часть принципов и приёмов управления "упростив их для понимая средним пользователем", а попросту выкинув всё, что не понимали они сами ибо в тот момент в компании уже не работали технически грамотные люди разрабатывавшие начале 82-го - 83-го годов MS XENIX, а оставшиеся "программисты" по уровню квалификации выше однозадачной и не умеющей работать с сетью ОС CP/M не поднимались (кстати сей уровень мышления стал фирменным стилем Редмондской компании) ибо высокая квалификация и гибкость инженерного мышления не совместимы с конвейером по выпуску ширпотреба быстро приносящим значительную прибыль при не высоких начальных затратах ибо инженер высокого класса не станет клепать массовую халтуру - ему репутация дороже, да это и не интересно. Потому в такие конторы идут "мальчики с длинной отвёрткой" и половиной извилины (а больше там и не надо - "Бегать вдоль газовой трубы и крутить задвижки русским хватит и двух - трёх классов!" (Маргарет Тетчер), ну и последствия налицо .:)

2) Такая ошибка мгновенно ловится ОС при монтировании ветви, и по возможности автоматически исправляется. В крайнем случае ОС зовёт оператора.

С роутером поглядим - там и своих тараканов хватит, вдруг что интересное да вылезет?