#438 Popup hint for std::vector::end() causes Codeblocks to freeze

Undefined
open
nobody
Bug_Report
2016-11-22
2016-11-19
No

Popup hint with function reference can cause application to freeze (probably infinite loop; no error messages at console).

Steps to reproduce:

  1. Create new C++ project
  2. Copy this to editor:
#include <vector>

using namespace std;

int main()
{

    std::vector<int> v;

    /* some spaces to move cursor to right side of the window ----------------------------  */  v

    return 0;
}
  1. After "v" start tying ".end()". You will see popup hint about std::vector::end() method and then application will freeze.

Note that if popup becomes when your cursor is at left side of the window (somewhere at beginning of line), bug doesn't appear. If you can't catch the bug, try inserting more or less spaces to find 'bug-causing' cursor position for your window dimentions and font size.

I catched this bug only for end() method for std::vector. Many other methods doesn't cause Codeblocks to freeze, maybe end() is the only one, maybe not.

1 Attachments

Discussion

  • ollydbg

    ollydbg - 2016-11-20
    • labels: hint, freeze, popup --> hint, freeze, popup, CodeCompletion
     
  • ollydbg

    ollydbg - 2016-11-20

    Note that if popup becomes when your cursor is at left side of the window (somewhere at beginning of line), bug doesn't appear. If you can't catch the bug, try inserting more or less spaces to find 'bug-causing' cursor position for your window dimentions and font size.

    I catched this bug only for end() method for std::vector. Many other methods doesn't cause Codeblocks to freeze, maybe end() is the only one, maybe not.

    I try to reproduce this bug on my Windows, and on my selfbuild SVN version, but I can't reproduce the crash. I believe this belong to the CodeCompletion plugin. Can you catch a call stack?

     
  • Teodor Petrov

    Teodor Petrov - 2016-11-20

    Please post os/distro and which wx version is used to build C::B and a call stack/backtrace.

     
  • Roman Shuvalov

    Roman Shuvalov - 2016-11-20
    $ uname -a
    Linux mac-debian 4.7.0-1-amd64 #1 SMP Debian 4.7.8-1 (2016-10-19) x86_64 GNU/Linux
    

    CodeBlocks 16.01 rev 10692
    Build: 2016-06-15, 06:57:50 - wx3.0.2 (Linux, unicode) - 64 bit
    SDK Version: 1.29.0

    I've launched

    gdb codeblocks
    

    After catching the bug, I hit Ctrl+C and typed "backtrace". Result is

    ^C
    Thread 1 "codeblocks" received signal SIGINT, Interrupt.
    0x00007ffff349ce6c in gtk_container_get_type ()
       from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    (gdb) backtrace
    #0  0x00007ffff349ce6c in gtk_container_get_type ()
       from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #1  0x00007ffff3637fa6 in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #2  0x00007ffff363a06b in gtk_widget_queue_draw ()
       from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #3  0x00007ffff2ef0f75 in g_closure_invoke ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #4  0x00007ffff2f02f82 in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #5  0x00007ffff2f0bbcc in g_signal_emit_valist ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #6  0x00007ffff2f0bfaf in g_signal_emit ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #7  0x00007ffff5d95b91 in wxScrollHelper::DoAdjustScrollbar(_GtkRange*, int, int, int, int*, int*, int*) ()
       from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
    #8  0x00007ffff5d95d8c in wxScrollHelper::AdjustScrollbars() ()
       from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
    #9  0x00007ffff5f5e4e6 in wxScrollHelperBase::ScrollDoSetVirtualSize(int, int)
        () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
    #10 0x00007ffff5f5d6a7 in wxScrollHelperBase::SetScrollbars(int, int, int, int, int, int, bool) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
    ---Type <return> to continue, or q <return> to quit---
    #11 0x00007ffff699aacc in wxHtmlWindow::CreateLayout() ()
       from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_html-3.0.so.0
    #12 0x00007ffff699ad18 in wxHtmlWindow::OnSize(wxSizeEvent&) ()
       from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_html-3.0.so.0
    #13 0x00007ffff53dd59e in wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const ()
       from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
    #14 0x00007ffff5563a87 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) ()
       from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
    #15 0x00007ffff5563b7b in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
    #16 0x00007ffff5563f2b in wxEvtHandler::TryHereOnly(wxEvent&) ()
       from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
    #17 0x00007ffff5563fb3 in wxEvtHandler::ProcessEventLocally(wxEvent&) ()
       from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
    #18 0x00007ffff5564015 in wxEvtHandler::ProcessEvent(wxEvent&) ()
       from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
    #19 0x00007ffff5f6105b in wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) ()
       from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
    #20 0x00007ffff5563d87 in wxEvtHandler::SafelyProcessEvent(wxEvent&) ()
       from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
    #21 0x00007ffff5d080bd in ?? ()
    ---Type <return> to continue, or q <return> to quit---
      3.0.so.0
    #22 0x00007ffff2ef0f75 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #23 0x00007ffff2f02f82 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #24 0x00007ffff2f0bbcc in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #25 0x00007ffff2f0bfaf in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #26 0x00007ffff36369aa in gtk_widget_size_allocate () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #27 0x00007ffff357b47d in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #28 0x00007ffff2ef0ecf in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #29 0x00007ffff2f0295c in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #30 0x00007ffff2f0bbcc in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #31 0x00007ffff2f0bfaf in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #32 0x00007ffff36369aa in gtk_widget_size_allocate () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #33 0x00007ffff5d05619 in ?? () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
    #34 0x00007ffff2ef0ecf in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #35 0x00007ffff2f0295c in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #36 0x00007ffff2f0bbcc in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #37 0x00007ffff2f0bfaf in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #38 0x00007ffff36369aa in gtk_widget_size_allocate () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #39 0x00007ffff364011c in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #40 0x00007ffff2ef0f75 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #41 0x00007ffff2f0295c in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #42 0x00007ffff2f0bbcc in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #43 0x00007ffff2f0bfaf in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #44 0x00007ffff36369aa in gtk_widget_size_allocate () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #45 0x00007ffff36413b1 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #46 0x00007ffff2ef0f75 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #47 0x00007ffff2f0337d in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #48 0x00007ffff2f0bbcc in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #49 0x00007ffff2f0bfaf in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #50 0x00007ffff349fbf0 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #51 0x00007ffff3151d37 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
    #52 0x00007ffff3f8468a in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #53 0x00007ffff3f84a40 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #54 0x00007ffff3f84d62 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #55 0x00007ffff3518447 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #56 0x00007ffff5cde9c5 in wxGUIEventLoop::DoRun() () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
    #57 0x00007ffff541f6f3 in wxEventLoopBase::Run() () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
    #58 0x00007ffff53e4a06 in wxAppConsoleBase::MainLoop() () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
    #59 0x0000000000471cda in ?? ()
    #60 0x00007ffff5471310 in wxEntry(int&, wchar_t**) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
    #61 0x000000000045a0ee in ?? ()
    #62 0x00007ffff483e2b1 in __libc_start_main (main=0x45a0c0, argc=1, argv=0x7fffffffe318, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, 
        stack_end=0x7fffffffe308) at ../csu/libc-start.c:291
    #63 0x000000000046d429 in ?? ()
    
     
  • Roman Shuvalov

    Roman Shuvalov - 2016-11-20

    P.S. Hints for std::vector::begin (second variant in list) and ::cbegin (also second variant) and ::cend cause the bug to appear.

    Bug also can be catched by writing "v." and choosing different methods from list by mouse or up/down arrow keys.

     
  • Teodor Petrov

    Teodor Petrov - 2016-11-20
    • labels: hint, freeze, popup, CodeCompletion --> CodeCompletion, wx30
     
  • Teodor Petrov

    Teodor Petrov - 2016-11-20

    Can you try with the latest night build?
    Check this page for details: https://apt.jenslody.de/

     
  • Roman Shuvalov

    Roman Shuvalov - 2016-11-21

    Can't install latest version. Synaptic refuses to set package version, I don't know why.

    Is there easiest way to get compiled Codeblocks binary without .deb packages?

     
    • Teodor Petrov

      Teodor Petrov - 2016-11-21

      Only manual compilation...

       
  • Roman Shuvalov

    Roman Shuvalov - 2016-11-21

    Successfully installed SVN version from DEBs via dpkg -i *.deb.
    But "About" dialog shows

    Build: Feb 20 2016, 08:05:41 - wx3.0.2 (Linux, unicode) - 64 bit
    Version: svn build rev 10922
    

    Is that correct? Debs timestamp is 20 Nov 2016.

    Anyway, bug is still here. I can reproduce it on nightly Codeblocks build.

    Backtrace is

    ^C
    Thread 1 "codeblocks" received signal SIGINT, Interrupt.
    0x00007ffff31014e1 in g_closure_ref ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    (gdb) backtrace
    #0  0x00007ffff31014e1 in g_closure_ref ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #1  0x00007ffff3101e5b in g_closure_invoke ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #2  0x00007ffff311395c in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #3  0x00007ffff311cbcc in g_signal_emit_valist ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #4  0x00007ffff311cfaf in g_signal_emit ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #5  0x00007ffff59d8b91 in wxScrollHelper::DoAdjustScrollbar(_GtkRange*, int, int, int, int*, int*, int*) ()
       from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
    #6  0x00007ffff59d8cb1 in wxScrollHelper::AdjustScrollbars() ()
       from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
    #7  0x00007ffff5ba14e6 in wxScrollHelperBase::ScrollDoSetVirtualSize(int, int)
        () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
    #8  0x00007ffff5ba06a7 in wxScrollHelperBase::SetScrollbars(int, int, int, int, int, int, bool) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
    #9  0x00007ffff65ddc02 in wxHtmlWindow::CreateLayout() ()
       from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_html-3.0.so.0
    #10 0x00007ffff65ddd18 in wxHtmlWindow::OnSize(wxSizeEvent&) ()
       from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_html-3.0.so.0
    ---Type <return> to continue, or q <return> to quit---
    #11 0x00007ffff4e1059e in wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const ()
       from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
    #12 0x00007ffff4f96a87 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) ()
       from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
    #13 0x00007ffff4f96b7b in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
    #14 0x00007ffff4f96f2b in wxEvtHandler::TryHereOnly(wxEvent&) ()
       from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
    #15 0x00007ffff4f96fb3 in wxEvtHandler::ProcessEventLocally(wxEvent&) ()
       from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
    #16 0x00007ffff4f97015 in wxEvtHandler::ProcessEvent(wxEvent&) ()
       from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
    #17 0x00007ffff5ba405b in wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) ()
       from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
    #18 0x00007ffff4f96d87 in wxEvtHandler::SafelyProcessEvent(wxEvent&) ()
       from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
    #19 0x00007ffff594b0bd in ?? ()
       from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
    #20 0x00007ffff3101f75 in g_closure_invoke ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #21 0x00007ffff3113f82 in ?? ()
    ---Type <return> to continue, or q <return> to quit---
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #22 0x00007ffff311cbcc in g_signal_emit_valist ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #23 0x00007ffff311cfaf in g_signal_emit ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #24 0x00007ffff49a89aa in gtk_widget_size_allocate ()
       from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #25 0x00007ffff48ed47d in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #26 0x00007ffff3101ecf in g_closure_invoke ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #27 0x00007ffff311395c in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #28 0x00007ffff311cbcc in g_signal_emit_valist ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #29 0x00007ffff311cfaf in g_signal_emit ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #30 0x00007ffff49a89aa in gtk_widget_size_allocate ()
       from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #31 0x00007ffff5948619 in ?? ()
       from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
    #32 0x00007ffff3101ecf in g_closure_invoke ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    ---Type <return> to continue, or q <return> to quit---
    #33 0x00007ffff311395c in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #34 0x00007ffff311cbcc in g_signal_emit_valist ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #35 0x00007ffff311cfaf in g_signal_emit ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #36 0x00007ffff49a89aa in gtk_widget_size_allocate ()
       from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #37 0x00007ffff49b211c in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #38 0x00007ffff3101f75 in g_closure_invoke ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #39 0x00007ffff311395c in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #40 0x00007ffff311cbcc in g_signal_emit_valist ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #41 0x00007ffff311cfaf in g_signal_emit ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #42 0x00007ffff49a89aa in gtk_widget_size_allocate ()
       from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #43 0x00007ffff49b33b1 in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #44 0x00007ffff3101f75 in g_closure_invoke ()
    ---Type <return> to continue, or q <return> to quit---
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #45 0x00007ffff311437d in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #46 0x00007ffff311cbcc in g_signal_emit_valist ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #47 0x00007ffff311cfaf in g_signal_emit ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #48 0x00007ffff4811bf0 in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #49 0x00007ffff44c3d37 in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
    #50 0x00007ffff2e286aa in g_main_context_dispatch ()
       from /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #51 0x00007ffff2e28a60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #52 0x00007ffff2e28d82 in g_main_loop_run ()
       from /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #53 0x00007ffff488a447 in gtk_main ()
       from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #54 0x00007ffff59219c5 in wxGUIEventLoop::DoRun() ()
       from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
    #55 0x00007ffff4e526f3 in wxEventLoopBase::Run() ()
       from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
    #56 0x00007ffff4e17a06 in wxAppConsoleBase::MainLoop() ()
    ---Type <return> to continue, or q <return> to quit---
       from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
    #57 0x0000000000471f9a in ?? ()
    #58 0x00007ffff4ea4310 in wxEntry(int&, wchar_t**) ()
       from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
    #59 0x000000000045a212 in ?? ()
    #60 0x00007ffff18b62b1 in __libc_start_main (main=0x45a200, argc=1, 
        argv=0x7fffffffe2d8, init=<optimized out>, fini=<optimized out>, 
        rtld_fini=<optimized out>, stack_end=0x7fffffffe2c8)
        at ../csu/libc-start.c:291
    #61 0x000000000046d709 in ?? ()
    

    Are you sure you can't reproduce the bug using my instructions? Code completion hint should popup at right side side and HTML reference box should be at left of functions list. As shown on screenshot in first message.

     
  • Teodor Petrov

    Teodor Petrov - 2016-11-21

    Yes, I cannot reproduce this bug. Sorry.
    Can you try to reproduce it with code that doesn't include anything?
    It might be possible that your and mine versions of std::vector are different.

     
  • Roman Shuvalov

    Roman Shuvalov - 2016-11-22

    Almost catched without std, but it looks like this bug is VERY sentitive to window size. I catched bug even for other functions and without moving cursor to right, but after I resized CodeBlocks window the bug is gone. I don't know how to catch it again.

    Here is my last (almost minimum) test code. Window size was somewhere in between 1000px and 1920px. (Maybe not only window size affect appearing the bug, I don't know).

    template<typename _Tp> class my_vector
    {
    
      /**
       *  Returns a read/write iterator that points to the first
       *  element in the %vector.  Iteration is done in ordinary
       *  element order.
       */
      iterator
      begin() _BLA_BLA_BLA
      { return iterator(this->_M_impl._M_start); }
    
      /**
       *  Returns a read-only (constant) iterator that points to the
       *  first element in the %vector.  Iteration is done in ordinary
       *  element order.
       */
      const_iterator
      begin() const _BLA_BLA_BLA
      { return const_iterator(this->_M_impl._M_start); }
    
    }
    
    template<typename _Alloc> class my_vector<_Alloc>
      {
    
      public:
    
        iterator
        begin() _BLA_BLA_BLA
        { return this->_M_impl._M_start; }
    
        const_iterator
        begin() const _BLA_BLA_BLA
        { return this->_M_impl._M_start; }
    
      };
    
    int main()
    {
    
        my_vector<int> obj;
    
        obj.  // <--- type "begin()" and use up/down arrow keys to navigate between two variants of 'begin()' 
    
        return 0;
    }
    
     
    Last edit: Roman Shuvalov 2016-11-22
    • Teodor Petrov

      Teodor Petrov - 2016-11-24

      I continue to fail to reproduce it. Can you record a video?
      Another option is to try to build the latest wx3.1.x and try to rebuild Code::Blocks against this version of wxWidgets.

       

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks