Author Topic: Linux crashes  (Read 21714 times)

Offline atwins

  • Multiple posting newcomer
  • *
  • Posts: 13
Re: Linux crashes
« Reply #30 on: January 19, 2006, 09:46:01 pm »
Running 1813 without code completion.  Same problem.  With a file open in the editor and more than one plugin loaded, closing the project causes the "waiting" cursor I described earlier.  BUT, closing Code::Blocks with the file open exits cleanly.  This is different and may be what sgsong reported about 1804. 

While I have code completion attention... I do note that I have an array of structures, and accessing as struct. something,  After the dot code completion comes up with all the global symbols.  Nothing related to the struct members.

And now for some reason, I can't build my old project.  "undefined main" when just compiling one file.  Oh well, that's yet another issue.


Offline atwins

  • Multiple posting newcomer
  • *
  • Posts: 13
Re: Linux crashes
« Reply #31 on: January 20, 2006, 02:10:02 am »
Now running 1816 and I can again build my project. 

Previous message was not as clear as I'd like.  Code completion is not the cause of the "close Project with files open" problem.

And as for code completion, when accessing one of an array of structures, I do not get members of the struct at the dot following the square indexing brackets.  code completion shows globals.  I guess the brackets and the i caused italics mode... Sorry for not previewing my last message.

So not using the i, I want to do
struct[k].member

Offline tiwag

  • Developer
  • Lives here!
  • *****
  • Posts: 1196
  • sailing away ...
    • tiwag.cb
Re: Linux crashes
« Reply #32 on: January 20, 2006, 02:15:59 am »
svn rev 1816 is running pretty well with linux ubuntu 5.10. wxGTK 2.6.1 unicode shared.

also keybinder and wxsmith plugins aren't crashing at the first glance

keybinder suffers on some key-combinations ( Ctrl-PRIOR, CTRL-NEXT, ... others maybe too)
wxsmith is subject of test right now ...

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2174
Re: Linux crashes
« Reply #33 on: January 20, 2006, 04:13:37 am »
svn rev 1816 is running pretty well with linux ubuntu 5.10. wxGTK 2.6.1 unicode shared.

also keybinder and wxsmith plugins aren't crashing at the first glance

keybinder suffers on some key-combinations ( Ctrl-PRIOR, CTRL-NEXT, ... others maybe too)
wxsmith is subject of test right now ...

Thanks for the reminder tiwag, I haven't checked on the key combnations yet.
It'll take me most of the  day tomorrow to get codeblocks running again.
I'ts running ubuntu on only an old  300 mhz lappie. Once running again I'll check out these bugs.

Please let me know about any other anomilies, etc

thanks
pecan
« Last Edit: January 20, 2006, 04:15:30 am by Pecan »

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2174
Re: Linux crashes
« Reply #34 on: January 20, 2006, 05:51:56 pm »
svn rev 1816 is running pretty well with linux ubuntu 5.10. wxGTK 2.6.1 unicode shared.

also keybinder and wxsmith plugins aren't crashing at the first glance

keybinder suffers on some key-combinations ( Ctrl-PRIOR, CTRL-NEXT, ... others maybe too)
wxsmith is subject of test right now ...

Hi tiwag, thanks for doing the keybinder testing.
I can't seem to get the same problems you're having.

I set three bookmarks
I set "go to previous bookmark"  to ctrl+prior
I set "go to next bookmark " to ctrl+next
I make SURE to hit the apply button.

The keys work. I then set secondary keys to Alt+Prior and Alt+Next
and they work also.

Could you give me a sequence of actions to make them fail.

thanks
pecan

EDIT: These keys work for me on both XP and ubuntu

Offline tiwag

  • Developer
  • Lives here!
  • *****
  • Posts: 1196
  • sailing away ...
    • tiwag.cb
Re: Linux crashes
« Reply #35 on: January 20, 2006, 06:01:49 pm »
for me Ctrl+Prior and Ctrl +Next are only working in Windows, where i have them by default assigned to the prev. & next bookmark keys.
when i wanted to do so in ubuntu, it scrolls the editor window horizontally.


[edit]
in the meanwhile i did a complete re-build of my C::B rev 1823 on ubuntu linux and tested again,

Ctrl+Prior & Ctrl+Next are working like a charm !!!

sorry Pecan, with my last C::B rev 1816 on ubuntu linux i must have forgotten to rebuild cbKeyBinder  :oops:
« Last Edit: January 20, 2006, 07:13:14 pm by tiwag »

Offline Der Meister

  • Regular
  • ***
  • Posts: 307
Re: Linux crashes
« Reply #36 on: January 20, 2006, 09:46:24 pm »
If finally found the reason for the lock-up if Code::Blocks wants to save a modified Layout during shutdown (I described it here) and probably a solution for this.

The problem is that the 'Edit' menu (and probably other menus) is re-created when the annoying dialog should get closed (or even before? I don't know, doesn't matter anyway). Although the function 'MainFrame::OnEditMenuUpdateUI' (and probably the handlers for the other menus, too) checks if Code::Blocks is shutting down (and does nothing if this is true) it does not help here because 'Manager::appShuttingDown' is still false here. If I set it to true just before 'MainFrame::SaveWindowState' is called from 'MainFrame::OnApplicationClose' (this is line 1869 in 'src/src/main.cpp') everything works perfect.

Here is the little hack I used to test this:
Code: [Select]
$ svn diff src/src/main.cpp Index: src/src/main.cpp
===================================================================
--- src/src/main.cpp    (revision 1823)
+++ src/src/main.cpp    (working copy)
@@ -1866,7 +1866,9 @@
         return;
     }
 
-    SaveWindowState();
+       Manager::appShuttingDown = true;
+       SaveWindowState();
+       Manager::appShuttingDown = false;
 
     m_LayoutManager.DetachPane(Manager::Get()->GetProjectManager()->GetNotebook());
     m_LayoutManager.DetachPane(Manager::Get()->GetMessageManager()->GetNotebook());
Of course, this is no real solution because I had to make 'Manager::appShuttingDown' public to get this hack working ( :wink: ) but this was the easiest way to test this. And I don't really know how this should be integrated into the currect interface/etc. without being a dirty hack.
Real Programmers don't comment their code. If it was hard to write, it should be hard to understand.
Real Programmers don't write in BASIC. Actually, no programmers write in BASIC, after the age of 12.

Offline rickg22

  • Lives here!
  • ****
  • Posts: 2283
Re: Linux crashes
« Reply #37 on: January 20, 2006, 10:18:06 pm »
If it's a matter of events, why not just disable the main Window and prevent the events from getting triggered in the first place?

Offline Der Meister

  • Regular
  • ***
  • Posts: 307
Re: Linux crashes
« Reply #38 on: January 20, 2006, 10:26:16 pm »
Well, if that works it would probably be a good solution. I just used this hack because I saw that 'MainFrame::OnEditMenuUpdateUI' already has this check and wanted to test if this function causes the problem. Another thing is that I'm still not really familiar with wxWidgets and Code::Blocks (from the view of a developer) - thus I don't find the obvious/best solution in most cases, yet. ;)
Real Programmers don't comment their code. If it was hard to write, it should be hard to understand.
Real Programmers don't write in BASIC. Actually, no programmers write in BASIC, after the age of 12.

Offline Der Meister

  • Regular
  • ***
  • Posts: 307
Re: Linux crashes
« Reply #39 on: January 21, 2006, 12:03:18 pm »
If it's a matter of events, why not just disable the main Window and prevent the events from getting triggered in the first place?
Did you mean 'wxWindow::Disable()'? This doesn't work. It just prevents the user from triggering new events but the UpdateUI-Events are still generated.

Anyway, I just found another solution that seems to be rather good (*no* hack ;) ) and it doesn't require big changes. 'MainFrame::OnApplicationClose' already sets a variable called 'MainFrame::m_InitiatedShutdown' to true to indicate that Code::Blocks will shut down. Just check this variable in addition to 'Manager::isappShuttingDown' and it works:
Code: [Select]
$ svn diff src/src/main.cpp
Index: src/src/main.cpp
===================================================================
--- src/src/main.cpp    (revision 1823)
+++ src/src/main.cpp    (working copy)
@@ -2462,7 +2462,7 @@
 
 void MainFrame::OnFileMenuUpdateUI(wxUpdateUIEvent& event)
 {
-    if(Manager::isappShuttingDown())
+    if(Manager::isappShuttingDown() || m_InitiatedShutdown)
     {
         event.Skip();
         return;
@@ -2500,7 +2500,7 @@
 
 void MainFrame::OnEditMenuUpdateUI(wxUpdateUIEvent& event)
 {
-    if(Manager::isappShuttingDown())
+    if(Manager::isappShuttingDown() || m_InitiatedShutdown)
     {
         event.Skip();
         return;
@@ -2566,7 +2566,7 @@
 
 void MainFrame::OnViewMenuUpdateUI(wxUpdateUIEvent& event)
 {
-    if(Manager::isappShuttingDown())
+    if(Manager::isappShuttingDown() || m_InitiatedShutdown)
     {
         event.Skip();
         return;
@@ -2607,7 +2607,7 @@
 
 void MainFrame::OnSearchMenuUpdateUI(wxUpdateUIEvent& event)
 {
-    if(Manager::isappShuttingDown())
+    if(Manager::isappShuttingDown() || m_InitiatedShutdown)
     {
         event.Skip();
         return;
@@ -2632,7 +2632,7 @@
 
 void MainFrame::OnProjectMenuUpdateUI(wxUpdateUIEvent& event)
 {
-    if(Manager::isappShuttingDown())
+    if(Manager::isappShuttingDown() || m_InitiatedShutdown)
     {
         event.Skip();
         return;
@@ -2653,7 +2653,7 @@
 
 void MainFrame::OnEditorUpdateUI(CodeBlocksEvent& event)
 {
-    if(Manager::isappShuttingDown())
+    if(Manager::isappShuttingDown() || m_InitiatedShutdown)
     {
         event.Skip();
         return;
@@ -2898,7 +2898,7 @@
 
 void MainFrame::OnRequestDockWindow(CodeBlocksDockEvent& event)
 {
-    if (Manager::isappShuttingDown())
+    if(Manager::isappShuttingDown() || m_InitiatedShutdown)
         return;
 
     wxPaneInfo info;
I'm not sure if the change in 'MainFrame::OnRequestDockWindow' is necessary but it should not harm anything.
Real Programmers don't comment their code. If it was hard to write, it should be hard to understand.
Real Programmers don't write in BASIC. Actually, no programmers write in BASIC, after the age of 12.

Offline tiwag

  • Developer
  • Lives here!
  • *****
  • Posts: 1196
  • sailing away ...
    • tiwag.cb
Re: Linux crashes
« Reply #40 on: January 21, 2006, 03:32:21 pm »
meister: i've applied your patch and still get a crash when doing the following:

1. start CB
2. open a simle console "hello world" project
3. do Menu : Project->Close Project 
4. if startpage is enabled, a blank startpage appears and  the Busy-cursor circulates forever ...
5.  do Menu: File->Quit, CB crashes with a  Segmentation fault  (it crashes regardless of the startpage setting)

the backtrace shows src/src/main.app:86 ( "IMPLEMENT_APP(CodeBlocksApp) " macro )
any ideas how to trace this ?
do you get the same crash ?

linux ubuntu 5.10 breezy, wxGTK2.6.1 unicode shared (from ubuntu repository)
backtrace attached

[attachment deleted by admin]
« Last Edit: January 21, 2006, 03:37:40 pm by tiwag »

Offline Der Meister

  • Regular
  • ***
  • Posts: 307
Re: Linux crashes
« Reply #41 on: January 21, 2006, 03:42:09 pm »
This patch was not for any crash.

It fixes the lock-up when Code::Blocks asks if the changed layout should be saved while Code::Blocks is shutting down.

The crash you are talking about is another problem with wxYield. I can reproduce this here, too, and I'm quite sure that it is a plugin-related issue. Here is the backtrace I got when I stopped Code::Blocks after closing the project:
Code: [Select]
#0  0xb74e5a3c in wxEvtHandler::ProcessEventIfMatches () from /usr/lib/libwx_baseu-2.6.so.0
#1  0xb758ddd4 in wxEventHashTable::HandleEvent () from /usr/lib/libwx_baseu-2.6.so.0
#2  0xb758ea2e in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#3  0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#4  0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#5  0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#6  0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#7  0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#8  0xb7842d3a in wxWindowBase::TryParent () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#9  0xb758e9e3 in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#10 0xb7842d3a in wxWindowBase::TryParent () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#11 0xb758e9e3 in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#12 0xb7842210 in wxWindowBase::UpdateWindowUI () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#13 0xb7744de6 in wxWindow::OnInternalIdle () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#14 0xb787be98 in wxGenericTreeCtrl::OnInternalIdle () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#15 0xb77bbf92 in wxAppBase::SendIdleEvents () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#16 0xb77bbfc2 in wxAppBase::SendIdleEvents () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#17 0xb77bbfc2 in wxAppBase::SendIdleEvents () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#18 0xb77bbed8 in wxAppBase::ProcessIdle () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#19 0xb77133d1 in wxPaletteBase::GetColoursCount () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#20 0xb6eb7663 in g_child_watch_add () from /usr/lib/libglib-2.0.so.0
#21 0xb6eb2b5d in g_source_remove_poll () from /usr/lib/libglib-2.0.so.0
#22 0xb6eb53dc in g_main_context_acquire () from /usr/lib/libglib-2.0.so.0
#23 0xb6eb58fb in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#24 0xb710e7e2 in gtk_main_iteration () from /usr/lib/libgtk-x11-2.0.so.0
#25 0xb7713864 in wxApp::Yield () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#26 0xb7591554 in wxYieldIfNeeded () from /usr/lib/libwx_baseu-2.6.so.0
#27 0xb7878c9a in wxGenericTreeCtrl::ScrollTo () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#28 0xb787b8ed in wxGenericTreeCtrl::EnsureVisible () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#29 0xb787bb8e in wxGenericTreeCtrl::DoSelectItem () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#30 0xb787be70 in wxGenericTreeCtrl::SelectItem () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#31 0xb787bef6 in wxGenericTreeCtrl::OnInternalIdle () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#32 0xb77bbf92 in wxAppBase::SendIdleEvents () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#33 0xb77bbfc2 in wxAppBase::SendIdleEvents () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#34 0xb77bbed8 in wxAppBase::ProcessIdle () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#35 0xb771fbb6 in wxBeginBusyCursor () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#36 0xb7a126a3 in wxHtmlWindow::LoadPage () from /usr/lib/libwx_gtk2u_html-2.6.so.0
#37 0x0808af15 in StartHerePage (this=0x8b24368, owner=0x89dbc18, parent=0x89dbc18) at startherepage.cpp:75
#38 0x08076c7c in MainFrame::ShowHideStartPage (this=0x81b8128, forceHasProject=24) at editormanager.h:48
#39 0x080848a8 in MainFrame::OnProjectClosed (this=0x81b8128, event=@0x89dbc18) at main.cpp:2881
#40 0xb74e948b in wxAppConsole::HandleEvent () from /usr/lib/libwx_baseu-2.6.so.0
#41 0xb758da3b in wxEvtHandler::ProcessEventIfMatches () from /usr/lib/libwx_baseu-2.6.so.0
#42 0xb758dcf1 in wxEventHashTable::HandleEvent () from /usr/lib/libwx_baseu-2.6.so.0
#43 0xb758ea2e in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#44 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#45 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#46 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#47 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#48 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#49 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#50 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#51 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#52 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#53 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#54 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#55 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#56 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#57 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#58 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#59 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#60 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#61 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#62 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#63 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#64 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#65 0xb7e3c38a in PluginManager::NotifyPlugins (this=0x8808370, event=@0xbfffdff0) at pluginmanager.cpp:528
#66 0xb7dad800 in cbProject::NotifyPlugins (this=0x89dbc18, type=144555032) at cbproject.cpp:116
#67 0xb7dad8d6 in ~cbProject (this=0x8a20d80) at cbproject.cpp:108
#68 0xb7e5983a in ProjectManager::CloseProject (this=0x84327c0, project=0x8a20d80, dontsave=128, refresh=false) at projectmanager.cpp:790
#69 0xb7e5993a in ProjectManager::CloseAllProjects (this=0x84327c0, dontsave=128) at projectmanager.h:25
#70 0xb7e59a4e in ProjectManager::CloseWorkspace (this=0x84327c0) at projectmanager.cpp:1012
#71 0x0807e1ee in MainFrame::OnFileCloseWorkspace (this=0x81b8128, event=@0xbfffe4a0) at main.cpp:1769
#72 0xb74e948b in wxAppConsole::HandleEvent () from /usr/lib/libwx_baseu-2.6.so.0
#73 0xb758da3b in wxEvtHandler::ProcessEventIfMatches () from /usr/lib/libwx_baseu-2.6.so.0
#74 0xb758ddd4 in wxEventHashTable::HandleEvent () from /usr/lib/libwx_baseu-2.6.so.0
#75 0xb758ea2e in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#76 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#77 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#78 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#79 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#80 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#81 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#82 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#83 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#84 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#85 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#86 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#87 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#88 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#89 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#90 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#91 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#92 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#93 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#94 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#95 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#96 0xb758e9ce in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
#97 0xb779f116 in wxMenu::FindMenuIdByMenuItem () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#98 0xb6f4b16f in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0
#99 0xb6f3228f in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#100 0xb6f49813 in g_signal_has_handler_pending () from /usr/lib/libgobject-2.0.so.0
#101 0xb6f4a9c7 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#102 0xb6f4ad8d in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#103 0xb7209923 in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0
#104 0xb7120573 in gtk_menu_shell_activate_item () from /usr/lib/libgtk-x11-2.0.so.0
#105 0xb7120837 in gtk_menu_shell_activate_item () from /usr/lib/libgtk-x11-2.0.so.0
#106 0xb7117104 in gtk_menu_reorder_child () from /usr/lib/libgtk-x11-2.0.so.0
#107 0xb711148a in gtk_marshal_VOID__UINT_STRING () from /usr/lib/libgtk-x11-2.0.so.0
#108 0xb6f326c5 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0
#109 0xb6f3228f in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#110 0xb6f4939a in g_signal_has_handler_pending () from /usr/lib/libgobject-2.0.so.0
#111 0xb6f4a5d7 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#112 0xb6f4ad8d in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#113 0xb7209a95 in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0
#114 0xb710fa6e in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#115 0xb710fd41 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#116 0xb7335bff in gdk_event_get_graphics_expose () from /usr/lib/libgdk-x11-2.0.so.0
#117 0xb6eb2b5d in g_source_remove_poll () from /usr/lib/libglib-2.0.so.0
#118 0xb6eb53dc in g_main_context_acquire () from /usr/lib/libglib-2.0.so.0
#119 0xb6eb5740 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#120 0xb710f0cd in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#121 0xb77301b2 in wxEventLoop::Run () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#122 0xb77bbc05 in wxAppBase::MainLoop () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#123 0xb77bbd42 in wxAppBase::OnRun () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#124 0x080607f8 in CodeBlocksApp::OnRun (this=0x89dbc18) at app.cpp:471
#125 0xb752d8be in wxEntry () from /usr/lib/libwx_baseu-2.6.so.0
#126 0xb752dc1c in wxEntry () from /usr/lib/libwx_baseu-2.6.so.0
#127 0x0805ff9a in main (argc=1, argv=0x89dbc18) at app.cpp:86
Yet I don't know which plugin causes the problem but I will check it.
Real Programmers don't comment their code. If it was hard to write, it should be hard to understand.
Real Programmers don't write in BASIC. Actually, no programmers write in BASIC, after the age of 12.

Offline tiwag

  • Developer
  • Lives here!
  • *****
  • Posts: 1196
  • sailing away ...
    • tiwag.cb
Re: Linux crashes
« Reply #42 on: January 21, 2006, 03:58:03 pm »
...It fixes the lock-up when Code::Blocks asks if the changed layout should be saved while Code::Blocks is shutting down...

i never got this message cause i had disabled (don't annoy again) this dialog,
as i found out after searching a while now ;-)

Offline Der Meister

  • Regular
  • ***
  • Posts: 307
Re: Linux crashes
« Reply #43 on: January 21, 2006, 04:39:07 pm »
OK, some new information:
I can reproduce this problem even if all plugins are deactivated.

Another really weired problem:
If I have multiple files and the "start here page" open and then select the "start here page" Code::Blocks uses 100% of my CPU. But it still reacts and if I select another open file the CPU-usage goes down to normal values. Switching back to "start here page" goes up to 100% again, etc...
This is no problem with wxYield (at least I did not find any call to this function and there is no crash) but it looks as if the menus are continuously updated while the "start here page" has the focus. In combination with a call to wxYiel (as it is the case in the crash tiwag described) this would explain the high CPU load and the crash.
Real Programmers don't comment their code. If it was hard to write, it should be hard to understand.
Real Programmers don't write in BASIC. Actually, no programmers write in BASIC, after the age of 12.

Offline mandrav

  • Project Leader
  • Administrator
  • Lives here!
  • *****
  • Posts: 4291
    • Code::Blocks IDE
Re: Linux crashes
« Reply #44 on: January 21, 2006, 06:49:55 pm »
Another really weired problem:
<snip>

Thanks DerMeister, this looks like a crucial piece of info. Let me see what I can find...
Be patient!
This bug will be fixed soon...