You'ren't the only one, but I'ven't spent much time with the Linux version.
Last crash I got was trying to close a project right clicking on it and selecting "close project". It "didn't work". I tried again with the same result. I tried to close Code::Blocks and it just died. I just cannot remember the last version that happened.
I think this is the same issue as the one I have now in revision 1746. And it seems that our good old friend wxApp::Yield is bothering is again.
I had one project open and then hit "File->Close Workspace". The open editors are closed, but the project tree is not updated (i.e. it still shows the just closed project). Apart from this Code::Blocks seems to respond as normal execpt that it burns the full CPU-Power. I stopped it using ctr+c and got this backtrace:
Program received signal SIGINT, Interrupt.
[Switching to Thread 16384 (LWP 13923)]
0xb7814a7a in wxMenuBase::FindChildItem ()
from /usr/lib/libwx_gtk2u_core-2.6.so.0
(gdb) bt
#0 0xb7814a7a in wxMenuBase::FindChildItem ()
from /usr/lib/libwx_gtk2u_core-2.6.so.0
#1 0xb77a2b4a in wxMenuBar::FindMenuItem ()
from /usr/lib/libwx_gtk2u_core-2.6.so.0
#2 0xb77a2b8b in wxMenuBar::FindMenuItem ()
from /usr/lib/libwx_gtk2u_core-2.6.so.0
#3 0xb77a2bb7 in wxMenuBar::FindItem ()
from /usr/lib/libwx_gtk2u_core-2.6.so.0
#4 0xb7817f66 in wxMenuBarBase::Enable ()
from /usr/lib/libwx_gtk2u_core-2.6.so.0
#5 0x08083a31 in MainFrame::OnSearchMenuUpdateUI (this=0x81c0a00,
event=@0xbfffdda0) at main.cpp:2607
#6 0xb74ed48b in wxAppConsole::HandleEvent ()
from /usr/lib/libwx_baseu-2.6.so.0
#7 0xb7591a3b in wxEvtHandler::ProcessEventIfMatches ()
from /usr/lib/libwx_baseu-2.6.so.0
#8 0xb7591da7 in wxEventHashTable::HandleEvent ()
from /usr/lib/libwx_baseu-2.6.so.0
#9 0xb7592a2e in wxEvtHandler::ProcessEvent ()
from /usr/lib/libwx_baseu-2.6.so.0
#10 0xb75929ce in wxEvtHandler::ProcessEvent ()
from /usr/lib/libwx_baseu-2.6.so.0
#11 0xb75929ce in wxEvtHandler::ProcessEvent ()
from /usr/lib/libwx_baseu-2.6.so.0
#12 0xb75929ce in wxEvtHandler::ProcessEvent ()
from /usr/lib/libwx_baseu-2.6.so.0
#13 0xb75929ce in wxEvtHandler::ProcessEvent ()
from /usr/lib/libwx_baseu-2.6.so.0
#14 0xb75929ce in wxEvtHandler::ProcessEvent ()
from /usr/lib/libwx_baseu-2.6.so.0
#15 0xb7846d3a in wxWindowBase::TryParent ()
from /usr/lib/libwx_gtk2u_core-2.6.so.0
#16 0xb75929e3 in wxEvtHandler::ProcessEvent ()
from /usr/lib/libwx_baseu-2.6.so.0
#17 0xb7839819 in wxToolBarBase::UpdateWindowUI ()
from /usr/lib/libwx_gtk2u_core-2.6.so.0
#18 0xb77b7261 in wxToolBar::OnInternalIdle ()
from /usr/lib/libwx_gtk2u_core-2.6.so.0
#19 0xb77bff92 in wxAppBase::SendIdleEvents ()
from /usr/lib/libwx_gtk2u_core-2.6.so.0
#20 0xb77bffc2 in wxAppBase::SendIdleEvents ()
from /usr/lib/libwx_gtk2u_core-2.6.so.0
#21 0xb77bfed8 in wxAppBase::ProcessIdle ()
from /usr/lib/libwx_gtk2u_core-2.6.so.0
#22 0xb77173d1 in wxPaletteBase::GetColoursCount ()
from /usr/lib/libwx_gtk2u_core-2.6.so.0
#23 0xb6ebb663 in g_child_watch_add () from /usr/lib/libglib-2.0.so.0
#24 0xb6eb6b5d in g_source_remove_poll () from /usr/lib/libglib-2.0.so.0
#25 0xb6eb93dc in g_main_context_acquire () from /usr/lib/libglib-2.0.so.0
#26 0xb6eb98fb in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#27 0xb71127e2 in gtk_main_iteration () from /usr/lib/libgtk-x11-2.0.so.0
#28 0xb7717864 in wxApp::Yield () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#29 0xb7e2cb4c in Manager::Yield () at app.h:297
#30 0xb7e2f919 in MessageManager::DebugLog (this=0x841fde0, msg=0x0)
at messagemanager.cpp:172
#31 0xb7e6ceaf in ProjectManager::RemoveProjectFromAllDependencies (
this=0x842f448, base=0x876d1c8) at string.h:477
#32 0xb7e724b7 in ProjectManager::CloseActiveProject (this=0x842f448,
dontsave=true) at projectmanager.cpp:788
#33 0xb7e7272b in ProjectManager::CloseAllProjects (this=0x842f448, dontsave=4)
at projectmanager.cpp:716
#34 0xb7e7283e in ProjectManager::CloseWorkspace (this=0x842f448)
at projectmanager.cpp:1003
#35 0x0807e7ee in MainFrame::OnFileCloseWorkspace (this=0x81c0a00,
event=@0xbfffe4a0) at main.cpp:1763
#36 0xb74ed48b in wxAppConsole::HandleEvent ()
from /usr/lib/libwx_baseu-2.6.so.0
#37 0xb7591a3b in wxEvtHandler::ProcessEventIfMatches ()
from /usr/lib/libwx_baseu-2.6.so.0
#38 0xb7591dd4 in wxEventHashTable::HandleEvent ()
from /usr/lib/libwx_baseu-2.6.so.0
#39 0xb7592a2e in wxEvtHandler::ProcessEvent ()
from /usr/lib/libwx_baseu-2.6.so.0
#40 0xb75929ce in wxEvtHandler::ProcessEvent ()
from /usr/lib/libwx_baseu-2.6.so.0
#41 0xb75929ce in wxEvtHandler::ProcessEvent ()
from /usr/lib/libwx_baseu-2.6.so.0
#42 0xb75929ce in wxEvtHandler::ProcessEvent ()
from /usr/lib/libwx_baseu-2.6.so.0
#43 0xb75929ce in wxEvtHandler::ProcessEvent ()
from /usr/lib/libwx_baseu-2.6.so.0
#44 0xb75929ce in wxEvtHandler::ProcessEvent ()
from /usr/lib/libwx_baseu-2.6.so.0
#45 0xb77a3116 in wxMenu::FindMenuIdByMenuItem ()
from /usr/lib/libwx_gtk2u_core-2.6.so.0
#46 0xb6f4f16f in g_cclosure_marshal_VOID__VOID ()
from /usr/lib/libgobject-2.0.so.0
#47 0xb6f3628f in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#48 0xb6f4d813 in g_signal_has_handler_pending ()
from /usr/lib/libgobject-2.0.so.0
#49 0xb6f4e9c7 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#50 0xb6f4ed8d in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#51 0xb720d923 in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0
#52 0xb7124573 in gtk_menu_shell_activate_item ()
from /usr/lib/libgtk-x11-2.0.so.0
#53 0xb7124837 in gtk_menu_shell_activate_item ()
from /usr/lib/libgtk-x11-2.0.so.0
#54 0xb711b104 in gtk_menu_reorder_child () from /usr/lib/libgtk-x11-2.0.so.0
#55 0xb711548a in gtk_marshal_VOID__UINT_STRING ()
from /usr/lib/libgtk-x11-2.0.so.0
#56 0xb6f366c5 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0
#57 0xb6f3628f in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#58 0xb6f4d39a in g_signal_has_handler_pending ()
from /usr/lib/libgobject-2.0.so.0
#59 0xb6f4e5d7 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#60 0xb6f4ed8d in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#61 0xb720da95 in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0
#62 0xb7113a6e in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#63 0xb7113d41 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#64 0xb7339bff in gdk_event_get_graphics_expose ()
from /usr/lib/libgdk-x11-2.0.so.0
#65 0xb6eb6b5d in g_source_remove_poll () from /usr/lib/libglib-2.0.so.0
#66 0xb6eb93dc in g_main_context_acquire () from /usr/lib/libglib-2.0.so.0
#67 0xb6eb9740 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#68 0xb71130cd in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#69 0xb77341b2 in wxEventLoop::Run () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#70 0xb77bfc05 in wxAppBase::MainLoop ()
from /usr/lib/libwx_gtk2u_core-2.6.so.0
#71 0xb77bfd42 in wxAppBase::OnRun () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#72 0x08060548 in CodeBlocksApp::OnRun (this=0x0) at app.cpp:471
#73 0xb75318be in wxEntry () from /usr/lib/libwx_baseu-2.6.so.0
#74 0xb7531c1c in wxEntry () from /usr/lib/libwx_baseu-2.6.so.0
#75 0x0805fcea in main (argc=1, argv=0x0) at app.cpp:86
As you can see 'MessageManager::DebugLog' is called from the functions that close the project. And 'MessageManager::DebugLog' calls Manager::Yield and thus wxApp::Yield. And this functions just sets up another message-loop that keeps Code::Blocks still alive.
After closing Code::BLocks it crashes in "ProjectManager::CloseActiveProject". That is quite logical because after the shutdown is complete and the "new" message loop returns, execution will come back to "ProjectManager::CloseActiveProject" which then crashes because everything around is already destroyed.
I'm just wondering why this did never happen before? Or did 'MessageManager::DebugLog' never call Manager::Yield (or wxApp::Yield) until the changes during the last week?
PS: I'm running Code::Blocks Version 1.0 revision 1746 (gcc 3.4.4 Linux/unicode, build: Jan 13 2006 15:05:25) with *NO* plugins enabled.