Developer forums (C::B DEVELOPMENT STRICTLY!) > CodeCompletion redesign
Is CC crash, or Debugger plugin?
oBFusCATed:
Loaden: Why are you using global critical section? Why don't you make it a member of the tokens tree (and then add Lock/Unlock methods or getCriticalSection() one)?
I'll test if this fixes my problems, because I had to disable CC, because it was unbearable...
p.s. can't test it before it is merged in the branch...
ollydbg:
--- Quote from: oBFusCATed on July 14, 2011, 01:56:39 pm ---Loaden: Why are you using global critical section? Why don't you make it a member of the tokens tree (and then add Lock/Unlock methods or getCriticalSection() one)?
--- End quote ---
I agree with you. the critical section should be the member of Tokenstree or maybe Parser class. using a global variable is a bad idea.
But as loaden said, the wxString use reference counting, and not sure it is stable on the multi-thread usage. :D
EDIT
I mean this issue http://forums.wxwidgets.org/viewtopic.php?f=23&t=29705
especially this post:
http://forums.wxwidgets.org/viewtopic.php?f=23&p=127941#p127380
oBFusCATed:
The tooltip crash seems to be gone, but I've got a deadlock probably...
Here is the backtrace
--- Code: ---#0 0x000000373d60d4c4 in __lll_lock_wait () from /lib64/libpthread.so.0
#1 0x000000373d608e1a in _L_lock_1034 () from /lib64/libpthread.so.0
#2 0x000000373d608cdc in pthread_mutex_lock () from /lib64/libpthread.so.0
#3 0x0000003744cfa3e9 in wxMutexInternal::Lock (this=<value optimized out>) at ./src/unix/threadpsx.cpp:248
#4 0x00002afe0c53b2f7 in wxCriticalSection::Enter (this=0x2aaab3e98a80) at /usr/include/wx-2.8/wx/thread.h:271
#5 0x00002afe0c53b321 in wxCriticalSectionLocker::wxCriticalSectionLocker (this=0x7fff5b905210, cs=...) at /usr/include/wx-2.8/wx/thread.h:286
#6 0x00002aaab3baca52 in ClassBrowserBuilderThread::ExpandItem (this=0x1f2e7000, item=...) at classbrowserbuilderthread.cpp:1009
#7 0x00002aaab3ba4206 in ClassBrowser::OnTreeItemExpanding (this=0x1f2ce770, event=...) at classbrowser.cpp:798
#8 0x0000003744cfcbff in wxEvtHandler::ProcessEventIfMatches (entry=<value optimized out>, handler=<value optimized out>, event=<value optimized out>) at ./src/common/event.cpp:1239
#9 0x0000003744cfcd9f in wxEventHashTable::HandleEvent (this=<value optimized out>, event=<value optimized out>, self=<value optimized out>) at ./src/common/event.cpp:906
#10 0x0000003744cfcee9 in wxEvtHandler::ProcessEvent (this=<value optimized out>, event=<value optimized out>) at ./src/common/event.cpp:1301
#11 0x0000003b39af8b46 in wxWindowBase::TryParent (this=<value optimized out>, event=<value optimized out>) at ./src/common/wincmn.cpp:2661
#12 0x0000003744cfce90 in wxEvtHandler::ProcessEvent (this=<value optimized out>, event=<value optimized out>) at ./src/common/event.cpp:1314
#13 0x0000003b39af8b46 in wxWindowBase::TryParent (this=<value optimized out>, event=<value optimized out>) at ./src/common/wincmn.cpp:2661
#14 0x0000003744cfce90 in wxEvtHandler::ProcessEvent (this=<value optimized out>, event=<value optimized out>) at ./src/common/event.cpp:1314
#15 0x0000003b39af8b46 in wxWindowBase::TryParent (this=<value optimized out>, event=<value optimized out>) at ./src/common/wincmn.cpp:2661
#16 0x0000003744cfce90 in wxEvtHandler::ProcessEvent (this=<value optimized out>, event=<value optimized out>) at ./src/common/event.cpp:1314
#17 0x0000003b39b3f2a1 in wxGenericTreeCtrl::Expand (this=<value optimized out>, itemId=<value optimized out>) at ./src/generic/treectlg.cpp:1792
#18 0x00002aaab3ba5a7f in ClassBrowser::OnSearch (this=0x1f2ce770, event=...) at classbrowser.cpp:746
#19 0x0000003744cfcbff in wxEvtHandler::ProcessEventIfMatches (entry=<value optimized out>, handler=<value optimized out>, event=<value optimized out>) at ./src/common/event.cpp:1239
#20 0x0000003744cfcd9f in wxEventHashTable::HandleEvent (this=<value optimized out>, event=<value optimized out>, self=<value optimized out>) at ./src/common/event.cpp:906
#21 0x0000003744cfcee9 in wxEvtHandler::ProcessEvent (this=<value optimized out>, event=<value optimized out>) at ./src/common/event.cpp:1301
#22 0x0000003b39af8b46 in wxWindowBase::TryParent (this=<value optimized out>, event=<value optimized out>) at ./src/common/wincmn.cpp:2661
#23 0x0000003744cfce90 in wxEvtHandler::ProcessEvent (this=<value optimized out>, event=<value optimized out>) at ./src/common/event.cpp:1314
#24 0x0000003b39af8b46 in wxWindowBase::TryParent (this=<value optimized out>, event=<value optimized out>) at ./src/common/wincmn.cpp:2661
#25 0x0000003744cfce90 in wxEvtHandler::ProcessEvent (this=<value optimized out>, event=<value optimized out>) at ./src/common/event.cpp:1314
#26 0x0000003b39a3839a in wxComboBox::OnChar (this=<value optimized out>, event=<value optimized out>) at ./src/gtk/combobox.cpp:1193
#27 0x0000003744cfcbff in wxEvtHandler::ProcessEventIfMatches (entry=<value optimized out>, handler=<value optimized out>, event=<value optimized out>) at ./src/common/event.cpp:1239
#28 0x0000003744cfcd9f in wxEventHashTable::HandleEvent (this=<value optimized out>, event=<value optimized out>, self=<value optimized out>) at ./src/common/event.cpp:906
#29 0x0000003744cfcee9 in wxEvtHandler::ProcessEvent (this=<value optimized out>, event=<value optimized out>) at ./src/common/event.cpp:1301
#30 0x0000003b399f8e7e in gtk_window_key_press_callback (widget=<value optimized out>, gdk_event=<value optimized out>, win=<value optimized out>) at ./src/gtk/window.cpp:1156
#31 0x0000003b3872ffcd in ?? () from /usr/lib64/libgtk-x11-2.0.so.0
#32 0x000000373f60b08a in g_closure_invoke () from /lib64/libgobject-2.0.so.0
#33 0x000000373f61b2ed in ?? () from /lib64/libgobject-2.0.so.0
#34 0x000000373f61c516 in g_signal_emit_valist () from /lib64/libgobject-2.0.so.0
#35 0x000000373f61c923 in g_signal_emit () from /lib64/libgobject-2.0.so.0
#36 0x0000003b3882d79e in ?? () from /usr/lib64/libgtk-x11-2.0.so.0
#37 0x0000003b3883b7fb in gtk_window_propagate_key_event () from /usr/lib64/libgtk-x11-2.0.so.0
#38 0x0000003b3883e57b in ?? () from /usr/lib64/libgtk-x11-2.0.so.0
#39 0x0000003b3872ffcd in ?? () from /usr/lib64/libgtk-x11-2.0.so.0
#40 0x000000373f60b08a in g_closure_invoke () from /lib64/libgobject-2.0.so.0
#41 0x000000373f61b8e6 in ?? () from /lib64/libgobject-2.0.so.0
#42 0x000000373f61c516 in g_signal_emit_valist () from /lib64/libgobject-2.0.so.0
#43 0x000000373f61c923 in g_signal_emit () from /lib64/libgobject-2.0.so.0
#44 0x0000003b3882d79e in ?? () from /usr/lib64/libgtk-x11-2.0.so.0
#45 0x0000003b38729785 in gtk_propagate_event () from /usr/lib64/libgtk-x11-2.0.so.0
#46 0x0000003b3872a6d1 in gtk_main_do_event () from /usr/lib64/libgtk-x11-2.0.so.0
#47 0x0000003b3824689c in ?? () from /usr/lib64/libgdk-x11-2.0.so.0
#48 0x000000373ee2cdb4 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#49 0x000000373ee2fc0d in ?? () from /lib64/libglib-2.0.so.0
#50 0x000000373ee2ff1a in g_main_loop_run () from /lib64/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#51 0x0000003b3872aa63 in gtk_main () from /usr/lib64/libgtk-x11-2.0.so.0
#52 0x0000003b399e456d in wxEventLoop::Run (this=<value optimized out>) at ./src/gtk/evtloop.cpp:76
#53 0x0000003b39a72378 in wxAppBase::MainLoop (this=<value optimized out>) at ./src/common/appcmn.cpp:312
#54 0x0000000000448d0a in CodeBlocksApp::OnRun (this=0x1debc050) at app.cpp:788
#55 0x0000003744c99cc1 in wxEntry (argc=<value optimized out>, argv=<value optimized out>) at ./src/common/init.cpp:448
#56 0x000000000044c7bc in main (argc=1, argv=0x7fff5b906d08) at app.cpp:260
--- End code ---
What I've done is:
1. Searched for a function in the symbol browser
2. The multi choice dlg showed
3. I've double clicked on a result
Loaden:
The crashes still exist?
oBFusCATed:
--- Quote from: Loaden on July 22, 2011, 05:12:51 pm ---The crashes still exist?
--- End quote ---
The original crash is 99% fixed. C::B has not crashed for the last couple of days.
The backtrace I've posted in the previous post is a different problem.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version