Page 228 of 254

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

Posted: Tue 07 Apr, 2009 14:05
by John Doe
Внимание: Тема служит исключительно для обсуждения свежих багов Far 3.
  • Под свежими понимаются глюки и баги проявляющиеся в "ночных" сборках, но отсутствующие в "стабильных".
  • О проблемах, которые существуют давно, следует сообщать в отдельных темах, либо на багтрекере.
  • Вопросы связанные с ночными сборками, но не касающиеся багов самого фара, обсуждаются в другой теме:
Если баг о котором вы сообщили не исправлен "по горячим следам", значит необходимо создать запись на багтрекере

Предыдущие ночные билды доступны здесь.

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

Posted: Fri 03 Aug, 2018 16:40
by 2useven10

Latest post of the previous page:

arclite plugin.cpp #270

Code: Select all

    extract_dir = *dest_path;
    extract(pp_items, extract_dir, move != 0, op_mode);
    if (extract_dir != *dest_path) {
      *dest_path = extract_dir.c_str();
extract_dir - member Plugin, который после extract() уже удалён.

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

Posted: Wed 08 Aug, 2018 19:43
by 2useven10
арклайт я поправил, он теперь не падает.
b#5249 падение не устранил.
imho лучше всё-таки откатить, а для синхронного закрытия сделать параметр или новый FCTL_...
любой плагин поправить не сложно, если автор следит за развитием событий.
но есть много плагинов которые стабильно работают годами, хотя авторы уже ими не занимаются или появляются редко.
когда это аукнется - только вопрос времени. не удивлюсь, что например это окажется таким случаем.

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

Posted: Wed 08 Aug, 2018 22:14
by zg
2useven10 wrote:
Wed 08 Aug, 2018 19:43
imho лучше всё-таки откатить, а для синхронного закрытия сделать параметр или новый FCTL_...
то что было, оно не сказать чтобы сильно асинхронное было. оно было до первого чтения фаром ввода плюс ещё какие-то варианты. сейчас по крайней мере это работает детерминировано.
2useven10 wrote:
Wed 08 Aug, 2018 19:43
не удивлюсь, что например это окажется таким случаем.
исходники доступны, из них видно, что FCTL_CLOSEPANEL используется только при выходе из корня в реестре на удалённой машине. а по ссылке дело в поиске. поиск кривой и на плагиновых панелях возможны падения.

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

Posted: Wed 15 Aug, 2018 14:32
by 2useven10

Code: Select all

zg 15.08.2018 00:00:47 +0300 - build 5256
1. все вызовы плагинов защищены глобальной критической секцией.
Снова здравствуй песня.
Теперь не только в arclite но и в 7-zip.

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

Posted: Wed 15 Aug, 2018 15:25
by zg
с одной стороны есть апи, которое непотокобезопасно.
с другой — есть фар со своим поиском, который вызывает плагины, которые и сами непотокобезопасны и вызывают непотокобезопасное апи.
с третьей — есть арклайт, который и сам непотокобезопасен и ещё и вызывает непотокобезопасное апи из неосновного потока.
как это вместе скрестить — я не знаю. по мне — так виноват арклайт.

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

Posted: Wed 15 Aug, 2018 15:40
by 2useven10
zg wrote:
Wed 15 Aug, 2018 15:25
есть арклайт, который и сам непотокобезопасен
не сталкивался с этим. если можно более обоснованно.
арклайт сам не рулит многопоточностью, колбэки из доп. потоков идут от 7z. можно сознательно срезать производительность архиватора в силу того, что фар почти ничего не может делать не в основеом потоке, а то что раньше работало мы дополнительно задавили. не могу сказать что такое развитие мне нравится.

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

Posted: Wed 15 Aug, 2018 16:32
by NightRoman
Что означает на практике "все вызовы плагинов защищены глобальной критической секцией"?
Плагину нельзя будет вызывать Фар АПИ из неглавного потока или что-то другое?

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

Posted: Wed 15 Aug, 2018 16:32
by zg
2useven10 wrote:
Wed 15 Aug, 2018 15:40
не сталкивался с этим. если можно более обоснованно.
куда уж обоснованнее? но это немного уход от темы.

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

Posted: Wed 15 Aug, 2018 16:33
by zg
NightRoman wrote:
Wed 15 Aug, 2018 16:32
Плагину нельзя будет вызывать Фар АПИ из неглавного потока или что-то другое?
апи никогда нельзя было вызывать из неосновного потока.

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

Posted: Wed 15 Aug, 2018 16:37
by NightRoman
zg wrote:
Wed 15 Aug, 2018 16:33
апи никогда нельзя было вызывать из неосновного потока.
Это не совсем так. Никогда нельзя было одновренно из нескольких. Это не одно и то же.

Например, PowerShellFar, когда запускает скрипты *всегда* приводит к вызову Фар из неглавного потока. Так работает ядро ПШ, и это изменить плагин не может.

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

Posted: Wed 15 Aug, 2018 17:06
by zg
NightRoman wrote:
Wed 15 Aug, 2018 16:37
Это не совсем так. Никогда нельзя было одновренно из нескольких. Это не одно и то же.
это действительно не одно и то же, и я не припомню, где гарантировалась работа вашего варианта.
NightRoman wrote:
Wed 15 Aug, 2018 16:37
Например, PowerShellFar, когда запускает скрипты *всегда* приводит к вызову Фар из неглавного потока. Так работает ядро ПШ, и это изменить плагин не может.
с трудом вериться.

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

Posted: Wed 15 Aug, 2018 17:16
by NightRoman
zg wrote:
Wed 15 Aug, 2018 17:06
с трудом вериться.
ПШ использует отдельный поток для выполнения скрипта. В частности, это дает возможность остановить выполнение в любой момент, прервав поток. Вызывающий поток (главный, плагина) при этом "блокирован". Таким образом, вызовы Фар гарантированы только из одного потока скрипта. Потокобезопастность обеспечена. АПИ Фара вызывается только одним потоком. Не главным. Главный в это время ждет.

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

Posted: Wed 15 Aug, 2018 17:36
by NightRoman
А где именно в энциклопедии написано, что нельзя вызывать Фар из неосновного потока? Может, стоит переформулировать точнее. Потокобезопастность - это доступ к общим ресурсам по одному потоку зараз, а не только из главного потока.

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

Posted: Thu 16 Aug, 2018 00:18
by 2useven10
Написано или нет, скорее всего это до сих пор работает.
Мало того, если в том же арлайт для выполнения работы создать отдельный поток, заблокировав основной (из которого пришёл запрос на извлечение файла из архива) то я думаю - всё отработает без проблем, но это навязывание обязательности удаления гланд через известное место.

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

Posted: Thu 16 Aug, 2018 06:30
by NightRoman
Far30b5256.x64.20180816.7z - плагин FarNet + PowerShellFar зависает при вызовах Far
Far30b5255.x64.20180814.7z - плагин работает нормально

Например, следующие команды PowerShellFar вызывают зависание

ps: $far.Message('hello')
ps: $editor = $Far.CreateEditor(); $editor.FileName = 'z.txt'; $editor.Open()

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

Posted: Thu 16 Aug, 2018 11:22
by Dennis_Moore
Проблема с сохранением настройки Far Hints (пост) так и осталась в последнем билде.

Почините пожалуйста если не сложно.