виноват модуль Folders, но при его удалении зависания в FarHints.dll фиксируемые по статистике использования времени ЦП выводимой Process Hacker - тред FarHinst в таких ситуациях всегда использует на два - три порядка циклов ЦП чем все остальные треды вместе взятые, стали редкостью. Типовое значение ~ 1700000 циклов ЦП использует FarHinmts.dll и <= 12000 циклов ЦП остальные треды которых может быть до 20 шт. Предполагаю, что простая рекомпиляция плагина в очередной версии Дельфи не поможет - надо исправлять логику получения хинтов каталогов - похоже причина сбоев лежит в ней.
Ошибка воспроизводится в т.ч. в версии 1.22, например если на одной панели открыть каталог с файлами в MP4, на другой AVI и попробовать прочитать плагином MediaInfo данные потоков, то в значительном числе случаев при возврате из другого плагина получим зависание. Аналогичный эффект иногда возникает при вызове графического EMenu.
Victor_VG, Отправлено:13:25 17-01-2018
При наличии субплагина FarHints::Filders при дисковых операциях возникает AV в ProcessSynchroEventW() на b5128 x64 под Win7 SP1:
Исключительная ситуация
Исключение: 0xC0000005 - EXCEPTION_ACCESS_VIOLATION Подробности: Memory at 0000000000000008 could not be read Адрес: 0x0000000003733338 - ProcessSynchroEventW Источник: Функция: FarUnhandledExceptionFilter Модуль: Far.exe
стек
0x0000000003733338 ProcessSynchroEventW 0x000000000373A758 ProcessSynchroEventW 0x000000000373E2A0 ProcessSynchroEventW 0x000000000373C723 ProcessSynchroEventW 0x00000000041C7BFD _dbk_fcall_wrapper 0x000000000373A951 ProcessSynchroEventW 0x000000000373AAF3 ProcessSynchroEventW 0x000000000373ACD8 ProcessSynchroEventW 0x000000000372F040 _dbk_fcall_wrapper 0x0000000003724D0D 0x0000000076FE59CD BaseThreadInitThunk 0x000000007721A561 RtlUserThreadStart[/i]
виноват модуль Folders, но при его удалении зависания в FarHints.dll фиксируемые по статистике использования времени ЦП выводимой Process Hacker - тред FarHinst в таких ситуациях всегда использует на два - три порядка циклов ЦП чем все остальные треды вместе взятые, стали редкостью. Типовое значение ~ 1700000 циклов ЦП использует FarHinmts.dll и <= 12000 циклов ЦП остальные треды которых может быть до 20 шт. Предполагаю, что простая рекомпиляция плагина в очередной версии Дельфи не поможет - надо исправлять логику получения хинтов каталогов - похоже причина сбоев лежит в ней.
Ошибка воспроизводится в т.ч. в версии 1.22, например если на одной панели открыть каталог с файлами в MP4, на другой AVI и попробовать прочитать плагином MediaInfo данные потоков, то в значительном числе случаев при возврате из другого плагина получим зависание. Аналогичный эффект иногда возникает при вызове графического EMenu.