Периодически наблюдаю падения Фара, когда монтирую образ (из проводника) и извлекаю его из фара (AltF1 -> Disk F -> DEL).
В архиве дамп + мой Far.pdb: https://www.upload.ee/files/10362658/Dump.7z.html
P.S. b5450 x64, но падает уже давно.
Far иногда падает при извлечении образов
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Far иногда падает при извлечении образов
Спасибо за дамп.
Судя по стеку, вы отмонтировали, меню пошло обновляться и опрашивать плагины.
polygon_e-x64.dll, когда пришла его очередь, пошёл смотреть настройки, посмотрел и освободил.
При освобождении экземпляра настроек оказалось, что внутренее состояние конфигурации испорчено и всё упало.
Наверное, кто-то до этого дёргал настройки из неосновного треда.
Я не говорю, что дело в полигоне, у него как раз вроде бы всё хорошо (хотя чтение настроек при каждом открытии / обновлении меню дисков вряд ли можно назвать оптимальным).
Судя по стеку, вы отмонтировали, меню пошло обновляться и опрашивать плагины.
polygon_e-x64.dll, когда пришла его очередь, пошёл смотреть настройки, посмотрел и освободил.
При освобождении экземпляра настроек оказалось, что внутренее состояние конфигурации испорчено и всё упало.
Наверное, кто-то до этого дёргал настройки из неосновного треда.
Я не говорю, что дело в полигоне, у него как раз вроде бы всё хорошо (хотя чтение настроек при каждом открытии / обновлении меню дисков вряд ли можно назвать оптимальным).
Code: Select all
Far.exe!_CxxThrowException(void * pExceptionObject, const _s__ThrowInfo * pThrowInfo) Line 133 C++
> Far.exe!os::detail::handle_implementation::is_signaled(void * Handle, std::chrono::duration<__int64,std::ratio<1,1000> > Timeout) Line 84 C++
[Inline Frame] Far.exe!os::detail::handle_t<os::detail::handle_closer>::is_signaled(std::chrono::duration<__int64,std::ratio<1,1000> > Timeout) Line 180 C++
[Inline Frame] Far.exe!config_provider::AsyncCall::__l2::<lambda_56492aa1dae547e5e202f84045fda92d>::operator()(const os::concurrency::thread &) Line 2502 C++
[Inline Frame] Far.exe!std::remove_if(std::_Vector_iterator<std::_Vector_val<std::_Simple_types<os::concurrency::thread> > >) Line 1775 C++
Far.exe!config_provider::AsyncCall(const std::function<void __cdecl(void)> & Routine) Line 2502 C++
Far.exe!`anonymous namespace'::async_delete_impl::finish() Line 430 C++
[Inline Frame] Far.exe!detail::async_deleter::operator()(async_delete *) Line 227 C++
[Inline Frame] Far.exe!std::unique_ptr<HierarchicalConfig,detail::async_deleter>::{dtor}() Line 1884 C++
[Inline Frame] Far.exe!PluginSettings::{dtor}() Line 142 C++
Far.exe!PluginSettings::`scalar deleting destructor'(unsigned int) C++
Far.exe!pluginapi::apiSettingsControl(void * hHandle, FAR_SETTINGS_CONTROL_COMMANDS Command, __int64 Param1, void * Param2) Line 2615 C++
luafar3.dll!00007ff9eb16d200() Unknown
lua51.dll!0000000066d82c1e() Unknown
lua51.dll!0000000066d934d3() Unknown
luafar3.dll!00007ff9eb15fad1() Unknown
luafar3.dll!00007ff9eb15dd02() Unknown
polygon_e-x64.dll!000000006fb01942() Unknown
Far.exe!Plugin::ExecuteFunctionSeh<Plugin::ExecuteStruct<4,1>,PluginInfo * &>(Plugin::ExecuteStruct<4,1> & <Args_0>, PluginInfo * &) Line 338 C++
[Inline Frame] Far.exe!Plugin::ExecuteFunction::__l2::<lambda_f5d9e4d2c6eef4a34d36ff7c83635020>::operator()() Line 357 C++
Far.exe!seh_invoke<<lambda_f5d9e4d2c6eef4a34d36ff7c83635020>,<lambda_2dcc88a58d98f3e204ac6c8675cb7604>,<lambda_5a99719a8eb176c5fcf08cb179d0a986> >(Plugin::ExecuteFunction::__l2::<lambda_f5d9e4d2c6eef4a34d36ff7c83635020> && Callable, seh_invoke_with_ui::__l2::<lambda_2dcc88a58d98f3e204ac6c8675cb7604> && Filter, Plugin::ExecuteFunction::__l2::<lambda_5a99719a8eb176c5fcf08cb179d0a986> && Handler) Line 89 C++
[Inline Frame] Far.exe!seh_invoke_with_ui(Plugin::ExecuteFunction::__l2::<lambda_f5d9e4d2c6eef4a34d36ff7c83635020> && Module, Plugin::ExecuteFunction::__l2::<lambda_5a99719a8eb176c5fcf08cb179d0a986> &&) Line 107 C++
[Inline Frame] Far.exe!Plugin::ExecuteFunction(Plugin::ExecuteStruct<4,1> &) Line 354 C++
Far.exe!Plugin::GetPluginInfo(PluginInfo * Info) Line 1051 C++
[Inline Frame] Far.exe!PluginManager::GetPluginInfo(Plugin *) Line 2377 C++
[Inline Frame] Far.exe!PluginManager::GetDiskMenuItem(Plugin *) Line 1833 C++
Far.exe!AddPluginItems(VMenu2 & ChDisk, int Pos, int DiskCount, bool SetSelected) Line 146 C++
Far.exe!ChangeDiskMenu(std::shared_ptr<Panel> Owner, int Pos, bool FirstCall) Line 905 C++
Far.exe!ChangeDisk(std::shared_ptr<Panel> Owner) Line 1329 C++