View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003417 | Far Manager | _Common | public | 2017-04-04 13:07 | 2019-11-21 20:31 |
Reporter | abc007 | Assigned To | zg | ||
Priority | normal | Severity | crash | Reproducibility | sometimes |
Status | closed | Resolution | fixed | ||
Platform | x64 | OS | Windows | OS Version | 10 |
Product Version | 3.0 | ||||
Fixed in Version | 3.0 | ||||
Summary | 0003417: Crash в деструкторе global::~global() | ||||
Description | Смотрим деструктор global (немного старая версия, но в новой логика вроде та же) global::~global() { delete CtrlObject; CtrlObject = nullptr; delete m_ConfigProvider; m_ConfigProvider = nullptr; delete Elevation; Elevation = nullptr; // TODO: it could be useful to delete Lang only at the very end delete Lang; Lang = nullptr; Global = nullptr; } Global обнуляется, но кое-где этот объект ещё используется. Например, после исполнения кода деструктора неявно вызывается Manager::~Manager. Дальнейшая цепочка: FileEditor::~FileEditor() -> Editor::~Editor() -> Editor::KeepInitParameters() -> if (Global->GetSearchHex()) Ошибка и стек трейс: Exception: EXCEPTION_ACCESS_VIOLATION (read from 0x0000000000000158) Address: 0x00007FF7F3502038 Editor::KeepInitParameters (c:\unicode_far\editor.cpp:189) Function: main Module: C:\Program Files\Far\far.exe 0x00007FF7F3502038 Editor::KeepInitParameters (c:\unicode_far\editor.cpp:189) 0x00007FF7F3501B4D Editor::~Editor (c:\unicode_far\editor.cpp:147) 0x00007FF7F35013D4 Editor::`scalar deleting destructor' 0x00007FF7F356B30E FileEditor::~FileEditor (c:\unicode_far\fileedit.cpp:402) 0x00007FF7F3568D54 FileEditor::`scalar deleting destructor' 0x00007FF7F365A551 std::list<std::pair<std::shared_ptr<window> const ,bool * __ptr64>,std::allocator<std::pair<std::shared_ptr<window> const ,bool * __ptr64> > >::clear (c:\program files (x86)\microsoft visual studio 14.0\vc\include\list:1513) 0x00007FF7F3652D6D Manager::~Manager (c:\unicode_far\manager.cpp:208) 0x00007FF7F35F1224 global::~global (c:\unicode_far\global.cpp:110) 0x00007FF7F365146C mainImpl (c:\unicode_far\main.cpp:772) 0x00007FF7F3651603 wmain_seh (c:\unicode_far\main.cpp:802) 0x00007FF7F36516D0 <lambda_c68fbb7707be623c5f5958be1e5cf095>::operator() (c:\unicode_far\main.cpp:830) 0x00007FF7F365175E seh_invoke<<lambda_c68fbb7707be623c5f5958be1e5cf095>,<lambda_8be397606d6a43ce3c2b2ac51ba908f1>,<lambda_110fb19ebc707b8f1e4519cc6b3da58b> > (c:\unicode_far\farexcpt.hpp:72) 0x00007FF7F3651683 main (c:\unicode_far\main.cpp:837) | ||||
Tags | No tags attached. | ||||
Build | 5470 | ||||
|
Напишите хотя бы, как это воспроизводить: в стандартном сценарии редактор сам по себе не создаётся. |
|
Как воспроизвести не понятно. Far работал много дней. Причём падение произошло на двух машинах x86 и x64. Общее, что было в тот день - поиск в архивах, использование netbox... Напишу, если смогу найти последовательность действий |
Date Modified | Username | Field | Change |
---|---|---|---|
2017-04-04 13:07 | abc007 | New Issue | |
2017-04-04 13:50 | DrKnS | Assigned To | => DrKnS |
2017-04-04 13:50 | DrKnS | Status | new => assigned |
2017-04-04 22:04 | DrKnS | Note Added: 0015316 | |
2017-04-05 10:48 | abc007 | Note Added: 0015317 | |
2019-11-21 20:31 | DrKnS | Assigned To | DrKnS => zg |
2019-11-21 20:31 | DrKnS | Status | assigned => closed |
2019-11-21 20:31 | DrKnS | Resolution | open => fixed |
2019-11-21 20:31 | DrKnS | Fixed in Version | => 3.0 |
2019-11-21 20:31 | DrKnS | Build | => 5470 |