Developer forums (C::B DEVELOPMENT STRICTLY!) > Development
Redundant Crash in CCManager::OnShowCallTip()
darksquall57:
Hi,
I'm working with codeblocks for a long time now, and sometimes I have some crashes and if I restart codeblocks it's ok.
But this time it's not the case, I have a crash which occurs after just a few actions ( moving in the code, writing a function call, hitting ";" to finish my line, ... ).
I cannot share my code, but here is the call I retrieved from the Ubuntu crash report.
--- Code: --- <stack>
<frame level="0"/>
<frame level="1" function="wxStringBase::operator=(wxStringBase const&)" offset="00000012"/>
<frame level="2" function="CCManager::OnShowCallTip(CodeBlocksEvent&)" offset="0000017a"/>
<frame level="3" function="Manager::ProcessEvent(CodeBlocksEvent&)" offset="00000080"/>
<frame level="4" function="CCManager::OnDeferredCallTipShow(wxCommandEvent&)" offset="000000a3"/>
<frame level="5" function="wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)" offset="00000056"/>
<frame level="6" function="wxEvtHandler::SearchDynamicEventTable(wxEvent&)" offset="0000004f"/>
<frame level="7" function="wxEvtHandler::ProcessEvent(wxEvent&)" offset="00000092"/>
<frame level="8" function="wxEvtHandler::ProcessPendingEvents()" offset="00000068"/>
<frame level="9" function="wxAppConsole::ProcessPendingEvents()" offset="00000051"/>
<frame level="10" function="wxAppBase::ProcessIdle()" offset="0000001e"/>
<frame level="11"/>
<frame level="12" function="g_main_context_dispatch" offset="00000135"/>
<frame level="13"/>
<frame level="14" function="g_main_loop_run" offset="0000006a"/>
<frame level="15" function="gtk_main" offset="000000a7"/>
<frame level="16" function="wxEventLoop::Run()" offset="0000003a"/>
<frame level="17" function="wxAppBase::MainLoop()" offset="0000004c"/>
</stack>
--- End code ---
I hope this will help you to find it :D
ollydbg:
Thanks fore the report.
Indeed, we have discussion about this issue before. That's the reason why CCManager::OnDeferredCallTipShow() was introduced, but it looks like we haven't really fix the real problem yet.
One possible reason is that wxString(in wx2.8.12) is not thread safe.
oBFusCATed:
Can you please install the debug packages (-dbg).
Start codeblocks under gdb (gdb /usr/bin/codeblocks) and when it crashes please run the "thread apply all bt" in the gdb command prompt.
If you can reproduce this in a simple project or some big opensource project it will be invaluable.
ollydbg:
@darksquall57, can you try to build CB against wx3.x, which has better thread safe wxString implementation. Thanks.
darksquall57:
--- Quote from: oBFusCATed on August 08, 2015, 12:20:58 am ---Can you please install the debug packages (-dbg).
--- End quote ---
you mean calling "./configure --enable-debug" ?
--- Quote from: oBFusCATed on August 08, 2015, 12:20:58 am ---If you can reproduce this in a simple project or some big opensource project it will be invaluable.
--- End quote ---
Sadly, I can't reproduce it for now, but I'm working on it.
--- Quote from: ollydbg on August 09, 2015, 02:26:30 pm ---@darksquall57, can you try to build CB against wx3.x, which has better thread safe wxString implementation. Thanks.
--- End quote ---
I'll try that too, thanks.
Navigation
[0] Message Index
[#] Next page
Go to full version