View Issue Details

IDProjectCategoryView StatusLast Update
0001784Far ManagerPlugins APIpublic2011-06-23 13:26
ReporterMaximus Assigned ToDrKnS  
PrioritynormalSeverityminorReproducibilitysometimes
Status closedResolutionfixed 
Product Version3.0 
Fixed in Version3.0 
Summary0001784: Глюки с кешем плагинов
DescriptionС кешем плагинов все плохо. Из-за чего он разваливается - непонятно.
Если надо - могу plugincache.db приложить.
Сейчас вот абсолютно непонятный облом произошел, непонятный для пользователя,
т.к. никаких ошибок фар вообще не показал!
Плагин "грузится из кеша", функция PluginManager::LoadPlugin зовет AddPlugin(pPlugin),
которая молча (!) возвращает false, сразу зовется "pPlugin->Unload(true); delete pPlugin;"
и на выход.
PluginManager::AddPlugin(Plugin *pPlugin) обламывается сразу

AncientPlugin** item=new AncientPlugin*(pPlugin);
item=PluginsCache->insert(item);
if(*item!=pPlugin) return false; // тут она сразу выходит

Причем я не понял, а этот item удалять не надо разве? Он так и повиснет в PluginsCache?
А ведь для pPlugin будет сразу вызван delete (
TagsNo tags attached.
Build2057

Activities

Maximus

2011-05-26 12:49

reporter   bugnote:0007066

сборка 2051

samlyukov

2011-05-26 13:11

reporter   bugnote:0007068

а на 2053 с убитым plugincache.db всё двоится :)

DrKnS

2011-05-27 06:16

administrator   bugnote:0007085

2055

Maximus

2011-05-27 21:37

reporter  

Loader.dll.7z (4,051 bytes)

Maximus

2011-05-27 21:38

reporter   bugnote:0007098

С кешем все еще плохо.
Валится отладочная версия
╔═══════════════════ Exception occurred ═══════════════════╗
║ Exception: Access violation (read from 0xCCCCCCCC) ║
║ Address: 0x014222C2 ║
║ Function: OpenW ║
║ Module: unicode_far\Debug.32.vc\Plugins\Loader.dll ║
╟──────────────────────────────────────────────────────────╢
║ { Unload plugin } [ Debug ] ║
╚══════════════════════════════════════════════════════════╝

Как добиться. Плагин один единственный, других файлов кроме указанных не требуется
\Far.exe
\FarEng.lng
\Far.exe.ini
\Plugins\Loader.dll

1. кеша нет, запускаем фар
2. сразу закрываем (кеш сформировался)
3. запускаем фар
4. F11
(в меню F11 должен быть пункт вроде «Debug.32.vc\Plugins\Loader.dll> Wrapper loading failed x0000007E)
Enter

все, упали

PS. Build 2056. В этой ситуации Loader.dll генерит новый гуид в каждом сеансе.

alexy

2011-05-27 23:25

administrator   bugnote:0007100

2057

Issue History

Date Modified Username Field Change
2011-05-26 12:47 Maximus New Issue
2011-05-26 12:49 Maximus Note Added: 0007066
2011-05-26 13:11 samlyukov Note Added: 0007068
2011-05-27 06:16 DrKnS Note Added: 0007085
2011-05-27 06:16 DrKnS Assigned To => DrKnS
2011-05-27 06:16 DrKnS Status new => feedback
2011-05-27 21:37 Maximus File Added: Loader.dll.7z
2011-05-27 21:38 Maximus Note Added: 0007098
2011-05-27 21:38 Maximus Status feedback => assigned
2011-05-27 23:25 alexy Note Added: 0007100
2011-05-27 23:25 alexy Status assigned => feedback
2011-06-23 13:26 DrKnS Build => 2057
2011-06-23 13:26 DrKnS Status feedback => closed
2011-06-23 13:26 DrKnS Resolution open => fixed
2011-06-23 13:26 DrKnS Fixed in Version => 3.0