Developer forums (C::B DEVELOPMENT STRICTLY!) > Development
Bootstrap with no wxWidgets packet installed
ollydbg:
OK, I use GDB to attach to the hanging C::B, and here is the bt:
--- Code: ---(gdb) bt 30
#0 0x00007fe35da69ed7 in wxMBConv::ToWChar(wchar_t*, unsigned long, char const*, unsigned long) const ()
from /home/zyh/code/wx3install/lib/libwx_gtk3u-3.1.so.1
#1 0x00007fe35daa2214 in wxTextInputStream::GetChar() ()
from /home/zyh/code/wx3install/lib/libwx_gtk3u-3.1.so.1
#2 0x00007fe35daa23c0 in wxTextInputStream::ReadLine() ()
from /home/zyh/code/wx3install/lib/libwx_gtk3u-3.1.so.1
#3 0x00007fe35db36912 in ReadAll(wxInputStream*, wxArrayString&) ()
from /home/zyh/code/wx3install/lib/libwx_gtk3u-3.1.so.1
#4 0x00007fe35db36a82 in wxDoExecuteWithCapture(wxString const&, wxArrayString&, wxArrayString*, int, wxExecuteEnv const*) ()
from /home/zyh/code/wx3install/lib/libwx_gtk3u-3.1.so.1
#5 0x00007fe35ebd433f in cbDebuggerPlugin::RunNixConsole(wxString&) ()
from /home/zyh/code/cbinstall/lib/libcodeblocks.so.0
#6 0x00007fe31ce0ce0a in DebuggerGDB::DoDebug(bool) ()
from /home/zyh/code/cbinstall/lib/codeblocks/plugins/libdebugger.so
#7 0x00007fe31ce0da5e in DebuggerGDB::Debug(bool) ()
from /home/zyh/code/cbinstall/lib/codeblocks/plugins/libdebugger.so
#8 0x0000000000473b85 in DebuggerMenuHandler::OnStart(wxCommandEvent&) ()
#9 0x00007fe35d9a45fe in wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const ()
from /home/zyh/code/wx3install/lib/libwx_gtk3u-3.1.so.1
#10 0x00007fe35db2ab32 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) ()
from /home/zyh/code/wx3install/lib/libwx_gtk3u-3.1.so.1
#11 0x00007fe35db2abe3 in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () from /home/zyh/code/wx3install/lib/libwx_gtk3u-3.1.so.1
#12 0x00007fe35db2b32a in wxEvtHandler::TryHereOnly(wxEvent&) ()
from /home/zyh/code/wx3install/lib/libwx_gtk3u-3.1.so.1
#13 0x00007fe35db2ad73 in wxEvtHandler::DoTryChain(wxEvent&) ()
from /home/zyh/code/wx3install/lib/libwx_gtk3u-3.1.so.1
#14 0x00007fe35db2b405 in wxEvtHandler::ProcessEvent(wxEvent&) ()
from /home/zyh/code/wx3install/lib/libwx_gtk3u-3.1.so.1
#15 0x00007fe35dd7d268 in wxWindowBase::TryAfter(wxEvent&) ()
from /home/zyh/code/wx3install/lib/libwx_gtk3u-3.1.so.1
#16 0x00007fe35db2cb97 in wxEvtHandler::SafelyProcessEvent(wxEvent&) ()
from /home/zyh/code/wx3install/lib/libwx_gtk3u-3.1.so.1
#17 0x00007fe35dd59e64 in wxToolBarBase::OnLeftClick(int, bool) ()
from /home/zyh/code/wx3install/lib/libwx_gtk3u-3.1.so.1
#18 0x00007fe35a46e5e7 in ?? ()
---Type <return> to continue, or q <return> to quit---
from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#19 0x00007fe35a487088 in g_signal_emit_valist ()
from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#20 0x00007fe35a488212 in g_signal_emit_by_name ()
from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#21 0x00007fe35a46e5e7 in ?? ()
from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#22 0x00007fe35a487088 in g_signal_emit_valist ()
from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#23 0x00007fe35a487ce2 in g_signal_emit ()
from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#24 0x00007fe35b7267e8 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#25 0x00007fe35a46e3b8 in g_closure_invoke ()
from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#26 0x00007fe35a47f557 in ?? ()
from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#27 0x00007fe35a487a29 in g_signal_emit_valist ()
from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#28 0x00007fe35a487ce2 in g_signal_emit ()
from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#29 0x00007fe35b7256a1 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
(More stack frames follow...)
(gdb)
--- End code ---
So, it looks like the debugger plugin goes to an endless loop?
blauzahn:
--- Code: ---in wxMBConv::ToWChar
--- End code ---
Over the last months I have seen cb hanging there reproducibly several times.
And that was from other call-sites -- more than one. If memory serves me, it was e.g. splash-screen
during startup. Right now the latter seems to work. I did not try to analyse it though.
blauzahn:
--- Quote ---works OK if I run C::B under GDB,
--- End quote ---
My first thought: Does the debugger set an otherwise uninitialized variable to zero or another
"helpful" value -- maybe just by stack-reuse?
oBFusCATed:
@ollydbg: You're most probably hitting a race condition in wxExecute. Search wxwidgets' trac to see if someone has already reported this. I've not seen these for a long time. In the past those happened during compilation.
Also can you try to revert the two recent commits related to the environment in the debugger have anything to do with this?
Can you build wx with symbols so we can see where exactly in their code stops?
ollydbg:
--- Quote from: oBFusCATed on August 10, 2018, 08:05:46 am ---Also can you try to revert the two recent commits related to the environment in the debugger have anything to do with this?
--- End quote ---
You mean I just need to revert the svn r11442 and r11441?
Or, the revisions in the debugger plugin? Which revision?
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version