Портит файл при копировании Topic is solved

Здесь можно сообщить о найденных багах в Far.
25080206

Портит файл при копировании

Post by 25080206 »

Хочу помочь проекту!
Итак, столкнулся с опасной проблемой... Заметил случайно. При копировании одного файла, копирование происходит подозрительно быстро (файл 4 гигабайта, должен копироваться не меньше 15 секунд, а тут примерно за секунду), без ошибок, после копирования файлы НЕ ИДЕНТИЧНЫ, Advanced compare при сравнении по контенту. Т.е. копия бита, а юзер никак не узнает об этом.
Windows 7 x64, FAR 3.0 build 4242 x64.
После обновления до актуальной версии 3.0 build 4505 x64 проблема сохраняется.
Стандартным эксплорером файл копируется нормально, также файл нормально копируется ФАРом при включенной опции "Use system copy routine"...
Баг опасный и повторяется стабильно, но я не особый специалист - хочу помочь проекту, могу предоставить доступ к компьютеру через teamviewer - если кто знающий подключится и исследует проблему, отчего так происходит... будет весьма неплохо.
Извиняюсь за сумбур, но косячок действительно неприятный, потенциальная потеря данных, пусть и случайный, но вдруг еще когда такое повторится, особенно, при переносе, а не копировании. Не утверждаю, что это глюк FAR'а - может быть, причина и не в нем, но файл при копировании "бьется" и никакого предупреждения о том, что копирование прошло неуспешно, нет.
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

Портит файл при копировании

Post by 2useven10 »

Какие флаги у файла выствлены (Ctrl-A на файле) ?
25080206

Портит файл при копировании

Post by 25080206 »

2useven10 wrote:Какие флаги у файла выствлены (Ctrl-A на файле) ?

Code: Select all

╔═══════════════════════════ Attributes ═══════════════════════════╗
║                    Change file attributes for                    ║
║   [TechTools.net] Microsoft Windows 10 5in1 November (x64).iso   ║
╟──────────────────────────────────────────────────────────────────╢
║ Owner:       BUILTIN\Administrators                              ║
╟──────────────────────────────────────────────────────────────────╢
║ [x] Read only                   [x] Sparse                       ║
║ [x] Archive                     [ ] Temporary                    ║
║ [ ] Hidden                      [ ] Offline                      ║
║ [ ] System                      [ ] Reparse point                ║
║ [x] Compressed                  [ ] Virtual                      ║
║ [ ] Encrypted                   [ ] Integrity stream             ║
║ [ ] Not indexed                 [ ] No scrub data                ║
╟──────────────────────────────────────────────────────────────────╢
║                                         MM/DD/YYYYY hh:mm:ss.ms  ║
║ Last write time:                        01/14/2016  08:38:48.268 ║
║ Creation time:                          01/13/2016  13:12:18.356 ║
║ Last access time:                       01/14/2016  11:20:38.004 ║
║ Change time:                            01/14/2016  10:09:28.028 ║
║                [ Original ] [ Current ] [ Blank ]                ║
╟──────────────────────────────────────────────────────────────────╢
║             { Set } [ System properties ] [ Cancel ]             ║
╚══════════════════════════════════════════════════════════════════╝
25080206

Портит файл при копировании

Post by 25080206 »

Если есть способ включить подробное логирование или еще что-то диагностическое - говорите как, сделаю.
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

Портит файл при копировании

Post by 2useven10 »

Что использовали, чтобы сделать файл разреженным ([x] Sparse) ?
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Портит файл при копировании

Post by HaRT »

25080206 wrote: файл 4 гигабайта, должен копироваться не меньше 15 секунд, а тут примерно за секунду
Если я правильно понимаю, что такое разреженный (sparse) файл, то такая быстрота не обязательно свидетельствует об ошибке.
25080206 wrote: файлы НЕ ИДЕНТИЧНЫ, Advanced compare при сравнении по контенту
В принципе ошибка может быть в плагине при обработке разреженных файлов. У Вас там настроено полное или выборочное сравнение контента?
И что говорят другие средства сравнения, хоть тот же fc.exe /b?
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Портит файл при копировании

Post by DrKnS »

2useven10 wrote: Что использовали, чтобы сделать файл разреженным ([x] Sparse) ?
Рискну предположить, что, судя по характерному названию файла, какой-нибудь µTorrent.

Фар копирует разреженные файлы с оптимизацией - копируются только реально занятые участки, так что проблема потенциально возможна, да.
Доступ к вашему компьютеру без установленной там студии имеет очень мало смысла, а просить вас выложить файл с интеллектуальной собственностью третьих лиц как-то не кошерно.
Выполните у себя там команду fsutil sparse queryrange "[TechTools.net] Microsoft Windows 10 5in1 November (x64).iso" > ranges.txt и приложите полученный ranges.txt сюда, вместе с точным размером файла, попробуем повторить.

И да, как уже посоветовали, fc.exe /b и, если будут различия, напишите, с какого адреса они начинаются.
25080206

Портит файл при копировании

Post by 25080206 »

Ничего не делал специально для этого - файл таким "упал" с торрентов, был создан в процессе работы uTorrent 3.4.5 build 41372.

Здесь наблюдается именно "болезненная" быстрота - копируется некоторое количество данных из начала файла и далее нули.

fc /b говорит:

Code: Select all

Comparing files D:\FAR_BUG\BAD\[TechTools.net] Microsoft Windows 10 5in1 November (x64).iso and D:\FAR_BUG\OK\[TECHTOOLS.NET] MICROSOFT WINDOWS 10 5IN1 NOVEMBER (X64).ISO
04E70000: 00 89
04E70001: 00 18
04E70002: 00 A6
04E70003: 00 35
04E70004: 00 23
04E70005: 00 B2
04E70006: 00 EE
04E70007: 00 12
04E70008: 00 17
04E70009: 00 04
04E7000A: 00 B3
04E7000B: 00 E9
04E7000C: 00 56
04E7000D: 00 66
04E7000E: 00 6D
04E7000F: 00 5A
04E70010: 00 45
04E70011: 00 C9
04E70012: 00 0A
04E70013: 00 3A
04E70014: 00 8A
04E70015: 00 7D
04E70016: 00 67
04E70017: 00 5B
04E70018: 00 AA
04E70019: 00 6A
04E7001A: 00 DE
04E7001B: 00 F8
04E7001C: 00 C1
04E7001D: 00 A4
04E7001E: 00 6A
04E7001F: 00 A0
04E70020: 00 11
04E70021: 00 1A
04E70022: 00 3F
04E70023: 00 A5
04E70024: 00 49
04E70025: 00 1B
04E70026: 00 DF
04E70027: 00 2B
04E70028: 00 5A
04E70029: 00 E9
04E7002A: 00 0C
04E7002B: 00 94
04E7002C: 00 6D
04E7002D: 00 9D
04E7002E: 00 40
25080206

Портит файл при копировании

Post by 25080206 »

Про интеллектуальную собственность - это дистрибутив винды без лекарства - почти такой же они дают сами бесплатно-триально, вот активатор ата-та (если кому-то не пофиг), но оный по другой ссылке :-)

fsutil sparse queryrange "[TechTools.net] Microsoft Windows 10 5in1 November (x64).iso" > ranges.txt

Code: Select all

D:\FAR_bug\ranges.txt
sparse range: [0] [65536]
sparse range: [524288] [1507328]
sparse range: [2555904] [2031616]
sparse range: [4784128] [1835008]
sparse range: [7077888] [2359296]
sparse range: [9633792] [4367581184]
sparse range: [4377804800] [917504]
sparse range: [4379246592] [13721600]
Начиная с 04E70000 пошли нули...

А вообще вот архивчик на облаке - пароль 123qwerty прикрывает чужую интеллектуальную собственность от косых взглядов - https://cloud.mail.ru/public/5gnw/B2yWHKnZo

И пруфвидео с экрана, как это все выглядит - https://youtu.be/fFy6404eMfk

Загрузка в процессе, смотрите через полчасика.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Портит файл при копировании

Post by DrKnS »

Исправлено в 4510.
25080206

Портит файл при копировании

Post by 25080206 »

Всегда рад помочь! :-)
25080206

Портит файл при копировании

Post by 25080206 »

Спасибо, баг задавлен!
Nicko
Posts: 4
Joined: Sat 27 Jul, 2019 14:19

Портит файл при копировании

Post by Nicko »

Решил проверить, как работают распределённые файлы и вот что вышло:

1) Отформатировал разделы в NTFS и ReFS
2) Отключил в uTorrent "Распределять все файлы"
3) Начал закачку торрента и тут же нажал СТОП
4) В uTorrent была видна тоненькая полосочка в графике загрузки, пересчитал хэш - пропала
5) скопировал файл FARом на другой диск
5) запустил fsutil sparse queryflag на оба файла - показало пустую область на всю длину файла
6) запустил fc /b - показывает, что файлы различаются, сравнение Total Commander'ом тоже показало, что файлы различаются

Дубль два
1) Начал закачку торрента и тут же нажал СТОП
2) скопировал файл FARом на другой диск
3) запустил fsutil sparse queryflag на оба файла - показало в оригинале Выделенный диапазон [1]: Смещение: 0x1dc9000 Длина: 0x2d000, в копии Выделенный диапазон [1]: Смещение: 0x1dc0000 Длина: 0x40000

Может кто-нибудь пояснить, как так получается?
Nicko
Posts: 4
Joined: Sat 27 Jul, 2019 14:19

Портит файл при копировании

Post by Nicko »

Ещё детали:

1) Система - Windows 10 1903 x64
2) FAR - 3.0.5400 x64, запущен под администратором

3) Если в uTorrent выбрать "Загружать в..." и указать другой диск - файлы становятся обычными, а не распределёнными
4) Если запустить "Оптимизация дисков" Windows и попробовать оптимизировать этот диск, пишет "Требуется оптимизация (Фрагментировано: 24%), и это при том, что диск пустой, NTFS и на нём лишь один скопированный файл
Nicko
Posts: 4
Joined: Sat 27 Jul, 2019 14:19

Портит файл при копировании

Post by Nicko »

Жаль, что на этом форуме нельзя (или я не нашёл как) редактировать сообщения.

1) Дефрагментатор вообще не дружит с распределёнными файлами, а не только плохо скопированными.

2) В Total Commander была поддержка распределённых файлов, но много лет назад автор отказался от собственных функций копирования и стал использовать CopyFileEx. Не смотря на это, в HELPе TC указано, что:
Use default method only
The default built in copy method (via ReadFile/WriteFile) is relatively slow, but also reliable.
3) Попробовал проделать все операции с файлом размера 5 Гбайт, а не 20-40 Мбайт, и ничего подобного смоделировать не мог. Возможно, что это связано с размерам блока самого торрента и работой uTorrent.
Post Reply

Return to “Глюки и баги”