Нулевые байты в начале файла при сохранении
Глюки и баги, появившиеся в «ночных сборках»
Второй бесящий глюк. Открыл/создал текстовый файл в 1251 (другие кодировки не пробовал), отредактировал, сохранил, вышел. В начале файла сохраняется пара сотен нулей (\x00).
- HaRT
- Moderator
- Posts: 10866
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Глюки и баги, появившиеся в «ночных сборках»
У меня не воспроизводится. 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
Глюки и баги, появившиеся в «ночных сборках»
Воспроизводится совершенно без напряга 100%.HaRT wrote: ↑Fri 14 Jul, 2017 23:41У меня не воспроизводится.
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 96 times
Глюки и баги, появившиеся в «ночных сборках»
Не пойму, где тут редактировать свой пост.
Может не сохраняет дважды, а lseek-ает не в начало файла а в размер старого/нового размера файла и оттуда пишет данные, естественно, что в начале получаются нули. Это - если ФАР удаляет старый файл и пересоздает на его месте новый.falcon111 wrote: ↑Sat 15 Jul, 2017 01:09сейчас обратил внимание, что размер нулей приблизительно равен размеру файла, впечатление, что сохраняет дважды, сперва пустой буфер, потом данные.
- HaRT
- Moderator
- Posts: 10866
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Глюки и баги, появившиеся в «ночных сборках»
А у меня с Вашим файлом и по Вашим шагам не воспроизводится (даже при отключенных историях, хоть это и не должно влиять). Судя по отсутствию массовых жалоб, такая проблема у Вас одного. Что-то есть эдакое в Вашей системе — ищите, тут за Вас это никто не сможет сделать.
Last edited by HaRT on Sat 15 Jul, 2017 02:39, edited 1 time in total.
Фар есть инструмент, а не нянька. © 2009 DrKnS
- John Doe
- Бюрократ
- Posts: 13860
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Глюки и баги, появившиеся в «ночных сборках»
falcon111, выясняли в каком именно билде появилась проблема?
- Dennis_Moore
- Posts: 298
- Joined: Tue 03 Mar, 2015 19:54
- Location: Kiev
- Has thanked: 6 times
- Been thanked: 17 times
Глюки и баги, появившиеся в «ночных сборках»
Я тоже провел над вашим файлом эти действия на чистом 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.
Глюки и баги, появившиеся в «ночных сборках»
Нет, я довольно долго пользовался старым ФАРом, все устраивало, но появилась необходимость работать с utf8 файлами, тогда я сел на новые билды - и понеслось. Если не поленюсь - покачаю билды и попробую поискать. Но это через пару дней, пока некогда.John Doe wrote: ↑Sat 15 Jul, 2017 07:51выясняли в каком именно билде появилась проблема?
Ноут, i5-5200U, 12гиг рамы, bestcrypt v9.03.03.3, primo ramdisk 5.7.0 - на нем временный диск T: на 3.76Gb, на который указывают юзерская и системная переменные TMP/TEMP. Везде NTFS, проблемы с железом исключены, это рабочая машина (уточнять не буду) без левого софта, работает как часы.Dennis_Moore wrote: ↑Sat 15 Jul, 2017 10:19Upd. falcon111, а какая(ие) ФС на ваших дисках ? Еще советую попробовать на Windows отличных от W10 и в другом FM (Double Commander, Unreal Commander, Total Commander), т.е. не в Проводнике.
Проблемы с железом тоже вероятны.
Ни в одной другой программе-редакторах подобного не наблюдается.
Левых плагинов никаких нет, смену версии ФАРа я делаю удаляя каталог старого ФАРа, скачиваю 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 байт.
- FarBug2.png (21.93 KiB) Viewed 11055 times
- Dennis_Moore
- Posts: 298
- Joined: Tue 03 Mar, 2015 19:54
- Location: Kiev
- Has thanked: 6 times
- Been thanked: 17 times
Глюки и баги, появившиеся в «ночных сборках»
Каким конкретно (FAR1/2/3, какой билд и разрядность) ?
У каждого свои критерии "левости" софта. Насчет софта и железа всегда можно быть уверенным на 95%, но никогда на 100 - сложность программно-аппаратного комплекса под названием компьютер давно перевалила рамки понимания одного человека.
Проверьте на чистой виртуальной машине с Win7 SP1, это займет 15 минут времени.
Возможно проблемы с FAR это верхушка большей проблемы.
Видимо arclite (или 7zip на котором он основан) не читает метаданные о размере из NSIS инсталлятора. Плагин Observer читает.
Кстати, вам ответили на ru-board: http://forum.ru-board.com/topic.cgi?for ... rt=3340#17
Глюки и баги, появившиеся в «ночных сборках»
Еще со времен когда он днем недели регистрировался Последняя рабочая лошидка, по-моему, Far2 x64, билд не помню, как я сказал, я тупо удаляю старый фар, скачиваю и ставлю новый. Теперь вот сказать какой был раньше - не могу, не ждал такой засады.Dennis_Moore wrote: ↑Sat 15 Jul, 2017 19:57Каким конкретно (FAR1/2/3, какой билд и разрядность) ?
Согласен, я сам зарабатываю на жизнь разработкой ПО, поэтому разделяю эту точку зрения, но подозревать конкретно этот ноут сейчас причин нет.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 это верхушка большей проблемы.
Как я сказал, левый софт не ставится на эту машину, даже ради обновлений, поэтому ту же аську я обновляю тупо заменяя файлы из архива новых версий. Раньше так делал и сейчас так делаю. Но раньше в ФАРе размер файлов был виден, а сейчас - нет, и это неприятно, потому что в той же аське в каталоге Icons лежит по две копии дллек с разными размерами, и раньше проблем выбрать бОльшие файлы не было, а в новом ФАРе - есть.Dennis_Moore wrote: ↑Sat 15 Jul, 2017 19:57Видимо arclite (или 7zip на котором он основан) не читает метаданные о размере из NSIS инсталлятора. Плагин Observer читает.
Спасибо за наводку, я бы не догадался там ответы искать на посты из этого форума.Dennis_Moore wrote: ↑Sat 15 Jul, 2017 19:57Кстати, вам ответили на ru-board:
Кстати, подскажите где взять билды кроме последних ФАР3? В скачивании-архиве только старые версии доступны до 11 года, а просмотр каталога, например, http://www.farmanager.com/files/ недоступен. Чтобы подбирать какие билды с глюками, какие - нет - надо сперва эти билды теперь найти.
- HaRT
- Moderator
- Posts: 10866
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Глюки и баги, появившиеся в «ночных сборках»
Last edited by HaRT on Sat 15 Jul, 2017 21:29, edited 1 time in total.
Фар есть инструмент, а не нянька. © 2009 DrKnS
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Нулевые байты в начале файла при сохранении
Конечно, весьма вероятно, что баг именно в фаре.
В одной из основных функций.
И его до сих пор никто (кроме вас) не заметил.
Видимо, мало кто редактирует файлы фаром.
Но, если таки решите напрячься - рекомендую попробовать поискать глючные драйвера на вашем ноуте.
Начиная прямо с вышеупомянутого бесткрипта.
- Dennis_Moore
- Posts: 298
- Joined: Tue 03 Mar, 2015 19:54
- Location: Kiev
- Has thanked: 6 times
- Been thanked: 17 times
Нулевые байты в начале файла при сохранении
http://farmanager.com/nightly.php. К сожалению "глубина" не такая большая как хотелось бы.
Нулевые байты в начале файла при сохранении
Осталось объяснить, почему страдает только фар, если он так от драйверов зависит.
Спасибо, проверил на самом старом доступном билде 4787 - в нем глюк уже есть.Dennis_Moore wrote: ↑Sat 15 Jul, 2017 21:51http://farmanager.com/nightly.php. К сожалению "глубина" не такая большая как хотелось бы.
Пока могу только показать два аттача. С нормальным сохранением все понятно. А в НЕнормальном - сохранение с позиции 16652 данных 16654 байт длиной, потом зачем-то ЧТЕНИЕ с позиции 16384 в буфер 32К (на редактирование читает по 8К), и дальше уже закрытие.
- Attachments
-
- Это - НЕ нормальное сохранение файла.
- FarBug_SysMon_Run_1.png (46.5 KiB) Viewed 10935 times
-
- Это - нормальное сохранение файла.
- FarBug_SysMon_Run_2.png (39.12 KiB) Viewed 10935 times
Last edited by falcon111 on Sat 15 Jul, 2017 23:26, edited 1 time in total.
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Нулевые байты в начале файла при сохранении
Потому что у CreateFile весьма много параметров, а их комбинаций ещё больше.
А подход "хуяк, хуяк и в продакшн" не редкость: explorer работает, notepad работает, ну и отлично.
При сохранении фар открывает существующий файл с флагом TRUNCATE_EXISTING.
Ткну пальцем в небо и предположу, что этот флаг у вас обрабатывается криво.
Судя по картинке, файл таки обрезали, но при этом поинтер зачем-то засунули аж в конец, куда фар всё и записал.