Developer forums (C::B DEVELOPMENT STRICTLY!) > Development

Crash when unloading compiler plugin

(1/4) > >>

oBFusCATed:
I'm playing a bit with the plugins and I found a rather strange crash.

To reproduce:
1. Open codeblocks
2. Open Plugins -> Manager ...
3. Unload the compiler plugin
4. Load the compiler plugin
5. Unload the compiler plugin -> codeblocks crashes

Tested on gentoo linux amd64 wxgtk 2.8.12.x latest trunk version of c::b, compiled in c::b

Here is the backtrace:

--- Code: ---#0 0x7ffff497c835 wxWindowBase::TryParent(wxEvent&) () (/usr/lib64/libwx_gtk2u_core-2.8.so.0:??)
#1 0x7ffff420b2b0 wxEvtHandler::ProcessEvent(wxEvent&) () (/usr/lib64/libwx_baseu-2.8.so.0:??)
#2 0x7ffff5737943 wxAuiNotebook::SetSelection(unsigned long) () (/usr/lib64/libwx_gtk2u_aui-2.8.so.0:??)
#3 0x7ffff5739542 wxAuiNotebook::RemovePage(unsigned long) () (/usr/lib64/libwx_gtk2u_aui-2.8.so.0:??)
#4 0x7ffff57396cd wxAuiNotebook::DeletePage(unsigned long) () (/usr/lib64/libwx_gtk2u_aui-2.8.so.0:??)
#5 0x7ffff3c1ff6f cbAuiNotebook::DeletePage(this=0xe7ec00, page=3) (/home/obfuscated/projects/codeblocks/dev/trunk2/src/sdk/cbauibook.cpp:590)
#6 0x4b2b85 InfoPane::DeleteLogger(this=0xe7ec00, l=0x1da7fa0) (/home/obfuscated/projects/codeblocks/dev/trunk2/src/src/infopane.cpp:452)
#7 0x46a1dc MainFrame::OnRemoveLogWindow(this=0xb46220, event=...) (/home/obfuscated/projects/codeblocks/dev/trunk2/src/src/main.cpp:4613)
#8 0x47a0a7 cbEventFunctor<MainFrame, CodeBlocksLogEvent>::Call(this=0x1452810, event=...) (/home/obfuscated/projects/codeblocks/dev/trunk2/src/include/cbfunctor.h:35)
#9 0x7ffff3c21f58 Manager::ProcessEvent(this=0x8775c0, event=...) (/home/obfuscated/projects/codeblocks/dev/trunk2/src/sdk/manager.cpp:211)
#10 0x7fffe212e43d CompilerGCC::OnRelease(this=0x1317100, appShutDown=false) (/home/obfuscated/projects/codeblocks/dev/trunk2/src/plugins/compilergcc/compilergcc.cpp:492)
#11 0x7ffff3c2dfb4 cbPlugin::Release(this=0x1317100, appShutDown=false) (/home/obfuscated/projects/codeblocks/dev/trunk2/src/sdk/cbplugin.cpp:85)
#12 0x7ffff3c62b86 PluginManager::DetachPlugin(this=0x116aa50, plugin=0x1317100) (/home/obfuscated/projects/codeblocks/dev/trunk2/src/sdk/pluginmanager.cpp:207)
#13 0x7ffff3b2622b PluginsConfigurationDlg::OnToggle(this=0x7fffffffc420, event=...) (/home/obfuscated/projects/codeblocks/dev/trunk2/src/sdk/pluginsconfigurationdlg.cpp:200)
#14 0x7ffff420ae56 wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () (/usr/lib64/libwx_baseu-2.8.so.0:??)
#15 0x7ffff420afdb wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () (/usr/lib64/libwx_baseu-2.8.so.0:??)
#16 0x7ffff420b314 wxEvtHandler::ProcessEvent(wxEvent&) () (/usr/lib64/libwx_baseu-2.8.so.0:??)
#17 0x7ffff497c838 wxWindowBase::TryParent(wxEvent&) () (/usr/lib64/libwx_gtk2u_core-2.8.so.0:??)
#18 0x7ffff48d92e9 ??() (/usr/lib64/libwx_gtk2u_core-2.8.so.0:??)
#19 0x7ffff5c9358e ??() (/usr/lib64/libgobject-2.0.so.0:??)
#20 0x7ffff5cabedd g_signal_emit_valist() (/usr/lib64/libgobject-2.0.so.0:??)
#21 0x7ffff5caca15 g_signal_emit() (/usr/lib64/libgobject-2.0.so.0:??)
#22 0x7ffff7833245 ??() (/usr/lib64/libgtk-x11-2.0.so.0:??)
#23 0x7ffff5c9358e ??() (/usr/lib64/libgobject-2.0.so.0:??)
#24 0x7ffff5cabedd g_signal_emit_valist() (/usr/lib64/libgobject-2.0.so.0:??)
#25 0x7ffff5caca15 g_signal_emit() (/usr/lib64/libgobject-2.0.so.0:??)
#26 0x7ffff7831ffd ??() (/usr/lib64/libgtk-x11-2.0.so.0:??)
#27 0x7ffff78dcba8 ??() (/usr/lib64/libgtk-x11-2.0.so.0:??)
#28 0x7ffff5c932db g_closure_invoke() (/usr/lib64/libgobject-2.0.so.0:??)
#29 0x7ffff5ca4b9d ??() (/usr/lib64/libgobject-2.0.so.0:??)

--- End code ---

frithjofh:
same confirmed here. SuSE 12.1 on AMD x84_64, wxgtk 2.8.12. code::blocks svn7948 self compiled

[attachment deleted by admin]

Jenna:
I see why it happens, not sure whether it is am issue in C::B or wxWidgets.
I hope I find a fix soon.

oBFusCATed:
I'll be happy if you explain what is the reason for this :)

MortenMacFly:

--- Quote from: oBFusCATed on April 29, 2012, 11:31:57 pm ---I'll be happy if you explain what is the reason for this :)

--- End quote ---
Just from the log I'd guess its a deleted pointer that did not get NULLed and is re-used...

Navigation

[0] Message Index

[#] Next page

Go to full version