Developer forums (C::B DEVELOPMENT STRICTLY!) > CodeCompletion redesign
Is CC crash, or Debugger plugin?
Loaden:
--- Quote from: oBFusCATed on August 23, 2011, 11:26:35 am ---Pressing ctrl+shift+. is very deadlocky operation, it happened twice already today. Latest version of debugger's branch.
--- End quote ---
Try to disable the Symbols Browser.
oBFusCATed:
OK, but I'm not using the symbol browser at all.
oBFusCATed:
Disabled the symbols browser and got a crash instead of deadlock. Somewhere in AddToken().
Edit: And a deadlock switching to one just opened file...
oBFusCATed:
Here is the backtrace from the newly-opened-file-deadlock:
--- Code: ---> bt 30
#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=<optimized out>) at ./src/unix/threadpsx.cpp:248
#4 0x00002aaaab27d0a9 in wxCriticalSection::Enter (this=0x2aaab25e3868) at /usr/include/wx-2.8/wx/thread.h:271
#5 0x00002aaaab27d0d3 in wxCriticalSectionLocker::wxCriticalSectionLocker (this=0x7fffffffd8e0, cs=...) at /usr/include/wx-2.8/wx/thread.h:286
#6 0x00002aaab23483e1 in Parser::IsFileParsed (this=0x1aecb30, filename=...) at /home/tpetrov/projects/codeblocks/trunk1/src/plugins/codecompletion/parser/parser.cpp:1395
#7 0x00002aaab23316ee in NativeParser::GetProjectByFilename (this=0x11c7840, filename=...) at /home/tpetrov/projects/codeblocks/trunk1/src/plugins/codecompletion/nativeparser.cpp:276
#8 0x00002aaab23318aa in NativeParser::GetProjectByEditor (this=0x11c7840, editor=0x245f620) at /home/tpetrov/projects/codeblocks/trunk1/src/plugins/codecompletion/nativeparser.cpp:313
#9 0x00002aaab233195c in NativeParser::GetParserInfoByCurrentEditor (this=0x11c7840) at /home/tpetrov/projects/codeblocks/trunk1/src/plugins/codecompletion/nativeparser.cpp:3641
#10 0x00002aaab2332a09 in NativeParser::OnParserStart (this=0x11c7840, event=...) at /home/tpetrov/projects/codeblocks/trunk1/src/plugins/codecompletion/nativeparser.cpp:3381
#11 0x0000003744cfcbff in wxEvtHandler::ProcessEventIfMatches (entry=<optimized out>, handler=<optimized out>, event=<optimized out>) at ./src/common/event.cpp:1239
#12 0x0000003744cfce12 in wxEvtHandler::SearchDynamicEventTable (this=<optimized out>, event=<optimized out>) at ./src/common/event.cpp:1421
#13 0x0000003744cfcec2 in wxEvtHandler::ProcessEvent (this=<optimized out>, event=<optimized out>) at ./src/common/event.cpp:1297
#14 0x00002aaab2347c6e in Parser::ProcessParserEvent (this=0x1aecb30, type=ptCreateParser, id=928, info=...) at /home/tpetrov/projects/codeblocks/trunk1/src/plugins/codecompletion/parser/parser.cpp:1412
#15 0x00002aaab234ad38 in Parser::OnBatchTimer (this=0x1aecb30, event=...) at /home/tpetrov/projects/codeblocks/trunk1/src/plugins/codecompletion/parser/parser.cpp:1312
#16 0x0000003744cfcbff in wxEvtHandler::ProcessEventIfMatches (entry=<optimized out>, handler=<optimized out>, event=<optimized out>) at ./src/common/event.cpp:1239
#17 0x0000003744cfce12 in wxEvtHandler::SearchDynamicEventTable (this=<optimized out>, event=<optimized out>) at ./src/common/event.cpp:1421
#18 0x0000003744cfcec2 in wxEvtHandler::ProcessEvent (this=<optimized out>, event=<optimized out>) at ./src/common/event.cpp:1297
#19 0x0000003b39af2106 in wxTimerBase::Notify (this=<optimized out>) at ./src/common/timercmn.cpp:57
#20 0x0000003b399ed2e3 in timeout_callback (data=<optimized out>) at ./src/gtk/timer.cpp:45
#21 0x000000373ee2d2bb in ?? () from /lib64/libglib-2.0.so.0
#22 0x000000373ee2cdb4 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#23 0x000000373ee2fc0d in ?? () from /lib64/libglib-2.0.so.0
#24 0x000000373ee2ff1a in g_main_loop_run () from /lib64/libglib-2.0.so.0
#25 0x0000003b3872aa63 in gtk_main () from /usr/lib64/libgtk-x11-2.0.so.0
#26 0x0000003b399e456d in wxEventLoop::Run (this=<optimized out>) at ./src/gtk/evtloop.cpp:76
#27 0x0000003b39a72378 in wxAppBase::MainLoop (this=<optimized out>) at ./src/common/appcmn.cpp:312
#28 0x000000000043a20a in CodeBlocksApp::OnRun (this=0x759fb0) at /home/tpetrov/projects/codeblocks/trunk1/src/src/app.cpp:788
#29 0x0000003744c99cc1 in wxEntry (argc=<optimized out>, argv=<optimized out>) at ./src/common/init.cpp:448
--- End code ---
The two interesting frames are:
--- Code: ---#6 0x00002aaab23483e1 in Parser::IsFileParsed (this=0x1aecb30, filename=...) at /home/tpetrov/projects/codeblocks/trunk1/src/plugins/codecompletion/parser/parser.cpp:1395
#15 0x00002aaab234ad38 in Parser::OnBatchTimer (this=0x1aecb30, event=...) at /home/tpetrov/projects/codeblocks/trunk1/src/plugins/codecompletion/parser/parser.cpp:1312
--- End code ---
Good luck fixing it and please do more testing before committing a fix...
Especially on linux.
oBFusCATed:
BTW:
The CCLockerTrack class is useless, because when you get a dead lock, you cannot inspect the debug log.
Or do I miss something?
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version