How stable Code::Blocks built with wxGTK 3.0 is? I built it on debian testing (jessie), 64-bit using GCC 4.8.2 and caused for once again those useful asserting error messages:
ASSERT INFO:
../src/common/wincmn.cpp(1517): assert "Assert failure" failed in RemoveEventHandler(): where has the event handler gone?
BACKTRACE:
[1] wxWindowBase::RemoveEventHandler(wxEvtHandler*)
[2] wxBinderEvtHandler::~wxBinderEvtHandler()
[3] wxBinderEvtHandler::~wxBinderEvtHandler()
[4] wxKeyBinder::DetachAll()
[5] wxKeyProfileArray::DetachAll()
[6] cbKeyBinder::OnRelease(bool)
[7] cbPlugin::Release(bool)
[8] PluginManager::DetachPlugin(cbPlugin*)
[9] PluginManager::UnloadPlugin(cbPlugin*)
[10] PluginManager::UnloadAllPlugins()
[11] PluginManager::~PluginManager()
[12] PluginManager::~PluginManager()
[13] Mgr<PluginManager>::Free()
[14] Manager::Shutdown()
[15] MainFrame::OnApplicationClose(wxCloseEvent&) /home/stefanos/svn_code/CodeBlocks/src/src/main.cpp:2755
[16] wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const
[17] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
[18] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
[19] wxEvtHandler::TryHereOnly(wxEvent&)
[20] wxEvtHandler::DoTryChain(wxEvent&)
[21] wxEvtHandler::ProcessEvent(wxEvent&)
[22] wxEvtHandler::SafelyProcessEvent(wxEvent&)
[23] wxWindowBase::Close(bool)
[24] MainFrame::OnFileQuit(wxCommandEvent&) /home/stefanos/svn_code/CodeBlocks/src/src/main.cpp:2655
[25] wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const
[26] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
[27] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
[28] wxEvtHandler::TryHereOnly(wxEvent&)
[29] wxEvtHandler::DoTryChain(wxEvent&)
[30] wxEvtHandler::ProcessEvent(wxEvent&)
[31] wxWindowBase::TryAfter(wxEvent&)
[32] wxEvtHandler::SafelyProcessEvent(wxEvent&)
[33] wxMenuBase::SendEvent(int, int)
[34] g_closure_invoke
[35] g_signal_emit_valist
[36] g_signal_emit
[37] gtk_widget_activate
[38] gtk_menu_shell_activate_item
[39] g_closure_invoke
[40] g_signal_emit_valist
[41] g_signal_emit
[42] gtk_propagate_event
[43] gtk_main_do_event
[44] g_main_context_dispatch
[45] g_main_loop_run
[46] gtk_main
[47] wxGUIEventLoop::DoRun()
[48] wxEventLoopBase::Run()
[49] wxAppConsoleBase::MainLoop()
[50] CodeBlocksApp::OnRun() /home/stefanos/svn_code/CodeBlocks/src/src/app.cpp:809
[51] wxEntry(int&, wchar_t**)
[52] main /home/stefanos/svn_code/CodeBlocks/src/src/app.cpp:276
[53] __libc_start_main
[54] _start
Program received signal SIGSEGV, Segmentation fault.
0x0000000000000030 in ?? ()
(gdb) bt
#0 0x0000000000000030 in ?? ()
#1 0x00007ffff605921f in ~wxEventTableEntryBase (this=0x7ffff62f1b20 <wxTreeListCtrl::sm_eventTableEntries>, __in_chrg=<optimized out>)
at ../include/wx/event.h:3177
#2 ~wxEventTableEntry (this=0x7ffff62f1b20 <wxTreeListCtrl::sm_eventTableEntries>, __in_chrg=<optimized out>) at ../include/wx/event.h:3196
#3 __tcf_0 () at ../src/generic/treelist.cpp:987
#4 0x00007ffff1a58e2f in __cxa_finalize (d=0x7ffff62eefc0) at cxa_finalize.c:55
#5 0x00007ffff5fec723 in __do_global_dtors_aux () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_adv-3.0.so.0
#6 0x00007fffffffe2f0 in ?? ()
#7 0x00007ffff7de9fcf in _dl_fini () at dl-fini.c:253
Backtrace stopped: frame did not save the PC
(gdb) continue
Continuing.
Program received signal SIGABRT, Aborted.
0x00007ffff1a541d5 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
What made me realize something went wrong was the lightning speed it closed the entire IDE. I run it within terminal and saw an "aborted" message upon plugin deinitialization.
Then I run it through GDB to detect the bug...and there it would start spitting various assert() messages; about missing *.xrc files, then about messages isOK() and so forth.