I suppose you mean that I have to modify my wxWidgets build, which becomes :
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=debug CFLAGS=-g UNICODE=1 USE_OPENGL=1 VENDOR=cb_64 CXXFLAGS="-g -shared-libgcc -shared-libstdc++ -fpermissive -fno-keep-inline-dllexport -std=gnu++11 -Wno-deprecated-declarations" LDFLAGS="-Wl,--allow-multiple-definition"
if it's still useful to build a debug version.
And, shall I have to generate C::B also with these flags ?
PS :
I tried with these flags in wxWidgets and C::B. The crash is always there. :-[
Hi, gd_on.
I just did some test with tdm gcc 9.2 64bit. I don't see crash of the lib_finder plugin. Here is my steps:
1. download wx 3.1.3 release.
2, modify the setup.h to enable the direct2d support
3, use the command line below to build the wx library
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 USE_OPENGL=1 VENDOR=cb CXXFLAGS="-Wno-unused-local-typedefs -Wno-deprecated-declarations -fno-keep-inline-dllexport" >log-release.txt 2>&1
4, I build the CodeBlocks_wx31_64.cbp, all the targets in this cbp are built. (I set the cb_release_type string : -g -O0)
5, open the CodeBlocks_wx31_64.workspace, and set the lib finder plugin as the active plugin, and build this single plugin.
6, run the command: update31_64.bat
7, start the new built cb inside the cb
8, open some test project, and close the new built cb
There is no crash here.
I think I see a similar crash when I run c::b built from TDM64 under GDB.
This happens when I create a new wxWidgets project by the project wizard, C::B just crashed. GDB shows such bt.
> bt
#0 0x0000000077cef2d0 in ntdll!RtlUnhandledExceptionFilter () from C:\Windows\SYSTEM32\ntdll.dll
#1 0x0000000077cef8d6 in ntdll!EtwEnumerateProcessRegGuids () from C:\Windows\SYSTEM32\ntdll.dll
#2 0x0000000077cf04f2 in ntdll!RtlQueryProcessLockInformation () from C:\Windows\SYSTEM32\ntdll.dll
#3 0x0000000077cf2604 in ntdll!RtlLogStackBackTrace () from C:\Windows\SYSTEM32\ntdll.dll
#4 0x0000000077c5a232 in ntdll!RtlFreeHeap () from C:\Windows\SYSTEM32\ntdll.dll
#5 0x000007feff8d10c8 in msvcrt!free () from C:\Windows\system32\msvcrt.dll
#6 0x000000006cf6c86d in std::locale::_Impl::~_Impl() () from F:\code\wx313-64\lib\gcc_dll\wxmsw313u_gcc_cb.dll
#7 0x000000006cf6ccd0 in std::locale::~locale() () from F:\code\wx313-64\lib\gcc_dll\wxmsw313u_gcc_cb.dll
#8 0x000000006c4cc59b in wxTextCtrl::~wxTextCtrl() () from F:\code\wx313-64\lib\gcc_dll\wxmsw313u_gcc_cb.dll
#9 0x000000006c4cc61e in wxTextCtrl::~wxTextCtrl() () from F:\code\wx313-64\lib\gcc_dll\wxmsw313u_gcc_cb.dll
#10 0x000000006c657e5d in wxWindowBase::Destroy() () from F:\code\wx313-64\lib\gcc_dll\wxmsw313u_gcc_cb.dll
#11 0x000000006c657f64 in wxWindowBase::DestroyChildren() () from F:\code\wx313-64\lib\gcc_dll\wxmsw313u_gcc_cb.dll
#12 0x000000006c3ca62b in wxWindow::~wxWindow() () from F:\code\wx313-64\lib\gcc_dll\wxmsw313u_gcc_cb.dll
#13 0x000000001150520c in wxNavigationEnabled<wxWindow>::~wxNavigationEnabled (this=0x1e68d600, __in_chrg=<optimized out>) at F:/code/wx313-64/include/wx/containr.h:189
#14 0x00000000115013aa in wxPanelBase::~wxPanelBase (this=0x1e68d600, __in_chrg=<optimized out>) at F:/code/wx313-64/include/wx/panel.h:30
#15 0x000000001150fb5a in wxPanel::~wxPanel (this=0x1e68d600, __in_chrg=<optimized out>) at F:/code/wx313-64/include/wx/msw/panel.h:19
#16 0x00000000114cb07e in ProjectPathPanel::~ProjectPathPanel (this=0x1e68d600, __in_chrg=<optimized out>) at D:\code\cb\cb_sf_git\cccrash2019\src\plugins\scriptedwizard\projectpathpanel.cpp:86
#17 0x00000000114cb09b in ProjectPathPanel::~ProjectPathPanel (this=0x1e68d600, __in_chrg=<optimized out>) at D:\code\cb\cb_sf_git\cccrash2019\src\plugins\scriptedwizard\projectpathpanel.cpp:88
#18 0x000000006c657e5d in wxWindowBase::Destroy() () from F:\code\wx313-64\lib\gcc_dll\wxmsw313u_gcc_cb.dll
#19 0x000000006c657f64 in wxWindowBase::DestroyChildren() () from F:\code\wx313-64\lib\gcc_dll\wxmsw313u_gcc_cb.dll
#20 0x000000006c3ca62b in wxWindow::~wxWindow() () from F:\code\wx313-64\lib\gcc_dll\wxmsw313u_gcc_cb.dll
#21 0x000000001150520c in wxNavigationEnabled<wxWindow>::~wxNavigationEnabled (this=0x1ed30200, __in_chrg=<optimized out>) at F:/code/wx313-64/include/wx/containr.h:189
#22 0x00000000115013aa in wxPanelBase::~wxPanelBase (this=0x1ed30200, __in_chrg=<optimized out>) at F:/code/wx313-64/include/wx/panel.h:30
#23 0x000000001150fb5a in wxPanel::~wxPanel (this=0x1ed30200, __in_chrg=<optimized out>) at F:/code/wx313-64/include/wx/msw/panel.h:19
#24 0x0000000011502810 in wxWizardPage::~wxWizardPage (this=0x1ed30200, __in_chrg=<optimized out>) at F:/code/wx313-64/include/wx/wizard.h:55
#25 0x0000000011504aaa in wxWizardPageSimple::~wxWizardPageSimple (this=0x1ed30200, __in_chrg=<optimized out>) at F:/code/wx313-64/include/wx/wizard.h:121
#26 0x00000000114d971a in WizPageBase::~WizPageBase (this=0x1ed30200, __in_chrg=<optimized out>) at D:\code\cb\cb_sf_git\cccrash2019\src\plugins\scriptedwizard\wizpage.cpp:108
#27 0x00000000114dad9e in WizProjectPathPanel::~WizProjectPathPanel (this=0x1ed30200, __in_chrg=<optimized out>) at D:\code\cb\cb_sf_git\cccrash2019\src\plugins\scriptedwizard\wizpage.cpp:338
#28 0x00000000114dadbb in WizProjectPathPanel::~WizProjectPathPanel (this=0x1ed30200, __in_chrg=<optimized out>) at D:\code\cb\cb_sf_git\cccrash2019\src\plugins\scriptedwizard\wizpage.cpp:340
#29 0x000000006c657e5d in wxWindowBase::Destroy() () from F:\code\wx313-64\lib\gcc_dll\wxmsw313u_gcc_cb.dll
#30 0x000000006c657f64 in wxWindowBase::DestroyChildren() () from F:\code\wx313-64\lib\gcc_dll\wxmsw313u_gcc_cb.dll
#31 0x000000006c3ca62b in wxWindow::~wxWindow() () from F:\code\wx313-64\lib\gcc_dll\wxmsw313u_gcc_cb.dll
#32 0x000000006c378fa7 in wxNonOwnedWindow::~wxNonOwnedWindow() () from F:\code\wx313-64\lib\gcc_dll\wxmsw313u_gcc_cb.dll
#33 0x000000006c75c1ce in wxWizard::~wxWizard() () from F:\code\wx313-64\lib\gcc_dll\wxmsw313u_gcc_cb.dll
#34 0x000000006c10308e in wxAppConsoleBase::DeletePendingObjects() () from F:\code\wx313-64\lib\gcc_dll\wxmsw313u_gcc_cb.dll
#35 0x000000006c103138 in wxAppConsoleBase::ProcessIdle() () from F:\code\wx313-64\lib\gcc_dll\wxmsw313u_gcc_cb.dll
#36 0x000000006c5026e1 in wxAppBase::ProcessIdle() () from F:\code\wx313-64\lib\gcc_dll\wxmsw313u_gcc_cb.dll
#37 0x000000006c13ce44 in wxEventLoopManual::DoRun() () from F:\code\wx313-64\lib\gcc_dll\wxmsw313u_gcc_cb.dll
#38 0x000000006c13cb1b in wxEventLoopBase::Run() () from F:\code\wx313-64\lib\gcc_dll\wxmsw313u_gcc_cb.dll
#39 0x000000006c106fec in wxAppConsoleBase::MainLoop() () from F:\code\wx313-64\lib\gcc_dll\wxmsw313u_gcc_cb.dll
#40 0x000000000040540a in CodeBlocksApp::OnRun (this=0x3ae18c0) at D:\code\cb\cb_sf_git\cccrash2019\src\src\app.cpp:901
#41 0x000000006c192aaa in wxEntryReal(int&, wchar_t**) () from F:\code\wx313-64\lib\gcc_dll\wxmsw313u_gcc_cb.dll
#42 0x00000000004022a1 in WinMain (hInstance=0x400000, hPrevInstance=0x0, nCmdShow=10) at D:\code\cb\cb_sf_git\cccrash2019\src\src\app.cpp:338
#43 0x00000000005e9422 in main (flags=<optimized out>, cmdline=<optimized out>, inst=<optimized out>) at C:/crossdev/src/mingw-w64-v7-git20191109/mingw-w64-crt/crt/crt0_c.c:18
#44 0x00000000004013b4 in __tmainCRTStartup () at C:/crossdev/src/mingw-w64-v7-git20191109/mingw-w64-crt/crt/crtexe.c:339
#45 0x00000000004014db in WinMainCRTStartup () at C:/crossdev/src/mingw-w64-v7-git20191109/mingw-w64-crt/crt/crtexe.c:195
So I'll revive that thread in the hope it pops to the start.
I'm having the same and can reproduce it by compiling wxWidgets 3.1.4 in 64bit, compiling any app with a wxTextCtrl in it and destroying that textctrl. I have some applications with a textctrl in it, and each of them crashes with the stack pointing to the destructor of locale.
The stack is:
#0 0x76f8f230 ntdll!RtlUnhandledExceptionFilter() (C:\Windows\SYSTEM32\ntdll.dll:??)
#1 0x76f8f836 ntdll!EtwEnumerateProcessRegGuids() (C:\Windows\SYSTEM32\ntdll.dll:??)
#2 0x76f90452 ntdll!RtlQueryProcessLockInformation() (C:\Windows\SYSTEM32\ntdll.dll:??)
#3 0x76f92564 ntdll!RtlLogStackBackTrace() (C:\Windows\SYSTEM32\ntdll.dll:??)
#4 0x76efa232 ntdll!RtlFreeHeap() (C:\Windows\SYSTEM32\ntdll.dll:??)
#5 0x7fefee710c8 msvcrt!free() (C:\Windows\system32\msvcrt.dll:??)
#6 0x12a44bd std::locale::_Impl::~_Impl() () (C:\wxGccTDM314\lib\gcc_dll64\wxmsw314ud_core_gcc_cb.dll:??)
#7 0x12a4920 std::locale::~locale() () (C:\wxGccTDM314\lib\gcc_dll64\wxmsw314ud_core_gcc_cb.dll:??)
#8 0x1153e0f wxTextCtrlBase::~wxTextCtrlBase(this=0xc01dc70, __in_chrg=<optimized out>) (C:\wxGccTDM314_64\build\msw/../../include/wx/textctrl.h:693)
#9 0xe49951 wxTextCtrl::~wxTextCtrl(this=0xc01dc70, __in_chrg=<optimized out>) (C:\wxGccTDM314_64\build\msw/../../src/msw/textctrl.cpp:354)
#10 0xe49991 wxTextCtrl::~wxTextCtrl(this=0xc01dc70, __in_chrg=<optimized out>) (C:\wxGccTDM314_64\build\msw/../../src/msw/textctrl.cpp:365)
#11 0xf45f26 wxWindowBase::Destroy(this=0xc01dc70) (C:\wxGccTDM314_64\build\msw/../../src/common/wincmn.cpp:578)
#12 0xf46085 wxWindowBase::DestroyChildren(this=0xc0178d0) (C:\wxGccTDM314_64\build\msw/../../src/common/wincmn.cpp:610)
#13 0xdb68ec wxWindow::~wxWindow(this=0xc0178d0, __in_chrg=<optimized out>) (C:\wxGccTDM314_64\build\msw/../../src/msw/window.cpp:483)
#14 0x117bdd8 wxNavigationEnabled<wxWindow>::~wxNavigationEnabled(this=0xc0178d0, __in_chrg=<optimized out>) (C:\wxGccTDM314_64\build\msw/../../include/wx/containr.h:189)
#15 0x1135e4a wxPanelBase::~wxPanelBase(this=0xc0178d0, __in_chrg=<optimized out>) (C:\wxGccTDM314_64\build\msw/../../include/wx/panel.h:30)
#16 0x11c0d26 wxPanel::~wxPanel(this=0xc0178d0, __in_chrg=<optimized out>) (C:\wxGccTDM314_64\build\msw/../../include/wx/msw/panel.h:19)
#17 0x11c0ce5 wxPanel::~wxPanel(this=0xc0178d0, __in_chrg=<optimized out>) (C:\wxGccTDM314_64\build\msw/../../include/wx/msw/panel.h:19)
#18 0xf45f26 wxWindowBase::Destroy(this=0xc0178d0) (C:\wxGccTDM314_64\build\msw/../../src/common/wincmn.cpp:578)
#19 0xf46085 wxWindowBase::DestroyChildren(this=0xbfddae0) (C:\wxGccTDM314_64\build\msw/../../src/common/wincmn.cpp:610)
#20 0xdb68ec wxWindow::~wxWindow(this=0xbfddae0, __in_chrg=<optimized out>) (C:\wxGccTDM314_64\build\msw/../../src/msw/window.cpp:483)
#21 0xe85fb8 wxControlBase::~wxControlBase(this=0xbfddae0, __in_chrg=<optimized out>) (C:\wxGccTDM314_64\build\msw/../../src/common/ctrlcmn.cpp:48)
#22 0x11e7c8c wxControl::~wxControl(this=0xbfddae0, __in_chrg=<optimized out>) (C:\wxGccTDM314_64\build\msw/../../include/wx/msw/control.h:17)
#23 0x114d347 wxBookCtrlBase::~wxBookCtrlBase(this=0xbfddae0, __in_chrg=<optimized out>) (C:\wxGccTDM314_64\build\msw/../../include/wx/bookctrl.h:55)
#24 0x1152aa3 wxNotebookBase::~wxNotebookBase(this=0xbfddae0, __in_chrg=<optimized out>) (C:\wxGccTDM314_64\build\msw/../../include/wx/notebook.h:103)
#25 0xe2552d wxNotebook::~wxNotebook(this=0xbfddae0, __in_chrg=<optimized out>) (C:\wxGccTDM314_64\build\msw/../../src/msw/notebook.cpp:296)
#26 0xe25553 wxNotebook::~wxNotebook(this=0xbfddae0, __in_chrg=<optimized out>) (C:\wxGccTDM314_64\build\msw/../../src/msw/notebook.cpp:302)
#27 0xf45f26 wxWindowBase::Destroy(this=0xbfddae0) (C:\wxGccTDM314_64\build\msw/../../src/common/wincmn.cpp:578)
#28 0xf46085 wxWindowBase::DestroyChildren(this=0xbfdd1e0) (C:\wxGccTDM314_64\build\msw/../../src/common/wincmn.cpp:610)
#29 0xdb68ec wxWindow::~wxWindow(this=0xbfdd1e0, __in_chrg=<optimized out>) (C:\wxGccTDM314_64\build\msw/../../src/msw/window.cpp:483)
My locale is german.
32bit is fine, been using it for quite some time, apps are running fine and stable in both win7 and win10.