Тут недавно возник интерес к плагину LFTmpPanel, я его давно уже активно не развиваю, работает и работает.
Но тут вдруг столкнулся, что на x64 плагин вместе с Фаром падает (я крайне редко запускаю x64, поэтому неудивительно, что не знал).
Упасть может сразу при запуске Фара либо при вызове плагина. Красное окно с исключением никогда не выводится.
Я без понятия, где проблема - в Фаре, Луафаре или плагине. Кто бы помог продебаггировать (DrKnS ?)
Билды <= 5065 -- работает
Билды 5188-5552 -- падает
Билды 5555-5558 -- снова работает
--
Непонятный крэш
-
- Posts: 6840
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Непонятный крэш
DrKnS, спасибо, конечно, но как бы зацепиться не за что
Перебрасывание luafar3.dll мужду "хорошим" и "плохим" билдами ничего не меняет: хороший остаётся хорошим, плохой - плохим.
Перебрасывание luafar3.dll мужду "хорошим" и "плохим" билдами ничего не меняет: хороший остаётся хорошим, плохой - плохим.
Last edited by Shmuel on Sun 16 Feb, 2020 19:38, edited 1 time in total.
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Непонятный крэш
Shmuel, плагин портит хип в 5552 и не портит в 5553.
Одно из заметных отличий 5553 - новое поле в PluginStartupInfo.
Если его добавить в 5552 (любого типа) - падать перестаёт.
Более того, если просто тупо увеличить PluginStartupInfo.StructSize:
- падать тоже перестаёт.
Код вы не показываете, поэтому сложно утверждать что-то определённое, могу разве что посоветовать проверить обращения к StructSize в SetStartupInfo().
Одно из заметных отличий 5553 - новое поле в PluginStartupInfo.
Если его добавить в 5552 (любого типа) - падать перестаёт.
Более того, если просто тупо увеличить PluginStartupInfo.StructSize:
- падать тоже перестаёт.
Код вы не показываете, поэтому сложно утверждать что-то определённое, могу разве что посоветовать проверить обращения к StructSize в SetStartupInfo().
-
- Posts: 6840
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Непонятный крэш
DrKnS, отлично, мы продвигаемся
Не понял насчёт непоказывания кода. В данном плагине нет C-кода за исключением стандартного plugins\luamacro\luafar\luaplug.c, который точно так же участвует в билде LuaMacro. А Lua-код весь в приложенном архиве.
Не понял насчёт непоказывания кода. В данном плагине нет C-кода за исключением стандартного plugins\luamacro\luafar\luaplug.c, который точно так же участвует в билде LuaMacro. А Lua-код весь в приложенном архиве.
-
- Posts: 6840
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Непонятный крэш
DrKnS, вроде починил, исключительно благодаря вашей помощи.
При копировании PluginStartupInfo и FSF надо было учитывать выравнивание (alignment).
Коммитить уже буду завтра, сейчас устал.
При копировании PluginStartupInfo и FSF надо было учитывать выравнивание (alignment).
Коммитить уже буду завтра, сейчас устал.
Last edited by Shmuel on Sun 16 Feb, 2020 22:57, edited 1 time in total.
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
-
- Posts: 6840
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Непонятный крэш
Точности ради: дело было не в выравнивании, а в более грубой ошибке, связанной с арифметикой указателей.
- John Doe
- Бюрократ
- Posts: 13862
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Непонятный крэш
Другие luafar-плагины тоже потенциально этому подвержены?
https://t.me/FarManager — Telegram чат
-
- Posts: 6840
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Непонятный крэш
Поскольку баг был в luaplug.c, который общий для всех луафар-плагинов, то да. Их надо пересобрать и перевыложить.