MantisBT  Site | Plugring | Plugins API and Macros | Forum | English Forum | Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003410Far Manager_Commonpublic2017-03-16 11:322017-03-17 15:47
Reporteryuriabele 
Assigned Tozg 
PrioritynormalSeveritycrashReproducibilityalways
StatusclosedResolutionno change required 
Platformx64OSWindowsOS Version10
Product Version3.0 
Target VersionFixed in Version 
Summary0003410: A new version (3.0.4900) of Far Manager crasches SvcMgr Plugin
DescriptionHallo!

In Far version older when 3.0.4900 Service Manager Plugin (also lattest svcmgr-v2.1.14.7z) has worked without any problems.
Now if I start Far comes this crash message:

 ╔══════════════════════════ Exception occurred ══════════════════════════╗
 ║ Exception: Access violation (read from 0xFFFFFFFFC517E3B6) ║
 ║ Address: 0x000000006ABA289B SetDirectoryW ║
 ║ Function: GetGlobalInfoW ║
 ║ Module: :\Program Files\Far Manager\Plugins\svcmgr\svcmgr-x64.dll ║
 ╟────────────────────────────────────────────────────────────────────────╢
 ║ { Unload plugin } [ Stack ] [ Minidump ] [ Ignore ] ║
 ╚════════════════════════════════════════════════════════════════════════╝

Unload Plugin helps, but we need it!

Stack:
 ╔══════════ Exception occurred ══════════╗
 ║ 0x000000006ABA289B SetDirectoryW ║
 ║ 0x000000006AB890D3 GetGlobalInfoW ║
 ║ 0x00007FF6F6166AF0 ║
 ║ 0x00007FF6F6165A55 ║
 ║ 0x00007FF6F61634A4 ║
 ║ 0x00007FF6F6162AD6 ║
 ║ 0x00007FF6F618B182 ║
 ║ 0x00007FF6F618C1CA ║
 ║ 0x00007FF6F601EC71 ║
 ║ 0x00007FF6F613E00D ║
 ║ 0x00007FF6F6141289 ║
 ║ 0x00007FF6F6141570 ║
 ║ 0x00007FF6F6141650 ║
 ║ 0x00007FF6F614167E ║
 ║ 0x00007FF6F6141603 ║
 ║ 0x00007FF6F61FC1A9 ║
 ║ 0x00007FFCC6E62D92 BaseThreadInitThunk ║
 ║ 0x00007FFCC96D9F64 RtlUserThreadStart ║
 ╟────────────────────────────────────────╢
 ║ { OK } ║
 ╚════════════════════════════════════════╝
TagsSvcMgr
Build0
Attached Files

- Relationships

-  Notes
(0015284)
DrKnS (administrator)
2017-03-16 15:46

> Stack:

This is quite useless.
Please get Far.pdb of the same version from the download page, put it to the same directory and reproduce again.
(0015285)
DrKnS (administrator)
2017-03-16 15:53

> also lattest svcmgr-v2.1.14.7z

The latest one is 2.2.14.3380 and it works fine for me.
(0015287)
zg (developer)
2017-03-16 16:26

2.2.14 у меня падает в vc сборке и не падает в gcc. плагин собран gcc, падает внутри _Unwind_SjLj_Register вызванного из GetGlobalInfoW. x64. возможно какая-то несовместимость по исключениям.
(0015289)
Denis (reporter)
2017-03-16 21:46
edited on: 2017-03-16 21:58

У меня с 2.2.14.3380 x64 Far сразу, ещё при старте, вываливается.
А как его собрать в vc?

(0015290)
zg (developer)
2017-03-16 22:23

если вопрос ко мне, то у меня речь про фар шла.
(0015291)
Denis (reporter)
2017-03-16 22:44
edited on: 2017-03-16 22:44

Что-то я не сообразил, решил что речь о сборке плагина.
Вот падение в Far:
Exception thrown at 0x000000006ABA289B (svcmgr-x64.dll) in Far.exe: 0xC0000005: Access violation reading location 0xFFFFFFFF98E91F8E.

     svcmgr-x64.dll!000000006aba289b() Unknown
     svcmgr-x64.dll!000000006ab890d3() Unknown
> Far.exe!detail::ExecuteFunctionImpl<void (__cdecl*)(GlobalInfo * __ptr64),GlobalInfo * __ptr64 & __ptr64,0>(detail::ExecuteStruct & __formal, void(*)(GlobalInfo *) & Function, GlobalInfo * & <Args_0>) Line 189 C++
     Far.exe!Plugin::ExecuteFunctionSeh<Plugin::ExecuteStruct<0,1>,GlobalInfo * __ptr64 & __ptr64>(Plugin::ExecuteStruct<0,1> & es, GlobalInfo * & <Args_0>) Line 306 C++
     Far.exe!Plugin::ExecuteFunction::__l2::<lambda>() Line 325 C++
     Far.exe!seh_invoke<void <lambda>(void),<lambda_3ebd1ca825a849d1772c737f0b063da8>,void <lambda>(void) >(Plugin::ExecuteFunction::__l2::void <lambda>(void) && Callable, seh_invoke_with_ui::__l2::<lambda_3ebd1ca825a849d1772c737f0b063da8> && Filter, Plugin::ExecuteFunction::__l2::void <lambda>(void) && Handler) Line 72 C++
     Far.exe!seh_invoke_with_ui<void <lambda>(void),void <lambda>(void) >(Plugin::ExecuteFunction::__l2::void <lambda>(void) && Callable, Plugin::ExecuteFunction::__l2::void <lambda>(void) && Handler, const wchar_t * Function, Plugin * Module) Line 92 C++
     Far.exe!Plugin::ExecuteFunction<Plugin::ExecuteStruct<0,1>,GlobalInfo * __ptr64 & __ptr64>(Plugin::ExecuteStruct<0,1> & es, GlobalInfo * & <Args_0>) Line 331 C++
     Far.exe!Plugin::GetGlobalInfo(GlobalInfo * Info) Line 799 C++
     Far.exe!Plugin::LoadData() Line 581 C++
     Far.exe!PluginManager::LoadPlugin(const std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > & FileName, const os::FAR_FIND_DATA & FindData, bool LoadToMem) Line 233 C++
     Far.exe!PluginManager::LoadPlugins() Line 440 C++
     Far.exe!ControlObject::Init(int DirCount) Line 93 C++
     Far.exe!MainProcess(const std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > & EditName, const std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > & ViewName, const std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > & DestName1, const std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > & DestName2, int StartLine, int StartChar) Line 224 C++
     Far.exe!mainImpl(const range<wchar_t * *> & Args) Line 772 C++
     Far.exe!wmain_seh(int Argc, wchar_t * * Argv) Line 802 C++
     Far.exe!main::__l2::<lambda>() Line 830 C++
     Far.exe!seh_invoke<int <lambda>(void),<lambda_f59458cbf269a0adfd276d3ed06feeed>,int <lambda>(void) >(main::__l2::int <lambda>(void) && Callable, seh_invoke_with_ui::__l2::<lambda_f59458cbf269a0adfd276d3ed06feeed> && Filter, main::__l2::int <lambda>(void) && Handler) Line 72 C++
     Far.exe!seh_invoke_with_ui<int <lambda>(void),int <lambda>(void) >(main::__l2::int <lambda>(void) && Callable, main::__l2::int <lambda>(void) && Handler, const wchar_t * Function, Plugin * Module) Line 92 C++
     Far.exe!main() Line 837 C++

(0015292)
Denis (reporter)
2017-03-16 22:51

svcmgr-v2.1.14.7z x64 перестал работать не в 4900, а гораздо раньше.
(0015293)
DrKnS (administrator)
2017-03-16 23:03

> Access violation reading location 0xFFFFFFFF98E91F8E

Вот это 0xFFFFFFFF в старшем дворде наводит на определённые мысли.
Например, что плагин где-то считает, что указатель влезает в int.

<телепат>В 4833 ещё работает, а в 4834 уже нет?</телепат>
(0015294)
Denis (reporter)
2017-03-16 23:20

Не похоже, 4833:
╔══════════════════════════ Exception occurred ══════════════════════════╗
║ Exception: Access violation (read from 0xFFFFFFFFC894AF56) ║
║ Address: 0x000000006ABA289B SetDirectoryW ║
║ Function: GetGlobalInfoW ║
║ Module: _other\2017\2017.03.16\test\Plugins\SvcMgr\svcmgr-x64.dll ║
╟────────────────────────────────────────────────────────────────────────╢
║ { Unload plugin } [ Stack ] [ Minidump ] [ Ignore ] ║
╚════════════════════════════════════════════════════════════════════════╝
(0015295)
Denis (reporter)
2017-03-16 23:24

В 7ке всё ещё работало, после перехода на win10 стал падать:
http://forum.farmanager.com/viewtopic.php?p=135884#p135884
(0015296)
zg (developer)
2017-03-17 01:16

как я понимаю, это какие-то баги tdm-овской библиотеки для разделяемой памяти.
(0015297)
yuriabele (reporter)
2017-03-17 11:16

Call Stack with usage of debug symbols:

0x000000006ABA289B SetDirectoryW
0x000000006AB890D3 GetGlobalInfoW
0x00007FF6FA266AF0 Plugin::ExecuteFunctionSeh<Plugin::ExecuteStruct<0,1>,GlobalInfo * __ptr64 & __ptr64> (c:\src\unicode_far\plclass.hpp:306)
0x00007FF6FA265A55 seh_invoke<<lambda_b090c28aa0aa9aa234a9f2770885ebc0>,<lambda_3ebd1ca825a849d1772c737f0b063da8>,<lambda_6516aa88bad2ab8134e2e4ee396053db> > (c:\src\unicode_far\farexcpt.hpp:60)
0x00007FF6FA2634A4 Plugin::GetGlobalInfo (c:\src\unicode_far\plclass.cpp:798)
0x00007FF6FA262AD6 Plugin::LoadData (c:\src\unicode_far\plclass.cpp:581)
0x00007FF6FA262C83 Plugin::Load (c:\src\unicode_far\plclass.cpp:618)
0x00007FF6FA263867 Plugin::Open (c:\src\unicode_far\plclass.cpp:871)
0x00007FF6FA294FC2 PluginManager::Open (c:\src\unicode_far\plugins.cpp:2302)
0x00007FF6FA2912F3 PluginManager::CommandsMenu (c:\src\unicode_far\plugins.cpp:1538)
0x00007FF6FA24573F Manager::PluginsMenu (c:\src\unicode_far\manager.cpp:875)
0x00007FF6FA24512B Manager::ProcessKey (c:\src\unicode_far\manager.cpp:726)
0x00007FF6FA244873 Manager::ProcessMainLoop (c:\src\unicode_far\manager.cpp:633)
0x00007FF6FA244665 Manager::EnterMainLoop (c:\src\unicode_far\manager.cpp:601)
0x00007FF6FA23E45B MainProcess (c:\src\unicode_far\main.cpp:281)
0x00007FF6FA241289 mainImpl (c:\src\unicode_far\main.cpp:773)
0x00007FF6FA241570 wmain_seh (c:\src\unicode_far\main.cpp:803)
0x00007FF6FA241650 <lambda_93e8a75ad0d6631789a8313e38bae319>::operator() (c:\src\unicode_far\main.cpp:831)
0x00007FF6FA24167E seh_invoke<<lambda_93e8a75ad0d6631789a8313e38bae319>,<lambda_145e833b177623fc1adb8fc0d10f5083>,<lambda_b1c7d289a037a6c5b48976ae0d4fd300> > (c:\src\unicode_far\farexcpt.hpp:60)
0x00007FF6FA241603 main (c:\src\unicode_far\main.cpp:838)
0x00007FF6FA2FC1A9 __scrt_common_main_seh (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253)
0x00007FFA69178364 BaseThreadInitThunk
0x00007FFA6A2770D1 RtlUserThreadStart
(0015298)
yuriabele (reporter)
2017-03-17 11:30
edited on: 2017-03-17 11:35

Только что проверил - в версии 3.0.3000 работает.
Screenshot:
https://drive.google.com/open?id=0B3tbCRwmdqHQcDhBeTNVeFlTdEk
или так:
https://lh6.googleusercontent.com/lGdov3IDji_8eoHv92XywRuNMtXrrwdrIYBlL1i9IZgjhBNnUA7Lp-r7DrFj1MEU8O6rlYac=w1184-h612

(0015299)
Denis (reporter)
2017-03-17 11:33

Скорее всего, что нужно править плагин, но сначала его нужно научиться собирать.
(0015300)
zg (developer)
2017-03-17 12:59

адрес, при чтении по которому падает, возвращается https://searchcode.com/codesearch/view/12934722/ get_ptr_from_atom. я не сильно вникал, но видимо под 10-ой там всё плохо. плагин там не причём тоже, пересобрать надо более свежим компилятором.
(0015301)
zg (developer)
2017-03-17 15:47

баг тут ptr |= (1 << (ptr_len - i));
когда (ptr_len - i) равно 31, там получается 0xffffffff80000000, с большими значениями, естественно, вообще мусор.
т.е. плагин работает, когда void* shared_mem = malloc(size); возвращает адрес в первых 2Gb и не работает, когда он больше.
т.е. ни к плагину, ни к фару эта проблема отношения не имеет.

- Issue History
Date Modified Username Field Change
2017-03-16 11:32 yuriabele New Issue
2017-03-16 11:46 yuriabele Tag Attached: SvcMgr
2017-03-16 15:46 DrKnS Note Added: 0015284
2017-03-16 15:53 DrKnS Note Added: 0015285
2017-03-16 16:26 zg Note Added: 0015287
2017-03-16 21:46 Denis Note Added: 0015289
2017-03-16 21:46 Denis Note Edited: 0015289 View Revisions
2017-03-16 21:58 Denis Note Edited: 0015289 View Revisions
2017-03-16 22:23 zg Note Added: 0015290
2017-03-16 22:44 Denis Note Added: 0015291
2017-03-16 22:44 Denis Note Edited: 0015291 View Revisions
2017-03-16 22:51 Denis Note Added: 0015292
2017-03-16 23:03 DrKnS Note Added: 0015293
2017-03-16 23:20 Denis Note Added: 0015294
2017-03-16 23:24 Denis Note Added: 0015295
2017-03-17 01:16 zg Note Added: 0015296
2017-03-17 11:16 yuriabele Note Added: 0015297
2017-03-17 11:30 yuriabele Note Added: 0015298
2017-03-17 11:33 yuriabele Note Edited: 0015298 View Revisions
2017-03-17 11:33 Denis Note Added: 0015299
2017-03-17 11:35 yuriabele Note Edited: 0015298 View Revisions
2017-03-17 12:59 zg Note Added: 0015300
2017-03-17 15:47 zg Note Added: 0015301
2017-03-17 15:47 zg Build => 0
2017-03-17 15:47 zg Status new => closed
2017-03-17 15:47 zg Assigned To => zg
2017-03-17 15:47 zg Resolution open => no change required



Copyright © 2000 - 2017 MantisBT Team
Powered by Mantis Bugtracker