Нулевые байты в начале файла при сохранении

Здесь можно сообщить о найденных багах в Far.
falcon111
Posts: 16
Joined: Thu 13 Jul, 2017 16:25
Has thanked: 3 times

Глюки и баги, появившиеся в «ночных сборках»

Post by falcon111 »

Второй бесящий глюк. Открыл/создал текстовый файл в 1251 (другие кодировки не пробовал), отредактировал, сохранил, вышел. В начале файла сохраняется пара сотен нулей (\x00).
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Глюки и баги, появившиеся в «ночных сборках»

Post by HaRT »

falcon111 wrote: Fri 14 Jul, 2017 23:12В начале файла сохраняется пара сотен нулей (\x00).
У меня не воспроизводится. Win 8.1 Ent x64; Far Manager, version 3.0 (build 4984) x86.
Ищите какие-то ключевые особенности в своей системе. Например, воспроизводятся ли проблемы в 32-битном Фаре? Воспроизводится ли в такой же конфигурации на других машинах?
Last edited by HaRT on Fri 14 Jul, 2017 23:42, edited 1 time in total.
Фар есть инструмент, а не нянька. © 2009 DrKnS
falcon111
Posts: 16
Joined: Thu 13 Jul, 2017 16:25
Has thanked: 3 times

Глюки и баги, появившиеся в «ночных сборках»

Post by falcon111 »

HaRT wrote: Fri 14 Jul, 2017 23:41У меня не воспроизводится.
Воспроизводится совершенно без напряга 100%.
1. Создаем файл(или открываем первый раз в этой сессии ФАРа), в данном случае, выгрузил из ДБ 250 хэшей.
2. Скопировал файл для последующего сравнения. Шаг не обязательный.
3. Ф4, жму три раза стрелку вниз, добавляю два пробела в начале третьей строки, Ф2, Esc.
Смотрим результат. В начале файла 16К нулей, и сейчас обратил внимание, что размер нулей приблизительно равен размеру файла, впечатление, что сохраняет дважды, сперва пустой буфер, потом данные.
Последующие редактирования этого файла глюков не создают. Если создать файл с НОВЫМ именем, то после первого редактирования в начале появятся нули.
32 бита не проверял, но старые версии фар-а этим не страдают.
Опции сохранения позиции выключены (не знаю, имеет значение или нет):
[ ] Save commands history
[ ] Save folders history
[ ] Save view and edit history
Attachments
test_files.7z
Вот тестовый файл до и после редактирования
(8.84 KiB) Downloaded 91 times
falcon111
Posts: 16
Joined: Thu 13 Jul, 2017 16:25
Has thanked: 3 times

Глюки и баги, появившиеся в «ночных сборках»

Post by falcon111 »

Не пойму, где тут редактировать свой пост.
falcon111 wrote: Sat 15 Jul, 2017 01:09сейчас обратил внимание, что размер нулей приблизительно равен размеру файла, впечатление, что сохраняет дважды, сперва пустой буфер, потом данные.
Может не сохраняет дважды, а lseek-ает не в начало файла а в размер старого/нового размера файла и оттуда пишет данные, естественно, что в начале получаются нули. Это - если ФАР удаляет старый файл и пересоздает на его месте новый.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Глюки и баги, появившиеся в «ночных сборках»

Post by HaRT »

falcon111 wrote: Sat 15 Jul, 2017 01:09Воспроизводится совершенно без напряга 100%.
А у меня с Вашим файлом и по Вашим шагам не воспроизводится (даже при отключенных историях, хоть это и не должно влиять). Судя по отсутствию массовых жалоб, такая проблема у Вас одного. Что-то есть эдакое в Вашей системе — ищите, тут за Вас это никто не сможет сделать.
Last edited by HaRT on Sat 15 Jul, 2017 02:39, edited 1 time in total.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Глюки и баги, появившиеся в «ночных сборках»

Post by John Doe »

falcon111, выясняли в каком именно билде появилась проблема?
User avatar
Dennis_Moore
Posts: 295
Joined: Tue 03 Mar, 2015 19:54
Location: Kiev
Has thanked: 6 times
Been thanked: 17 times

Глюки и баги, появившиеся в «ночных сборках»

Post by Dennis_Moore »

falcon111 wrote: Sat 15 Jul, 2017 01:09Воспроизводится совершенно без напряга 100%
Я тоже провел над вашим файлом эти действия на чистом b4984 - нулей нет.
Проверяйте без макросов/профиля/плагинов/на другой машине.

Upd. falcon111, а какая(ие) ФС на ваших дисках ? Еще советую попробовать на Windows отличных от W10 и в другом FM (Double Commander, Unreal Commander, Total Commander), т.е. не в Проводнике.

Проблемы с железом тоже вероятны.
Last edited by Dennis_Moore on Sat 15 Jul, 2017 16:03, edited 2 times in total.
falcon111
Posts: 16
Joined: Thu 13 Jul, 2017 16:25
Has thanked: 3 times

Глюки и баги, появившиеся в «ночных сборках»

Post by falcon111 »

John Doe wrote: Sat 15 Jul, 2017 07:51выясняли в каком именно билде появилась проблема?
Нет, я довольно долго пользовался старым ФАРом, все устраивало, но появилась необходимость работать с utf8 файлами, тогда я сел на новые билды - и понеслось. Если не поленюсь - покачаю билды и попробую поискать. Но это через пару дней, пока некогда.
Dennis_Moore wrote: Sat 15 Jul, 2017 10:19Upd. falcon111, а какая(ие) ФС на ваших дисках ? Еще советую попробовать на Windows отличных от W10 и в другом FM (Double Commander, Unreal Commander, Total Commander), т.е. не в Проводнике.

Проблемы с железом тоже вероятны.
Ноут, i5-5200U, 12гиг рамы, bestcrypt v9.03.03.3, primo ramdisk 5.7.0 - на нем временный диск T: на 3.76Gb, на который указывают юзерская и системная переменные TMP/TEMP. Везде NTFS, проблемы с железом исключены, это рабочая машина (уточнять не буду) без левого софта, работает как часы.
Ни в одной другой программе-редакторах подобного не наблюдается.
Левых плагинов никаких нет, смену версии ФАРа я делаю удаляя каталог старого ФАРа, скачиваю 7з-архив с новой версией, разархивирую на место старого ФАРа.

PS: И еще новый глюк: качаем инсталл миранды-им (h__ps://sourceforge.net/projects/miranda/files/miranda-im/0.10.71.0/miranda-im-v0.10.71-unicode.exe), екзешник, входим в него по ctrl+PgDn, видим содержимое, но все файлы показывает 0 байт длиной, извлекаешь файлы - они извлекаются нормально, т.е. НЕ 0 байт длиной.
Attachments
Все файлы в архиве показывает 0 байт.
Все файлы в архиве показывает 0 байт.
FarBug2.png (21.93 KiB) Viewed 11016 times
User avatar
Dennis_Moore
Posts: 295
Joined: Tue 03 Mar, 2015 19:54
Location: Kiev
Has thanked: 6 times
Been thanked: 17 times

Глюки и баги, появившиеся в «ночных сборках»

Post by Dennis_Moore »

falcon111 wrote: Sat 15 Jul, 2017 17:38старым ФАРом
Каким конкретно (FAR1/2/3, какой билд и разрядность) ?
falcon111 wrote: Sat 15 Jul, 2017 17:38без левого софта, работает как часы.
У каждого свои критерии "левости" софта. Насчет софта и железа всегда можно быть уверенным на 95%, но никогда на 100 - сложность программно-аппаратного комплекса под названием компьютер давно перевалила рамки понимания одного человека.

Проверьте на чистой виртуальной машине с Win7 SP1, это займет 15 минут времени.
Возможно проблемы с FAR это верхушка большей проблемы.
falcon111 wrote: Sat 15 Jul, 2017 17:38все файлы показывает 0 байт длиной, извлекаешь файлы - они извлекаются нормально, т.е. НЕ 0 байт длиной
Видимо arclite (или 7zip на котором он основан) не читает метаданные о размере из NSIS инсталлятора. Плагин Observer читает.

Кстати, вам ответили на ru-board: http://forum.ru-board.com/topic.cgi?for ... rt=3340#17
falcon111
Posts: 16
Joined: Thu 13 Jul, 2017 16:25
Has thanked: 3 times

Глюки и баги, появившиеся в «ночных сборках»

Post by falcon111 »

Dennis_Moore wrote: Sat 15 Jul, 2017 19:57Каким конкретно (FAR1/2/3, какой билд и разрядность) ?
Еще со времен когда он днем недели регистрировался :) Последняя рабочая лошидка, по-моему, Far2 x64, билд не помню, как я сказал, я тупо удаляю старый фар, скачиваю и ставлю новый. Теперь вот сказать какой был раньше - не могу, не ждал такой засады. :(
Dennis_Moore wrote: Sat 15 Jul, 2017 19:57У каждого свои критерии "левости" софта. Насчет софта и железа всегда можно быть уверенным на 95%, но никогда на 100 - сложность программно-аппаратного комплекса под названием компьютер давно перевалила рамки понимания одного человека.
Согласен, я сам зарабатываю на жизнь разработкой ПО, поэтому разделяю эту точку зрения, но подозревать конкретно этот ноут сейчас причин нет.
На предыдущем ноуте, кстати, была аппаратная проблема - все работало, кроме акрониса. Акронис делал бэкап и верификация бэкапа в 75% случаев не проходила, приходилось делать бэкапы по 3-5 раз, хотя все тесты говорили что комп исправен, так что да, такое бывает, но в случае с фар-ом это сомнительно, слишком малая нагрузка создается им, слишком мало вычислений.
По своему опыту я бы подумал, что проблема на моем компе может быть с выделением памяти - выделяется не "чистая" память(всякие malloc/HeapAlloc или что там юзает ФАР не обещают что в выделенном буфере будут только нули), там где у большинства идут нули и какая-то переменная явно не инициализированная, но подразумевающая нулл вызывает глюки. Или буфер оверран из-за больших set-тингов или еще что-то подобное. Но это только предположение/ощущение, не могу никому ничего доказывать, я пытался посмотреть исходники фара, понял что нахрапом там не разобраться, а вникать пожалел времени.
Dennis_Moore wrote: Sat 15 Jul, 2017 19:57Проверьте на чистой виртуальной машине с Win7 SP1, это займет 15 минут времени.
Возможно проблемы с FAR это верхушка большей проблемы.
Виртуалка не потребуется, во-первых на конкретно этом компе их нет и не будет, во-вторых у меня достаточно большое количество машин под рукой, где можно будет проверить, проверю.
Dennis_Moore wrote: Sat 15 Jul, 2017 19:57Видимо arclite (или 7zip на котором он основан) не читает метаданные о размере из NSIS инсталлятора. Плагин Observer читает.
Как я сказал, левый софт не ставится на эту машину, даже ради обновлений, поэтому ту же аську я обновляю тупо заменяя файлы из архива новых версий. Раньше так делал и сейчас так делаю. Но раньше в ФАРе размер файлов был виден, а сейчас - нет, и это неприятно, потому что в той же аське в каталоге Icons лежит по две копии дллек с разными размерами, и раньше проблем выбрать бОльшие файлы не было, а в новом ФАРе - есть.
Dennis_Moore wrote: Sat 15 Jul, 2017 19:57Кстати, вам ответили на ru-board:
Спасибо за наводку, я бы не догадался там ответы искать на посты из этого форума. :)
Кстати, подскажите где взять билды кроме последних ФАР3? В скачивании-архиве только старые версии доступны до 11 года, а просмотр каталога, например, http://www.farmanager.com/files/ недоступен. Чтобы подбирать какие билды с глюками, какие - нет - надо сперва эти билды теперь найти.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Глюки и баги, появившиеся в «ночных сборках»

Post by HaRT »

 ! Message from: HaRT
falcon111 wrote: Sat 15 Jul, 2017 17:38
John Doe wrote: Sat 15 Jul, 2017 07:51выясняли в каком именно билде появилась проблема?
Нет, я довольно долго пользовался старым ФАРом, все устраивало, но появилась необходимость работать с utf8 файлами, тогда я сел на новые билды - и понеслось. Если не поленюсь - покачаю билды и попробую поискать.
Т.е. правила темы Вы не выполняете и правила раздела тоже не выполняете — скользкая дорожка.

P.S.
Тему я отделил, но в другой раз накажу за пренебрежение правилами.
Last edited by HaRT on Sat 15 Jul, 2017 21:29, edited 1 time in total.
Фар есть инструмент, а не нянька. © 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 »

falcon111 wrote: Sat 15 Jul, 2017 17:38Если не поленюсь - покачаю билды и попробую поискать
Конечно, весьма вероятно, что баг именно в фаре.
В одной из основных функций.
И его до сих пор никто (кроме вас) не заметил.
Видимо, мало кто редактирует файлы фаром.

Но, если таки решите напрячься - рекомендую попробовать поискать глючные драйвера на вашем ноуте.
Начиная прямо с вышеупомянутого бесткрипта.
User avatar
Dennis_Moore
Posts: 295
Joined: Tue 03 Mar, 2015 19:54
Location: Kiev
Has thanked: 6 times
Been thanked: 17 times

Нулевые байты в начале файла при сохранении

Post by Dennis_Moore »

falcon111 wrote: Sat 15 Jul, 2017 21:03Кстати, подскажите где взять билды кроме последних ФАР3?
http://farmanager.com/nightly.php. К сожалению "глубина" не такая большая как хотелось бы.
falcon111
Posts: 16
Joined: Thu 13 Jul, 2017 16:25
Has thanked: 3 times

Нулевые байты в начале файла при сохранении

Post by falcon111 »

DrKnS wrote: Sat 15 Jul, 2017 21:38Но, если таки решите напрячься - рекомендую попробовать поискать глючные драйвера на вашем ноуте.
Начиная прямо с вышеупомянутого бесткрипта.
Осталось объяснить, почему страдает только фар, если он так от драйверов зависит.
Dennis_Moore wrote: Sat 15 Jul, 2017 21:51http://farmanager.com/nightly.php. К сожалению "глубина" не такая большая как хотелось бы.
Спасибо, проверил на самом старом доступном билде 4787 - в нем глюк уже есть.
Пока могу только показать два аттача. С нормальным сохранением все понятно. А в НЕнормальном - сохранение с позиции 16652 данных 16654 байт длиной, потом зачем-то ЧТЕНИЕ с позиции 16384 в буфер 32К (на редактирование читает по 8К), и дальше уже закрытие.
Attachments
Это - НЕ нормальное сохранение файла.
Это - НЕ нормальное сохранение файла.
FarBug_SysMon_Run_1.png (46.5 KiB) Viewed 10896 times
Это - нормальное сохранение файла.
Это - нормальное сохранение файла.
FarBug_SysMon_Run_2.png (39.12 KiB) Viewed 10896 times
Last edited by falcon111 on Sat 15 Jul, 2017 23:26, edited 1 time in total.
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 »

falcon111 wrote: Sat 15 Jul, 2017 23:24 Осталось объяснить, почему страдает только фар, если он так от драйверов зависит.
Потому что у CreateFile весьма много параметров, а их комбинаций ещё больше.
А подход "хуяк, хуяк и в продакшн" не редкость: explorer работает, notepad работает, ну и отлично.

При сохранении фар открывает существующий файл с флагом TRUNCATE_EXISTING.
Ткну пальцем в небо и предположу, что этот флаг у вас обрабатывается криво.
Судя по картинке, файл таки обрезали, но при этом поинтер зачем-то засунули аж в конец, куда фар всё и записал.
Post Reply

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