Menu

#225 Crash when the Symbol Browser is enabled, because it is accessed from a non-ui thread

Next_Nightly
fixed
Bug_Report
2021-06-29
2015-09-28
gabyx
No

ASSERT INFO:
../include/wx/dynarray.h(838): assert "uiIndex < m_nCount" failed in Item().

BACKTRACE:
[1] wxGenericTreeCtrl::CalculateLevel(wxGenericTreeItem, wxDC&, int, int&)
[2] wxGenericTreeCtrl::CalculatePositions()
[3] wxGenericTreeCtrl::DoDirtyProcessing()
[4] wxGenericTreeCtrl::OnInternalIdle()
[5] wxWindowBase::SendIdleEvents(wxIdleEvent&)
[6] wxWindowBase::SendIdleEvents(wxIdleEvent&)
[7] wxWindowBase::SendIdleEvents(wxIdleEvent&)
[8] wxWindowBase::SendIdleEvents(wxIdleEvent&)
[9] wxWindowBase::SendIdleEvents(wxIdleEvent&)
[10] wxWindowBase::SendIdleEvents(wxIdleEvent&)
[11] wxFrame::SendIdleEvents(wxIdleEvent&)
[12] wxAppBase::ProcessIdle()
[13] wxApp::DoIdle()
[14] g_main_context_dispatch
[15] g_main_loop_run
[16] gtk_main
[17] wxGUIEventLoop::DoRun()
[18] wxEventLoopBase::Run()
[19] wxAppConsoleBase::MainLoop()
[20] CodeBlocksApp::OnRun() /home/zfmgpu/Desktop/Repository/codeblocks/trunk/src/src/app.cpp:852
[21] wxEntry(int&, wchar_t
*)
[22] main /home/zfmgpu/Desktop/Repository/codeblocks/trunk/src/src/app.cpp:322
[23] __libc_start_main
[24] _start

Suddenly appears, in 10507

Related

Tickets: #225
Tickets: #264

Discussion

  • Teodor Petrov

    Teodor Petrov - 2015-09-28

    What do I need to do to reproduce this problem?

     
    • gabyx

      gabyx - 2015-09-28

      Huch, hard to say,

      it appears (both submittet errors by me) when opening new files not yet
      open in the editor

      Could it be related to old configured (cmake) projects and their layout
      files? I completely deleted the build folder of my projects and made new
      ones which I opened in the SVN codeblock version...

      I deleted also .config/codeblocks folder to make sure no confusion
      arises hopefully, when migrating from ubuntu to the SVN compiled version.

      ( could it happen that codeblocks mixes wxwidget 2.8 and 3.0 during
      compilation? not really right? that would be noticed?

      Thanks!

       

      Last edit: ollydbg 2015-09-28
  • Teodor Petrov

    Teodor Petrov - 2015-09-28
    • labels: --> wx30, crash
     
  • Teodor Petrov

    Teodor Petrov - 2015-09-29

    You can check this by using lsof -p pidof codeblocks | grep wx. If both wx28 and wx30 are loaded then your build is broken.

    But my guess is that you've found a bug in the wx30 builds that should be fixed.
    If I can reproduce it then I can easily fix it, I hope.

     
  • gabyx

    gabyx - 2015-09-30

    I am trying, 3.0.2 wxwidget bild right now, to see if the error still happen

    Ok the errors, still persist even with the unofficial wxwidgets from codelite (3.0.2)

    codeblock 4575 zfmgpu  mem    REG              8,167  2400264    6948810 /opt/codeblocks/lib/codeblocks/wxContribItems/libwxled.so.0.0.1
    codeblock 4575 zfmgpu  mem    REG              8,167  3912328    6948809 /opt/codeblocks/lib/codeblocks/wxContribItems/libwxkwic.so.0.0.1
    codeblock 4575 zfmgpu  mem    REG              8,167   652504    6948808 /opt/codeblocks/lib/codeblocks/wxContribItems/libwxspeedbutton.so.0.0.1
    codeblock 4575 zfmgpu  mem    REG              8,167   300856    6948807 /opt/codeblocks/lib/codeblocks/wxContribItems/libwximagepanel.so.0.0.1
    codeblock 4575 zfmgpu  mem    REG              8,167  3618176    6948804 /opt/codeblocks/lib/codeblocks/wxContribItems/libwxchartctrl.so.0.0.1
    codeblock 4575 zfmgpu  mem    REG              8,167 13724008    6948833 /opt/codeblocks/lib/codeblocks/plugins/libwxsmithcontribitems.so
    codeblock 4575 zfmgpu  mem    REG              8,167   337344    6948832 /opt/codeblocks/lib/codeblocks/plugins/libwxsmith.so
    codeblock 4575 zfmgpu  mem    REG              8,167   545928    6948806 /opt/codeblocks/lib/codeblocks/wxContribItems/libwxcustombutton.so.0.0.1
    codeblock 4575 zfmgpu  mem    REG              8,145  1944528    1193498 /usr/lib/x86_64-linux-gnu/libwx_gtk2u_unofficial_richtext-3.0.so.0.2.0
    codeblock 4575 zfmgpu  mem    REG              8,167 91625680    6948831 /opt/codeblocks/lib/libwxsmithlib.so.0.0.1
    codeblock 4575 zfmgpu  mem    REG              8,167  8011080    6948834 /opt/codeblocks/lib/codeblocks/plugins/libwxSmithAui.so
    codeblock 4575 zfmgpu  mem    REG              8,167  3525512    6948805 /opt/codeblocks/lib/codeblocks/wxContribItems/libwxflatnotebook.so.0.0.1
    codeblock 4575 zfmgpu  mem    REG              8,145   224096    1193481 /usr/lib/x86_64-linux-gnu/libwx_baseu_unofficial_xml-3.0.so.0.2.0
    codeblock 4575 zfmgpu  mem    REG              8,145  2885072    1193479 /usr/lib/x86_64-linux-gnu/libwx_baseu_unofficial-3.0.so.0.2.0
    codeblock 4575 zfmgpu  mem    REG              8,145   332480    1193480 /usr/lib/x86_64-linux-gnu/libwx_baseu_unofficial_net-3.0.so.0.2.0
    codeblock 4575 zfmgpu  mem    REG              8,145  8032264    1193497 /usr/lib/x86_64-linux-gnu/libwx_gtk2u_unofficial_core-3.0.so.0.2.0
    codeblock 4575 zfmgpu  mem    REG              8,145  2213968    1193490 /usr/lib/x86_64-linux-gnu/libwx_gtk2u_unofficial_adv-3.0.so.0.2.0
    codeblock 4575 zfmgpu  mem    REG              8,145   212696    1193496 /usr/lib/x86_64-linux-gnu/libwx_gtk2u_unofficial_qa-3.0.so.0.2.0
    codeblock 4575 zfmgpu  mem    REG              8,145   994800    1193495 /usr/lib/x86_64-linux-gnu/libwx_gtk2u_unofficial_html-3.0.so.0.2.0
    codeblock 4575 zfmgpu  mem    REG              8,145  1804952    1193488 /usr/lib/x86_64-linux-gnu/libwx_gtk2u_unofficial_xrc-3.0.so.0.2.0
    codeblock 4575 zfmgpu  mem    REG              8,145  1049504    1193492 /usr/lib/x86_64-linux-gnu/libwx_gtk2u_unofficial_propgrid-3.0.so.0.2.0
    codeblock 4575 zfmgpu  mem    REG              8,145   669856    1193491 /usr/lib/x86_64-linux-gnu/libwx_gtk2u_unofficial_aui-3.0.so.0.2.0
    
     
  • gabyx

    gabyx - 2015-10-01

    Teodor, is there a revision which uses the wx2.8? which one should i checkout in svn?
    Thanks!

     
  • gabyx

    gabyx - 2015-10-01

    Or can codeblocks (latest revision) be built with 2.8?

     
  • Teodor Petrov

    Teodor Petrov - 2015-10-01

    We don't store binaries in svn, so there is no revision built with 2.8 there, only source code.
    You have to build it yourself and yes wx2.8 is supported (in fact this is the more stable way to build cb).

    Can you describe the minimal steps need so I can reproduce the problem? Minimal example project, etc.

     
    • gabyx

      gabyx - 2015-10-01

      Hehe , of course :-), I just realized, an built codeblocks with wx2.8 instead of wx3.0 ( you dont have version numbers or tags in the svn?) dont know

      I will see if I can extract a minimal example project when I have time,

      Did you see this error already? or never experienced problems with wx 3.0?
      So the error is deep inside the wxwidget loops somewhere…

      Thanks :-)

      Am 01.10.2015 um 20:15 schrieb Teodor Petrov fuscated@users.sf.net:

      We don't store binaries in svn, so there is no revision built with 2.8 there, only source code.
      You have to build it yourself and yes wx2.8 is supported (in fact this is the more stable way to build cb).

      Can you describe the minimal steps need so I can reproduce the problem? Minimal example project, etc.

      [tickets:#225] http://sourceforge.net/p/codeblocks/tickets/225/ dynarray.h assert

      Status: open
      Milestone: Undefined
      Labels: wx30 crash
      Created: Mon Sep 28, 2015 05:25 PM UTC by gabyx
      Last Updated: Thu Oct 01, 2015 08:55 AM UTC
      Owner: nobody

      ASSERT INFO:
      ../include/wx/dynarray.h(838): assert "uiIndex < m_nCount" failed in Item().

      BACKTRACE:
      [1] wxGenericTreeCtrl::CalculateLevel(wxGenericTreeItem, wxDC&, int, int&)
      [2] wxGenericTreeCtrl::CalculatePositions()
      [3] wxGenericTreeCtrl::DoDirtyProcessing()
      [4] wxGenericTreeCtrl::OnInternalIdle()
      [5] wxWindowBase::SendIdleEvents(wxIdleEvent&)
      [6] wxWindowBase::SendIdleEvents(wxIdleEvent&)
      [7] wxWindowBase::SendIdleEvents(wxIdleEvent&)
      [8] wxWindowBase::SendIdleEvents(wxIdleEvent&)
      [9] wxWindowBase::SendIdleEvents(wxIdleEvent&)
      [10] wxWindowBase::SendIdleEvents(wxIdleEvent&)
      [11] wxFrame::SendIdleEvents(wxIdleEvent&)
      [12] wxAppBase::ProcessIdle()
      [13] wxApp::DoIdle()
      [14] g_main_context_dispatch
      [15] g_main_loop_run
      [16] gtk_main
      [17] wxGUIEventLoop::DoRun()
      [18] wxEventLoopBase::Run()
      [19] wxAppConsoleBase::MainLoop()
      [20] CodeBlocksApp::OnRun() /home/zfmgpu/Desktop/Repository/codeblocks/trunk/src/src/app.cpp:852
      [21] wxEntry(int&, wchar_t*)
      [22] main /home/zfmgpu/Desktop/Repository/codeblocks/trunk/src/src/app.cpp:322
      [23] __libc_start_main
      [24] _start

      Suddenly appears, in 10507

      Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/codeblocks/tickets/225/ https://sourceforge.net/p/codeblocks/tickets/225/
      To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/ https://sourceforge.net/auth/subscriptions/

       

      Related

      Tickets: #225

      • Teodor Petrov

        Teodor Petrov - 2015-10-01

        We have tags and branches for releases.
        I'm not using wx30, because it is too unstable, but I'm trying to fix as many problems reported about it.

         
  • Teodor Petrov

    Teodor Petrov - 2016-01-09

    FYI: This issue is caused by the Symbol Browser. Disable it and you won't see such crashes. The symbol browser should be re-written, because it is executing wx gui code from non-main threads. The option to disabled it is somewhere in the code completion settings.

     
  • Teodor Petrov

    Teodor Petrov - 2016-01-10
    • summary: dynarray.h assert --> Crash when the Symbol Browser is enabled, because it is accessed from a non-ui thread
    • assigned_to: Teodor Petrov
    • Milestone: Undefined --> Next Nightly
     
  • Teodor Petrov

    Teodor Petrov - 2016-01-10

    Has a backtrace from the worker thread http://forums.codeblocks.org/index.php/topic,20833.msg142279/topicseen.html#msg142279

     
  • Michael Wilt

    Michael Wilt - 2018-01-18

    This is giving me fits because the symbol browser is enabled by default and I sometimes forget to disable it after starting. The symptom varies, most often something like this
    Error in `codeblocks': corrupted double-linked list: 0x01b19cf0
    I am running Raspbian and installed codeblocks using apt-get. This the first editor I have used in years that will crash and lose work. I hope someone is working on this.

     
    • Teodor Petrov

      Teodor Petrov - 2018-01-18

      In 17.12 it is not enabled by defualt , just update to the latest version... We cannot do much else at this point about it.

       
  • Andrew Cottrell

    Andrew Cottrell - 2021-06-27

    Hi, Can you please check if the issue is still occurring in Code::Blocks 20.03 and post here if it is fixed or not. The CB 20.03 download page is https://www.codeblocks.org/downloads/binaries/.
    If you are using Windows 64 bit and 20.03 and the issue is still occurring you could try the latest nightly and post here if the issue occurs or not in the nightly, which can be found in the following CB forum https://forums.codeblocks.org/index.php/board,20.0.html .

     
  • Miguel Gimenez

    Miguel Gimenez - 2021-06-27

    The symbol browser is completely disabled in 20.03, so it can't fail there. It was reworked and reenabled about six months ago, and it no longer calls the main thread from the worker one, so this ticket can be closed.

     
  • Teodor Petrov

    Teodor Petrov - 2021-06-29
    • status: open --> fixed
     

Log in to post a comment.