News:

Accounts with zero posts and zero activity during the last months will be deleted periodically to fight SPAM!

Main Menu

Infinite Loop when using debug Next Line

Started by arnoldo165, June 25, 2015, 12:19:47 PM

Previous topic - Next topic

arnoldo165

Hi,

I have recently installed C::B  on my computer (Debian Jessie 64Bit).
It uses the wx3.0 library.
info  svn 10329 Build 11 June 2015 22:50:41

When debuging my code, it happens very frequently that using "Next Line" or  "Next Instruction" sends C::B in an infinite loop (100% CPU is used by the codeblocks process).
The debug icons remain enabled but there is no more yellow cursor and everything seems frozen.

I don't know whether it is the right place to report that bug or whether I should open a ticket.

If useful, here is what gdb has to say about the Infinite loop that happens.
You can see that it comes from the wx library.

#0  0x00007f4ac69e82b3 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f4ac9f744eb in ?? () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#2  0x00007f4acc947633 in PipedProcess::HasInput() () from /usr/lib/libcodeblocks.so.0
#3  0x00007f4aa7d7f029 in DebuggerGDB::OnIdle(wxIdleEvent&) () from /usr/lib/codeblocks/plugins/libdebugger.so
#4  0x00007f4ac9dfad5e in wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#5  0x00007f4ac9f964c8 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#6  0x00007f4ac9f965cb in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#7  0x00007f4ac9f96978 in wxEvtHandler::TryHereOnly(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#8  0x00007f4ac9f96783 in wxEvtHandler::DoTryChain(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#9  0x00007f4ac9f96a65 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#10 0x00007f4ac9f967d7 in wxEvtHandler::SafelyProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#11 0x00007f4acab8ac1f in wxWindowBase::SendIdleEvents(wxIdleEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#12 0x00007f4aca9e41bf in wxFrame::SendIdleEvents(wxIdleEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#13 0x00007f4acaa32b3d in wxAppBase::ProcessIdle() () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#14 0x00007f4aca928f6e in wxApp::DoIdle() () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#15 0x00007f4aca9290a3 in ?? () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#16 0x00007f4ac7e26b6d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007f4ac7e26f48 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007f4ac7e26ffc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007f4ac986c7b1 in gtk_main_iteration () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#20 0x00007f4aca97313d in wxWindow::DoPopupMenu(wxMenu*, int, int) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#21 0x00007f4acab8d4c3 in wxWindowBase::PopupMenu(wxMenu*, int, int) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#22 0x00000000004fbc95 in ?? ()
#23 0x00000000004fbd29 in ?? ()
#24 0x00007f4ac9dfad5e in wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#25 0x00007f4ac9f964c8 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#26 0x00007f4ac9f965cb in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#27 0x00007f4ac9f96978 in wxEvtHandler::TryHereOnly(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#28 0x00007f4ac9f96783 in wxEvtHandler::DoTryChain(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#29 0x00007f4ac9f96a65 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#30 0x00007f4ac9f967d7 in wxEvtHandler::SafelyProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#31 0x00007f4aca9776cb in ?? () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#32 0x00007f4ac986ea3f in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#33 0x00007f4ac80fc245 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#34 0x00007f4ac810df6c in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#35 0x00007f4ac8116285 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#36 0x00007f4ac81169df in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#37 0x00007f4ac9985d6c in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#38 0x00007f4ac986d184 in gtk_propagate_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#39 0x00007f4ac986d61b in gtk_main_do_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#40 0x00007f4ac94e0b5c in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#41 0x00007f4ac7e26c5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#42 0x00007f4ac7e26f48 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#43 0x00007f4ac7e27272 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#44 0x00007f4ac986c597 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#45 0x00007f4aca94a8a5 in wxGUIEventLoop::DoRun() () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#46 0x00007f4ac9e40d50 in wxEventLoopBase::Run() () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#47 0x00007f4ac9dfd086 in wxAppConsoleBase::MainLoop() () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#48 0x000000000045f2c9 in ?? ()
#49 0x00007f4ac9e97c20 in wxEntry(int&, wchar_t**) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#50 0x00000000004414d2 in ?? ()
#51 0x00007f4ac692ab45 in __libc_start_main (main=0x4414c0, argc=1, argv=0x7ffe532efe58, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe532efe48) at libc-start.c:287
#52 0x0000000000454bcc in ?? ()

oBFusCATed

Probably you're have the locals or function arguments enable and you've stepped on the initialization or before it of a std::vector or something similar.
This will result in gdb reading some strange value for the size ((uint64_t)-1) of the vector and trying to read it all.

Can you confirm this is the cause for the problem?
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]