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

Здесь можно сообщить о найденных багах в Far.
User avatar
John Doe
Бюрократ
Posts: 12829
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 290 times

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

Post by John Doe »

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

Предыдущие ночные билды доступны здесь.
https://t.me/FarManager — Telegram чат

Shmuel
Posts: 6138
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 317 times

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

Post by Shmuel »

Latest post of the previous page:

zg, если сочтёшь нужным, можно откатить синхронное закрытие панели.
Говорю это как инициатор этого изменения.
Мне казалось, что там хватит точечной правки, а если бы знал, что нужны масштабные изменения, не просил бы.

User avatar
zg
zero-gravity
Posts: 5832
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 151 times
Contact:

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

Post by zg »

2useven10 wrote:
Fri 03 Aug, 2018 15:23
@zg после первого '''этого" теперь валится arclite, при распаковке файлов с удалением архива.
как воспроизвести?

2useven10
Posts: 4051
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 188 times

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

Post by 2useven10 »

войти в архив, выделить что-нибудь, F5, в диалоге извлечения [x] Delete archive after extraction
Last edited by 2useven10 on Fri 03 Aug, 2018 16:35, edited 1 time in total.

2useven10
Posts: 4051
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 188 times

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

Post by 2useven10 »

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() уже удалён.

2useven10
Posts: 4051
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 188 times

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

Post by 2useven10 »

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

User avatar
zg
zero-gravity
Posts: 5832
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 151 times
Contact:

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

Post by zg »

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

2useven10
Posts: 4051
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 188 times

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

Post by 2useven10 »

Code: Select all

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

User avatar
zg
zero-gravity
Posts: 5832
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 151 times
Contact:

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

Post by zg »

с одной стороны есть апи, которое непотокобезопасно.
с другой — есть фар со своим поиском, который вызывает плагины, которые и сами непотокобезопасны и вызывают непотокобезопасное апи.
с третьей — есть арклайт, который и сам непотокобезопасен и ещё и вызывает непотокобезопасное апи из неосновного потока.
как это вместе скрестить — я не знаю. по мне — так виноват арклайт.

2useven10
Posts: 4051
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 188 times

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

Post by 2useven10 »

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

User avatar
NightRoman
Posts: 5937
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 14 times
Been thanked: 15 times
Contact:

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

Post by NightRoman »

Что означает на практике "все вызовы плагинов защищены глобальной критической секцией"?
Плагину нельзя будет вызывать Фар АПИ из неглавного потока или что-то другое?

User avatar
zg
zero-gravity
Posts: 5832
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 151 times
Contact:

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

Post by zg »

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

User avatar
zg
zero-gravity
Posts: 5832
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 151 times
Contact:

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

Post by zg »

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

User avatar
NightRoman
Posts: 5937
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 14 times
Been thanked: 15 times
Contact:

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

Post by NightRoman »

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

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

User avatar
zg
zero-gravity
Posts: 5832
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 151 times
Contact:

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

Post by zg »

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

User avatar
NightRoman
Posts: 5937
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 14 times
Been thanked: 15 times
Contact:

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

Post by NightRoman »

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

User avatar
NightRoman
Posts: 5937
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 14 times
Been thanked: 15 times
Contact:

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

Post by NightRoman »

А где именно в энциклопедии написано, что нельзя вызывать Фар из неосновного потока? Может, стоит переформулировать точнее. Потокобезопастность - это доступ к общим ресурсам по одному потоку зараз, а не только из главного потока.

Post Reply

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