View Issue Details

IDProjectCategoryView StatusLast Update
0001663Far ManagerMacropublic2013-06-03 13:30
ReporterRaistlin Assigned Toshmuel  
PrioritynormalSeveritymajorReproducibilityhave not tried
Status closedResolutionfixed 
Platformx86OSWindowsOS VersionXP SP3
Fixed in Version3.0 
Summary0001663: Не работают макросы из user menu при большом количестве объектов на панели
DescriptionВыполняем в тестовой папке команду:
for /l %A in (1,1,3000) do @copy nul File%A
Выделяем первые два файла, запускаем из user menu макрос:
macro:post $Rep (APanel.SelCount) panel.setposidx(0,1,1) print("echo " + APanel.Current) Enter panel.select(0,0,1) $End
Получаем дулю.
TagsNo tags attached.
Build3431

Activities

Raistlin

2011-01-15 22:38

reporter   bugnote:0006122

Кстати, сделал
[x] Отключать автообновление панелей, если объектов больше 100
Никакой разницы.

vskirdin

2011-10-12 09:10

administrator   bugnote:0007864

"Дуля" это про что?
Что должно было быть (ожидается), что стало (получилось)?

Raistlin

2011-10-18 18:19

reporter   bugnote:0007903

Ожидалось последовательное выполнение команд:
echo File1
echo File10
На деле не выполняется ничего (в Far2).

В Far3 все нормально.

Raistlin

2011-10-18 19:42

reporter   bugnote:0007905

Ан нет, и в Far3 есть проблема. При 100 000 файлах в папке команды не выполняются, выделение с файлов не снимается.

vskirdin

2011-10-19 07:23

administrator   bugnote:0007908

наверное мы не договоримся, т.к. у мя все пашет.
и, наверное, придется жука искать тебе ;-)

Raistlin

2011-10-19 08:21

reporter   bugnote:0007909

У меня стабильно воспроизводится при отсутствии плагинов, кроме FarCmds с враппером (far3.2223bis2.x86.x64.7z + Far3Wrap.1.20.(2204).7z, все брал на http://code.google.com/p/conemu-maximus5/downloads/list).
Проблема определенно в перечитывании панели - в тройке оно сильно оптимизировано, что видно невооруженным глазом, и поэтому для бага требуется куда больше файлов. Машина у меня относительно медленная (C2D 6300 @ 2,51 ГГц), так что, возможно, тебе надо еще количество файлов увеличить в 2-3 раза, чтоб ее увидеть.

Arty

2011-10-19 15:07

reporter   bugnote:0007911

FAR 3.0 build 2223 x86, Windows 7 Ultimate x64 SP1 - не воспроизводится.
Макрос из юзер меню дико тормозит при 30000 файлов, но работает.

Maximus

2011-10-20 08:25

reporter   bugnote:0007924

Не повторяется. Может что-то от настроек фара/панелей зависит? Выложи файлы профиля.

Raistlin

2011-10-20 14:48

reporter   bugnote:0007933

Настройки все дефолтные - это просто, так как в боевых условиях пока использую Far2. Только что удалил профиль и перепроверил - воспроизводится. Выделение не снимается, позиция курсора не меняется, сообщений в консоли нет. Вопрос к тестирующим: вы все точно вопроизводите? Количество файлов (намек Arty), запуск команды из user menu? Из комстроки и у меня работает.

Вот это непонятно:
> Макрос из юзер меню дико тормозит при 30000 файлов, но работает
У меня не тормозит (только обычный лаг от перечитывания панели). И не работает.

Maximus

2011-10-20 19:15

reporter   bugnote:0007935

Да, чет я про usermenu упустил. Из него - повторяется.

shmuel

2013-05-26 16:46

developer   bugnote:0011031

3427.

Raistlin

2013-05-27 10:23

reporter   bugnote:0011034

К сожалению, я совершенно не разбираюсь в новом макроязыке, поэтому проверить не могу. Старый макрос выдает у меня: "unexpected symbol near '$'".

shmuel

2013-05-27 10:41

developer   bugnote:0011035

В данном случае мало чем отличается от исходного макроса, проверяйте:

macro:post for k=1,APanel.SelCount do Panel.SetPosIdx(0,1,1) print("echo " .. APanel.Current) Keys"Enter" Panel.Select(0,0,1) end

Raistlin

2013-05-28 21:25

reporter   bugnote:0011041

Попробовал. Ошибка не воспроизводится. Попробовал на билде 3363 - тоже. То ли это пофиксили раньше (но тогда что вы фиксили сейчас?), то ли дело в более быстрой конфигурации. Увеличил число файлов до 300000, но это вообще мрак - постоянные перечитывания панели при любом нажатии на клавиши, даже на простую стрелку вниз. Что, наверное, тоже баг.
Попробую найти машину помедленнее.

shmuel

2013-05-28 23:42

developer   bugnote:0011043

> Попробовал. Ошибка не воспроизводится. Попробовал на билде 3363 - тоже.
> То ли это пофиксили раньше (но тогда что вы фиксили сейчас?), то ли дело
> в более быстрой конфигурации.

У меня дешёвый компьютер 3-летней давности. Ошибка воспроизводилась хорошо в папке со 100 тыс. файлов. После билда 3427 - больше не воспроизводится (пробовал со 100 тыс. и со 150 тыс. файлов).

> Увеличил число файлов до 300000, но это вообще мрак - постоянные
> перечитывания панели при любом нажатии на клавиши, даже на простую стрелку
> вниз. Что, наверное, тоже баг.

Поскольку у меня такого эффекта не наблюдается, осмелюсь предположить, что эти перечитывания у вас при любом нажатии на клавиши - дело рук какого-то установленного макроса или плагина.

Raistlin

2013-06-02 22:17

reporter   bugnote:0011067

У меня постарше будет.
Снизил частоту своего C2D до 1600 МГц - все равно не повторяется на 3363. Ну, и на 3428 тоже. Не знаю...

Raistlin

2013-06-02 23:15

reporter   bugnote:0011069

На 200 000 - ОК.

shmuel

2013-06-03 13:30

developer   bugnote:0011081

Причина проблем 0001662 и 0001663 - это то, что исполняемый макрос вмешивается в процесс перечитывания панелей Фаром, нарушая этот процесс. Это происходит, когда Фар проверяет, не нажал ли пользователь Esc во время перечитывания (что видимо реализовано криво).

Исправление состояло в приостановке исполнения макросов на время проверки нажатия пользователем Esc.

Issue History

Date Modified Username Field Change
2011-01-15 22:36 Raistlin New Issue
2011-01-15 22:38 Raistlin Note Added: 0006122
2011-10-12 09:10 vskirdin Note Added: 0007864
2011-10-18 18:19 Raistlin Note Added: 0007903
2011-10-18 18:19 Raistlin Status new => resolved
2011-10-18 19:42 Raistlin Note Added: 0007905
2011-10-18 19:42 Raistlin Status resolved => assigned
2011-10-19 07:23 vskirdin Note Added: 0007908
2011-10-19 08:21 Raistlin Note Added: 0007909
2011-10-19 15:07 Arty Note Added: 0007911
2011-10-20 08:25 Maximus Note Added: 0007924
2011-10-20 14:48 Raistlin Note Added: 0007933
2011-10-20 19:15 Maximus Note Added: 0007935
2013-04-10 09:27 alexy Status assigned => new
2013-05-26 16:46 shmuel Note Added: 0011031
2013-05-26 16:46 shmuel Assigned To => shmuel
2013-05-26 16:46 shmuel Status new => feedback
2013-05-27 10:23 Raistlin Note Added: 0011034
2013-05-27 10:23 Raistlin Status feedback => assigned
2013-05-27 10:41 shmuel Note Added: 0011035
2013-05-27 10:41 shmuel Status assigned => feedback
2013-05-28 21:25 Raistlin Note Added: 0011041
2013-05-28 21:25 Raistlin Status feedback => assigned
2013-05-28 23:42 shmuel Note Added: 0011043
2013-05-28 23:43 shmuel Status assigned => feedback
2013-06-02 22:17 Raistlin Note Added: 0011067
2013-06-02 22:17 Raistlin Status feedback => assigned
2013-06-02 23:15 Raistlin Note Added: 0011069
2013-06-02 23:15 Raistlin Status assigned => resolved
2013-06-03 13:30 shmuel Build => 3431
2013-06-03 13:30 shmuel Note Added: 0011081
2013-06-03 13:30 shmuel Status resolved => closed
2013-06-03 13:30 shmuel Resolution open => fixed
2013-06-03 13:30 shmuel Fixed in Version => 3.0