michaellukashov / Far-NetBox

SFTP/SCP/FTP/FTPS/WebDAV/S3 client for Far Manager 3 (http://farmanager.com/)
https://forum.farmanager.com/viewtopic.php?t=6317
GNU General Public License v2.0
161 stars 52 forks source link

Ошибка API Far b4145+ в NetBox вызывает AV и плагин роняет Fаr и вылезают явления Инц#123 #127

Closed VictorVG closed 10 years ago

VictorVG commented 10 years ago

Вводная:

До рефакторинга в b4145 смена режима сортировки на панели NetBox-а не вызывала проблем, а вот после него они появились - http://forum.ru-board.com/topic.cgi?forum=5&topic=31718&start=5700#6 и продолжение http://forum.ru-board.com/topic.cgi?forum=5&topic=31718&start=5700#9 , http://forum.ru-board.com/topic.cgi?forum=5&topic=31718&start=5700#11, http://forum.ru-board.com/topic.cgi?forum=5&topic=31718&start=5700#12 .

Я уже запутался искать причину закрытия тредов Far после команды смены режима сортировки в панели плагина. Можно попросить помощи в поиске причины этого странного явления?

VictorVG commented 10 years ago

Вроде наловил кучу сих чертей и если я прав, то причины в dialog.cpp лежат, но всё одно я уже не представляю что именно и где править и мне нужна подсказка. Там по всей 286-й странице отчёты лежат начиная с Process Hacker-а и заканчивая дебаггером и логом падения cl из С++ 2013. Потому я и думаю что это в исходниках фар-а опечатка прячется и её надо устранять. Хотя возможно что нужно просто NB с новыми хедерами пересобрать и глянуть как он себя поведёт, но вроде на ь4144 этих проблем ещё не было, и это мешает разобраться в реалиях, хотя факт завершения тредов Far с кодом 0х3 не может не настораживать.:(

VictorVG commented 10 years ago

В общем и целом на данный момент известно что через Plugin API b4145+ в плагин приходит мусор вызывающий в нём AV и тот роняет Far что видно в b4148_debug.tar.xz (http://www66.zippyshare.com/v/41925750/file.html ) на отладочной сборке и на скриншотах и логах отладчика в том же тарбалле. Данный инц прямо связан с https://github.com/michaellukashov/Far-NetBox/issues/123 поскольку за возможность визуально наблюдать остаточные эффекты падения комплекса "хост-плагин" отвечает именно этот механизм - блокировка привилегированных хендлов ядром ОС. По моему лучшей демонстрации проявления данного эффекта не требуется:

подключился, нажал CtrlF6, упали, смотрим что видим в свойствах процесса:

b4149

смотрим закладку Hendles и видим заблокированные ядром хендлы - они выделены тёмно-серым фоном:

b4149-hendles

смотрим свойства первого из них (прав и привилегий у нас достаточно - Domain Admin, UAC выключен):

b4149-afd

b4149_afd_sequrity

и пытаемся закрыть хендл нажатием Del и получаем системное сообщение о невозможности операции:

b4149_close_hendle

В данный момент это явление не устранено на билдах b4145 - b4149, элементарно прослеживается в отладочных сборках, в релизных хорошо видны его проявления...

VictorVG commented 10 years ago

_Свежее: b4150._ Позвали NetBox v2.1.40.336, соединились с FTP, НИЧЕГО не делали - упали. Записей в в логах нет, траплога нет, воспроизводится элементарно - или через несколько секунд Far сам падает или нажать любую клавишу на клавиатуре - в лучшем случае весь Far висит, в остальных падает. Началось в b4145.

И в ту же коллекцию - в VC 12 "собрался" b4150 r12563 и в нём "всё работает", а я просто пьян в дымину :

vc12

_P.S._

Честно говоря у меня уже не осталось желания вообще что-то и где-то делать после сегодняшнего. Достало, да гори оно всё ясным пламенем ибо ничто, никому и нафиг не нужно, зато поколение пепси - "Дядюшка когда прикажешь долго жить!?"