View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004502 | DarkRadiant | GUI | public | 01.04.2017 07:43 | 17.12.2017 16:21 |
Reporter | greebo | Assigned To | greebo | ||
Priority | normal | Severity | crash | Reproducibility | sometimes |
Status | closed | Resolution | fixed | ||
Platform | Windows | OS Version | 10 | ||
Product Version | 2.2.1 | ||||
Target Version | 2.3.0 | Fixed in Version | 2.3.0 | ||
Summary | 0004502: Rare crash during shutdown when switching GroupDialog tabs | ||||
Description | It's somewhat tricky to reproduce, but these steps seem to work: - Start DR using EmbeddedLayout - The console should be active after startup - Do a single click in the application, switching to the AI tab - Hit the X in the upper right corner to close the app - DR will crash in the preDestructionCleanup() due to a dangling pointer wxTopLevelWindowMSW::m_winLastFocused | ||||
Additional Information | Stacktrace > wxmsw310ud_core_vc140_x64.dll!wxSetFocusToChild(wxWindow * win, wxWindow * * childLastFocused) Line 688 C++ wxmsw310ud_core_vc140_x64.dll!wxTopLevelWindowMSW::DoRestoreLastFocus() Line 1207 C++ wxmsw310ud_core_vc140_x64.dll!wxTopLevelWindowMSW::OnActivate(wxActivateEvent & event) Line 1233 C++ wxbase310ud_vc140_x64.dll!wxAppConsoleBase::HandleEvent(wxEvtHandler * handler, void(wxEvtHandler::*)(wxEvent &) func, wxEvent & event) Line 658 C++ wxbase310ud_vc140_x64.dll!wxAppConsoleBase::CallEventHandler(wxEvtHandler * handler, wxEventFunctor & functor, wxEvent & event) Line 670 C++ wxbase310ud_vc140_x64.dll!wxEvtHandler::ProcessEventIfMatchesId(const wxEventTableEntryBase & entry, wxEvtHandler * handler, wxEvent & event) Line 1383 C++ wxbase310ud_vc140_x64.dll!wxEventHashTable::HandleEvent(wxEvent & event, wxEvtHandler * self) Line 989 C++ wxbase310ud_vc140_x64.dll!wxEvtHandler::TryHereOnly(wxEvent & event) Line 1578 C++ wxbase310ud_vc140_x64.dll!wxEvtHandler::TryBeforeAndHere(wxEvent & event) Line 3656 C++ wxbase310ud_vc140_x64.dll!wxEvtHandler::ProcessEventLocally(wxEvent & event) Line 1511 C++ wxbase310ud_vc140_x64.dll!wxEvtHandler::ProcessEvent(wxEvent & event) Line 1484 C++ wxbase310ud_vc140_x64.dll!wxEvtHandler::SafelyProcessEvent(wxEvent & event) Line 1602 C++ wxmsw310ud_core_vc140_x64.dll!wxWindowBase::HandleWindowEvent(wxEvent & event) Line 1535 C++ wxmsw310ud_core_vc140_x64.dll!wxWindow::HandleActivate(int state, bool minimized, HWND__ * __formal) Line 3947 C++ wxmsw310ud_core_vc140_x64.dll!wxWindow::MSWHandleMessage(__int64 * result, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 2785 C++ wxmsw310ud_core_vc140_x64.dll!wxWindow::MSWWindowProc(unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 3524 C++ wxmsw310ud_core_vc140_x64.dll!wxTopLevelWindowMSW::MSWWindowProc(unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 321 C++ wxmsw310ud_core_vc140_x64.dll!wxFrame::MSWWindowProc(unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 897 C++ wxmsw310ud_core_vc140_x64.dll!wxWndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 2667 C++ user32.dll!00007ff9ec191c24() Unknown user32.dll!00007ff9ec191917() Unknown user32.dll!00007ff9ec1a2563() Unknown ntdll.dll!00007ff9ee739c54() Unknown win32u.dll!00007ff9eb851524() Unknown user32.dll!00007ff9ec1af3e4() Unknown wxmsw310ud_core_vc140_x64.dll!wxTopLevelWindowMSW::~wxTopLevelWindowMSW() Line 521 C++ wxmsw310ud_core_vc140_x64.dll!wxTopLevelWindow::~wxTopLevelWindow() C++ wxmsw310ud_core_vc140_x64.dll!wxFrameBase::~wxFrameBase() Line 171 C++ wxmsw310ud_core_vc140_x64.dll!wxFrame::~wxFrame() Line 168 C++ uimanager.dll!wxutil::TransientWindow::~TransientWindow() Line 48 C++ uimanager.dll!ui::GroupDialog::~GroupDialog() C++ uimanager.dll!ui::GroupDialog::`scalar deleting destructor'(unsigned int) C++ uimanager.dll!std::_Ref_count<ui::GroupDialog>::_Destroy() Line 153 C++ uimanager.dll!std::_Ref_count_base::_Decref() Line 113 C++ uimanager.dll!std::_Ptr_base<ui::GroupDialog>::_Decref() Line 339 C++ uimanager.dll!std::shared_ptr<ui::GroupDialog>::~shared_ptr<ui::GroupDialog>() Line 567 C++ uimanager.dll!std::shared_ptr<ui::GroupDialog>::reset() Line 595 C++ uimanager.dll!ui::GroupDialog::onRadiantShutdown() Line 269 C++ uimanager.dll!sigc::bound_mem_functor0<void,ui::GroupDialog>::operator()() Line 1787 C++ uimanager.dll!sigc::adaptor_functor<sigc::bound_mem_functor0<void,ui::GroupDialog> >::operator()() Line 251 C++ uimanager.dll!sigc::internal::slot_call0<sigc::bound_mem_functor0<void,ui::GroupDialog>,void>::call_it(sigc::internal::slot_rep * rep) Line 104 C++ DarkRadiant.exe!sigc::internal::signal_emit0<void,sigc::nil>::emit(sigc::internal::signal_impl * impl) Line 772 C++ DarkRadiant.exe!sigc::signal0<void,sigc::nil>::emit() Line 2667 C++ DarkRadiant.exe!radiant::RadiantModule::broadcastShutdownEvent() Line 135 C++ DarkRadiant.exe!ui::MainFrame::preDestructionCleanup() Line 262 C++ DarkRadiant.exe!ui::MainFrame::onTopLevelFrameClose(wxCloseEvent & ev) Line 284 C++ DarkRadiant.exe!wxEventFunctorMethod<wxEventTypeTag<wxCloseEvent>,ui::MainFrame,wxCloseEvent,ui::MainFrame>::operator()(wxEvtHandler * handler, wxEvent & event) Line 374 C++ wxbase310ud_vc140_x64.dll!wxAppConsoleBase::CallEventHandler(wxEvtHandler * handler, wxEventFunctor & functor, wxEvent & event) Line 672 C++ wxbase310ud_vc140_x64.dll!wxEvtHandler::ProcessEventIfMatchesId(const wxEventTableEntryBase & entry, wxEvtHandler * handler, wxEvent & event) Line 1383 C++ wxbase310ud_vc140_x64.dll!wxEvtHandler::SearchDynamicEventTable(wxEvent & event) Line 1831 C++ wxbase310ud_vc140_x64.dll!wxEvtHandler::TryHereOnly(wxEvent & event) Line 1574 C++ wxbase310ud_vc140_x64.dll!wxEvtHandler::TryBeforeAndHere(wxEvent & event) Line 3656 C++ wxbase310ud_vc140_x64.dll!wxEvtHandler::ProcessEventLocally(wxEvent & event) Line 1511 C++ wxbase310ud_vc140_x64.dll!wxEvtHandler::ProcessEvent(wxEvent & event) Line 1484 C++ wxbase310ud_vc140_x64.dll!wxEvtHandler::SafelyProcessEvent(wxEvent & event) Line 1602 C++ wxmsw310ud_core_vc140_x64.dll!wxWindowBase::HandleWindowEvent(wxEvent & event) Line 1535 C++ wxmsw310ud_core_vc140_x64.dll!wxWindowBase::Close(bool force) Line 587 C++ wxmsw310ud_core_vc140_x64.dll!wxFrame::MSWWindowProc(unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 835 C++ wxmsw310ud_core_vc140_x64.dll!wxWndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 2667 C++ user32.dll!00007ff9ec191c24() Unknown user32.dll!00007ff9ec191917() Unknown user32.dll!00007ff9ec1a2563() Unknown ntdll.dll!00007ff9ee739c54() Unknown win32u.dll!00007ff9eb851184() Unknown user32.dll!00007ff9ec18ee4d() Unknown user32.dll!00007ff9ec18e982() Unknown uxtheme.dll!00007ff9e928c5ea() Unknown uxtheme.dll!00007ff9e928c262() Unknown uxtheme.dll!00007ff9e9281e15() Unknown uxtheme.dll!00007ff9e92806d1() Unknown user32.dll!00007ff9ec18eb7d() Unknown wxmsw310ud_core_vc140_x64.dll!wxWindow::MSWDefWindowProc(unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Line 2211 C++ wxmsw310ud_core_vc140_x64.dll!wxWindow::MSWWindowProc(unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 3530 C++ wxmsw310ud_core_vc140_x64.dll!wxTopLevelWindowMSW::MSWWindowProc(unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 321 C++ wxmsw310ud_core_vc140_x64.dll!wxFrame::MSWWindowProc(unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 897 C++ wxmsw310ud_core_vc140_x64.dll!wxWndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 2667 C++ user32.dll!00007ff9ec191c24() Unknown user32.dll!00007ff9ec191917() Unknown user32.dll!00007ff9ec1a2563() Unknown ntdll.dll!00007ff9ee739c54() Unknown win32u.dll!00007ff9eb851184() Unknown user32.dll!00007ff9ec18ee4d() Unknown user32.dll!00007ff9ec18e982() Unknown uxtheme.dll!00007ff9e928c5ea() Unknown uxtheme.dll!00007ff9e928c207() Unknown uxtheme.dll!00007ff9e9281e15() Unknown uxtheme.dll!00007ff9e92806d1() Unknown user32.dll!00007ff9ec18eb7d() Unknown wxmsw310ud_core_vc140_x64.dll!wxWindow::MSWDefWindowProc(unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Line 2211 C++ wxmsw310ud_core_vc140_x64.dll!wxWindow::MSWWindowProc(unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 3530 C++ wxmsw310ud_core_vc140_x64.dll!wxTopLevelWindowMSW::MSWWindowProc(unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 321 C++ wxmsw310ud_core_vc140_x64.dll!wxFrame::MSWWindowProc(unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 897 C++ wxmsw310ud_core_vc140_x64.dll!wxWndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 2667 C++ user32.dll!00007ff9ec191c24() Unknown user32.dll!00007ff9ec19156c() Unknown wxmsw310ud_core_vc140_x64.dll!wxGUIEventLoop::ProcessMessage(tagMSG * msg) Line 169 C++ wxmsw310ud_core_vc140_x64.dll!wxGUIEventLoop::Dispatch() Line 229 C++ wxbase310ud_vc140_x64.dll!wxEventLoopManual::ProcessEvents() Line 228 C++ wxbase310ud_vc140_x64.dll!wxEventLoopManual::DoRun() Line 273 C++ wxbase310ud_vc140_x64.dll!wxEventLoopBase::Run() Line 76 C++ wxbase310ud_vc140_x64.dll!wxAppConsoleBase::MainLoop() Line 380 C++ wxbase310ud_vc140_x64.dll!wxAppConsoleBase::OnRun() Line 302 C++ wxmsw310ud_core_vc140_x64.dll!wxAppBase::OnRun() Line 312 C++ wxbase310ud_vc140_x64.dll!wxEntryReal(int & argc, wchar_t * * argv) Line 503 C++ wxbase310ud_vc140_x64.dll!wxEntry(int & argc, wchar_t * * argv) Line 181 C++ wxmsw310ud_core_vc140_x64.dll!wxEntry(HINSTANCE__ * hInstance, HINSTANCE__ * __formal, char * __formal, int nCmdShow) Line 290 C++ DarkRadiant.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) Line 158 C++ DarkRadiant.exe!invoke_main() Line 99 C++ DarkRadiant.exe!__scrt_common_main_seh() Line 253 C++ DarkRadiant.exe!__scrt_common_main() Line 296 C++ DarkRadiant.exe!WinMainCRTStartup() Line 17 C++ kernel32.dll!00007ff9eded8364() Unknown ntdll.dll!00007ff9ee6f70d1() Unknown | ||||
Tags | No tags attached. | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
01.04.2017 07:43 | greebo | New Issue | |
01.04.2017 07:43 | greebo | Status | new => confirmed |
01.04.2017 07:43 | greebo | Description Updated | |
01.04.2017 12:16 | greebo | Assigned To | => greebo |
01.04.2017 12:16 | greebo | Status | confirmed => assigned |
01.04.2017 12:16 | greebo | Target Version | => 2.3.0 |
01.04.2017 12:18 | greebo | Note Added: 0008784 | |
01.04.2017 12:18 | greebo | Status | assigned => resolved |
01.04.2017 12:18 | greebo | Fixed in Version | => 2.3.0 |
01.04.2017 12:18 | greebo | Resolution | open => fixed |
17.12.2017 16:21 | greebo | Status | resolved => closed |