Author Topic: Infinite Loop when using debug Next Line  (Read 2408 times)

Offline arnoldo165

  • Single posting newcomer
  • *
  • Posts: 6
Infinite Loop when using debug Next Line
« on: June 25, 2015, 12:19:47 pm »
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 ?? ()

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: Infinite Loop when using debug Next Line
« Reply #1 on: June 26, 2015, 12:35:58 am »
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!]