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

Redundant Crash in CCManager::OnShowCallTip()

(1/5) > >>

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&amp;)" offset="00000012"/>
    <frame level="2" function="CCManager::OnShowCallTip(CodeBlocksEvent&amp;)" offset="0000017a"/>
    <frame level="3" function="Manager::ProcessEvent(CodeBlocksEvent&amp;)" offset="00000080"/>
    <frame level="4" function="CCManager::OnDeferredCallTipShow(wxCommandEvent&amp;)" offset="000000a3"/>
    <frame level="5" function="wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&amp;, wxEvtHandler*, wxEvent&amp;)" offset="00000056"/>
    <frame level="6" function="wxEvtHandler::SearchDynamicEventTable(wxEvent&amp;)" offset="0000004f"/>
    <frame level="7" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" 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