View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003410 | Far Manager | _Common | public | 2017-03-16 08:32 | 2017-03-17 12:47 |
Reporter | yuriabele | Assigned To | zg | ||
Priority | normal | Severity | crash | Reproducibility | always |
Status | closed | Resolution | no change required | ||
Platform | x64 | OS | Windows | OS Version | 10 |
Product Version | 3.0 | ||||
Summary | 0003410: A new version (3.0.4900) of Far Manager crasches SvcMgr Plugin | ||||
Description | Hallo! 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 } ║ ╚════════════════════════════════════════╝ | ||||
Tags | SvcMgr | ||||
Build | 0 | ||||
|
> 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. |
|
> also lattest svcmgr-v2.1.14.7z The latest one is 2.2.14.3380 and it works fine for me. |
|
2.2.14 у меня падает в vc сборке и не падает в gcc. плагин собран gcc, падает внутри _Unwind_SjLj_Register вызванного из GetGlobalInfoW. x64. возможно какая-то несовместимость по исключениям. |
|
У меня с 2.2.14.3380 x64 Far сразу, ещё при старте, вываливается. А как его собрать в vc? |
|
если вопрос ко мне, то у меня речь про фар шла. |
|
Что-то я не сообразил, решил что речь о сборке плагина. Вот падение в 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++ |
|
svcmgr-v2.1.14.7z x64 перестал работать не в 4900, а гораздо раньше. |
|
> Access violation reading location 0xFFFFFFFF98E91F8E Вот это 0xFFFFFFFF в старшем дворде наводит на определённые мысли. Например, что плагин где-то считает, что указатель влезает в int. <телепат>В 4833 ещё работает, а в 4834 уже нет?</телепат> |
|
Не похоже, 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 ] ║ ╚════════════════════════════════════════════════════════════════════════╝ |
|
В 7ке всё ещё работало, после перехода на win10 стал падать: http://forum.farmanager.com/viewtopic.php?p=135884#p135884 |
|
как я понимаю, это какие-то баги tdm-овской библиотеки для разделяемой памяти. |
|
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 |
|
Только что проверил - в версии 3.0.3000 работает. Screenshot: или так: |
|
Скорее всего, что нужно править плагин, но сначала его нужно научиться собирать. |
|
адрес, при чтении по которому падает, возвращается https://searchcode.com/codesearch/view/12934722/ get_ptr_from_atom. я не сильно вникал, но видимо под 10-ой там всё плохо. плагин там не причём тоже, пересобрать надо более свежим компилятором. |
|
баг тут ptr |= (1 << (ptr_len - i)); когда (ptr_len - i) равно 31, там получается 0xffffffff80000000, с большими значениями, естественно, вообще мусор. т.е. плагин работает, когда void* shared_mem = malloc(size); возвращает адрес в первых 2Gb и не работает, когда он больше. т.е. ни к плагину, ни к фару эта проблема отношения не имеет. |
Date Modified | Username | Field | Change |
---|---|---|---|
2017-03-16 08:32 | yuriabele | New Issue | |
2017-03-16 08:46 | yuriabele | Tag Attached: SvcMgr | |
2017-03-16 12:46 | DrKnS | Note Added: 0015284 | |
2017-03-16 12:53 | DrKnS | Note Added: 0015285 | |
2017-03-16 13:26 | zg | Note Added: 0015287 | |
2017-03-16 18:46 | Denis | Note Added: 0015289 | |
2017-03-16 18:46 | Denis | Note Edited: 0015289 | |
2017-03-16 18:58 | Denis | Note Edited: 0015289 | |
2017-03-16 19:23 | zg | Note Added: 0015290 | |
2017-03-16 19:44 | Denis | Note Added: 0015291 | |
2017-03-16 19:44 | Denis | Note Edited: 0015291 | |
2017-03-16 19:51 | Denis | Note Added: 0015292 | |
2017-03-16 20:03 | DrKnS | Note Added: 0015293 | |
2017-03-16 20:20 | Denis | Note Added: 0015294 | |
2017-03-16 20:24 | Denis | Note Added: 0015295 | |
2017-03-16 22:16 | zg | Note Added: 0015296 | |
2017-03-17 08:16 | yuriabele | Note Added: 0015297 | |
2017-03-17 08:30 | yuriabele | Note Added: 0015298 | |
2017-03-17 08:33 | yuriabele | Note Edited: 0015298 | |
2017-03-17 08:33 | Denis | Note Added: 0015299 | |
2017-03-17 08:35 | yuriabele | Note Edited: 0015298 | |
2017-03-17 09:59 | zg | Note Added: 0015300 | |
2017-03-17 12:47 | zg | Note Added: 0015301 | |
2017-03-17 12:47 | zg | Build | => 0 |
2017-03-17 12:47 | zg | Status | new => closed |
2017-03-17 12:47 | zg | Assigned To | => zg |
2017-03-17 12:47 | zg | Resolution | open => no change required |