kapai69 / far-plugins

Automatically exported from code.google.com/p/far-plugins
0 stars 0 forks source link

Имеется проблема с инициализацией плагина VisualCompare под враппером (версии до 1.11 вкл.) в Far 3.0 #18

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Имеет место проблема инициализации 
плагина VisualCompare 0.98 под far 3.0 с 
использованием враппера любой версии до 1.11 
включительно. Как проявляется? Происходит 
запуск враппера, но он по не ясной причине 
не может подгрузить DLL самого плагина и сам 
не выгружается. А коли его выгрузить 
принудитель, то фар падает. Уже убедился в 
этом используя Process Hacker 3.16 SVN 4204 (собственно 
в нём и увидел что DLL плагина не загружена). 
Автору враппера писал, но мы пока ничего 
понять не можем - тут как-то оказалась ещё 
завязана БД plugincache.db - если в ней нет записи 
для плагина, то он просто не запускается. В 
теме по Far Manager на ru-board мы уже всё что могли 
перепробовали (часть обсуждения тут - 
http://forum.ru-board.com/topic.cgi?forum=5&topic=31718&start=1620#7, 
часть на багтрекере плагина - ошибки 394 и 395). 

Вот я и думаю, может проще сделать его сразу 
нативным под far 3.0 благо последний уже явно 
можно считать достаточно рабочим чтобы с 
ним возится? 

P.S.

Если что, то думаю лучше в почте продолжить 
беседу - там нет лимита на размер текста, да 
и можно скинуть что надо для проверки не 
думая о лимите аттачей в проекте.:)

Original issue reported on code.google.com by victo...@mail333.com on 23 May 2011 at 10:17

GoogleCodeExporter commented 9 years ago
Судя по всему причину этой бяки я похоже 
отыскал - конфликт динамически назначаемых 
враппером GUID возникающий при отсутствии 
полного списка GUID плагинов в plugincache.db, 
например при её удалении. Случайно на это 
наткнулся когда из Far 2 плагинов он один 
оказался - все остальные были только от Far 3 
и явление ни разу не удалось воспроизвести 
в целой серии запусков.

Original comment by victo...@mail333.com on 25 May 2011 at 12:45

GoogleCodeExporter commented 9 years ago
Тикет можем закрыть как ошибочный - 
реальной причиной оказались ошибки 
плагина Avanced Compare Лёши Самлюкова - плагин 
при старте портил память так, что DLL плагина 
Visual Compare просто не загружалась враппером и 
её даже средствами специального 
антируткитного защитного АПК нельзя было в 
ОЗУ процесса отыскать. Удалил в процессе 
перебора всех плагинов AdvCmp.dll версии 3.0 build 32 
и ошибки исчезли. А я на него вообще не 
думал - вроде он для Far 3, GUID-ы прошиты в коде, 
а враппер их динамически формирует 
плагинам и я предполагал, что ошибка 
происходит из-за конфликта GUID-ов плагина с 
системным или другим плагиновым GUID-ом. 
Перебрал все что есть в системе - 
уникальный, и только когда написал для 
ловли подобных блох свой лаунчер отловил 
виновника за полчаса.:( А они мне до того 
неделю кровь пил.:( 

Но, всё таки версию этого плагина, как и 
макролиба под Far видеть "охотца":). Можно 
надеятся? Вроде судя по всему Far 3 API уже в 
общих чертах стабилизировался, и если и 
будут ребята вносить коррективы, то 
устраняющие выловленные за годы "узкие 
места", а потому хотелось бы иметь эту пару 
в версии для Far 3, и другие которые сейчас 
использую постоянно, за что большое 
спасибо не отказался бы увидеть: EdtFind, FarHints, 
PanelTabs, FontMan, Unicode CharMap. Понятно "хотелки", но 
при возможности и наличии свободного 
времени, как говорится просил бы иметь 
ввиду мою скромную просьбу.

P.S.

Лаунчер с исходниками в аттаче приложен. 
Его смысл в том, что у ANSI NSIS есть хитрые 
особенности в механизме стека приводящие к 
его повреждению при взаимодействии с 
некорректно работающими, особенно с ОЗУ и 
сетью программами, и это позволяет их 
обнаруживать с меньшими затратами времени 
и усилий - в такой ситуации NSIS выполняет 
роль своеобразного и очень 
чувствительного детектора подобных 
ошибок. Надеюсь что когда нибуь и 
пригодится дав возможность отдохнуть в вс 
близкими вместо возни с ловлей какой 
нибудь хитрой ошибки.

Original comment by victo...@mail333.com on 26 May 2011 at 12:39

Attachments:

GoogleCodeExporter commented 9 years ago
есть ли решение проблемы на сегодня? планов 
адаптировать плагин под фар3 нет?

Original comment by vga...@gmail.com on 16 Jan 2012 at 8:09

GoogleCodeExporter commented 9 years ago
Никакой проблемы нет, плагин работает под 
wrapper'ом. Версия для FAR3 будет скоро.

Original comment by Max.Ru...@gmail.com on 16 Jan 2012 at 7:02

GoogleCodeExporter commented 9 years ago
Огромное спасибо! Буду ждать и 
воспользуюсь. Ну, а раз такая пьянка можно 
вопрос: при сборке твоих плагинов в среде FPC 
2.44 и просмотре потом их ресурсов 
средствами ImpEx 0.8.10.0 для Far2 подключённого 
через враппер Far3Wrap (версия враппера всегда 
последняя чтобы соответствовала API) 
получаю в некоторых секциях сообщение что 
плагин не может просмотреть 8 или 20 байт 
ресурса, но вроде обычно бинарник работает. 
Вот чем может вызываться такое явление для 
меня загадка, как и способы борьбы с ним 
если она нужна. Дельфи у меня уже лет 
пятнадцать - двадцать на машинах нигде нет - 
когда-то давно на работе мы немного 
пользовались одной и первых её версий, но 
после ушли обратно на среду IBM PL/1 - 
основными применяемой ОС были IBM S/370 VM 7.1 и SUN 
OS 2.4 под которую наши ребята создали свой 
форк IBM-го компилятора для кросс-разработки 
и Дельфи убрали просто за ненужностью. И с 
тех пор я Паскалем вообще не занимался (да и 
честно говоря с института его не сильно 
жалую:)), но странное сообщение плагина меня 
мгновенно настораживает - раз есть что-то 
не обычное, то весьма вероятно 
возникновение ошибок. И пользуясь случаем 
я бы хотел попросить о консультации у тебя 
как профессионала.

С уважением, Виктор

Original comment by victorvg04 on 18 Jan 2012 at 10:35

GoogleCodeExporter commented 9 years ago
Максим! Ещё раз спасибо за плагин! Тикет 
можем закрывать с пометкой - решено. И даже 
странность со справкой которая 
сохранялась до 1.0.10 включительно 
испарилась. Я честно говоря не мог понять 
что происходит - в панелях справка зовётся, 
а при сравнении текста сообщает об ошибке 
поиска раздела справки. Я когда с ним 
столкнулся пробовал 0.99 и даже для проверки 
подключал к нему справку от 0.98 - ошибка 
сохранялась, а вот в 1.0.11 она наконец-то 
более не мешает. Грешен - иной раз не уверен 
что правильный хоткей нажму, ну и лезу 
уточнить в справку, а она в 0.99 - 1.0.10 не 
звалась. я понятное дело ворчал в бороду.:) 
Ну, раз повода ворчать нет, то борода может 
и отдохнуть.:)

Original comment by victorvg04 on 25 Jan 2012 at 6:08

GoogleCodeExporter commented 9 years ago
OK

Original comment by Max.Ru...@gmail.com on 26 Jan 2012 at 11:11

GoogleCodeExporter commented 9 years ago

Original comment by Max.Ru...@gmail.com on 26 Jan 2012 at 11:13