shmuz / LuaFAR

A library for writing Far Manager plugins in Lua.
11 stars 3 forks source link

Вопрос - LuaFar 3.10 под какие версии LFE/LFS/Fin рассчитана? Проблемы с ней полезли. #5

Closed VictorVG closed 12 years ago

VictorVG commented 12 years ago

При запуске с текущими lfsearch-addon v1.4, lfsearch v3.0.4, luafar4editor v3.0.8, LauFin и luafar3.dll v3.0.9 вопросов нет, а с 3.0.10 соглашается запускаться только один плагин luafar4editor остальные сообщают об отсутствии нужной точки входа.. Сравнил импорты и экспорты DLL и вижу, что в 3.0.10 в таблице экспорта вызовы LF_LuaClose и LF_LuaOpen отсутствуют, но вроде и прямых их вызовов в таблицах импорта нет, системных логах пусто, записи ошибки по F3 пока так же на гипотезу не наталкивают:

LastError: 0x0000007E - Не найден указанный модуль.

С расшифровкой причины:

NTSTATUS: 0xC0000135 - {Не удалось найти компонент} Приложению не удалось запуститься, поскольку %hs не был найден. Повторная установка приложения может исправить эту проблему.

зато просмотр в Process Hacker списка загруженных модулей показывает, что при вызове luafar4editor в списке модулей есть записи:

lf4ed_e.dll, 0x67380000, 132 kB, LuaFAR for Editor, plugin for Far Manager

lua5.1.dll, 0x6e940000, 172 kB, luafar3.dll, 0x68300000, 224 kB, LuaFAR library

а для всех двух других плагинах в списке загруженных модулей если использовать luafar3.dll версии 3.0.10 то она просто не загружается в ОЗУ, в то время как с 3.0.9 данное явление не воспроизводится, и от версии ОС не зависит - была у меня такая гипотеза, но сам же её и опроверг - явление воспроизводится под Far 3.0.2772 х86 на Windows XP SP3 и Windows 7 SP1 устойчиво, повторяемость эксперимента 100%. Да и памяти системам вроде хватает - на одной стоит 2 ГБ ОЗУ из них свободно 1,5 ГБ на второй все 4 Гб, первая "видит" все свои 2 ГБ, а вторая "скромно" 3,5 Гб из 4,0 ГБ установленных (ограничения имения дяди Стиви.:)), свободно 1,2 ГБ ОЗУ.

Потому у меня сейчас осталась гипотеза, о том, что версия 3.0.10 в каком-то смысле написана "на вырост" и пока лучше использовать 3.0.9.

Я не ошибаюсь в своих предположениях?

shmuz commented 12 years ago

Потому у меня сейчас осталась гипотеза, о том, что версия 3.0.10 в каком-то смысле написана "на вырост" и пока лучше использовать 3.0.9.

Я не ошибаюсь в своих предположениях?

Нет, не ошибаетесь, и большое спасибо за репорт. Единственное что мне здесь непонятно, это как у вас luafar4editor умудряется запускаться. Я-то у себя пересобрал все плагины, а о том, что выложенные перестанут работать, упустил из виду. Выложу сейчас LuaFAR 3.0.9 обратно и подумаю, как лучше разрулить эту ситуацию.

shmuz commented 12 years ago

Выложил версию 3.0.11. Если нетрудно, испытайте, пожалуйста.

VictorVG commented 12 years ago

Проверил - с 3.0.11 всё заработало, lua5.1.dll и luafar3.dll загружены в память процесса, сообщений об ошибках больше нет, все необходимые DLL плагиерв загружены и работают. Проверено под XP SP3 х86 и SeVen SP1 х86. Огромное СПАСИБО! Закрываем ошибку как устранённую?

shmuz commented 12 years ago

Ну, раз заработало, закрываем, конечно. Спасибо!