View Issue Details

IDProjectCategoryView StatusLast Update
0003417Far Manager_Commonpublic2019-11-21 20:31
Reporterabc007 Assigned Tozg  
PrioritynormalSeveritycrashReproducibilitysometimes
Status closedResolutionfixed 
Platformx64OSWindowsOS Version10
Product Version3.0 
Fixed in Version3.0 
Summary0003417: 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)
TagsNo tags attached.
Build5470

Activities

DrKnS

2017-04-04 22:04

administrator   bugnote:0015316

Напишите хотя бы, как это воспроизводить: в стандартном сценарии редактор сам по себе не создаётся.

abc007

2017-04-05 10:48

reporter   bugnote:0015317

Как воспроизвести не понятно. Far работал много дней. Причём падение произошло на двух машинах x86 и x64. Общее, что было в тот день - поиск в архивах, использование netbox... Напишу, если смогу найти последовательность действий

Issue History

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