User forums > Nightly builds
The 25 september 2010 build (6634) CODECOMPLETION BRANCH version is out.
Loaden:
--- Quote from: jens on October 06, 2010, 10:21:53 am ---
--- Quote from: ollydbg on October 06, 2010, 10:10:36 am ---
--- Quote from: jens on October 06, 2010, 09:41:07 am ---Works now:
--- Code: ---Project 'test' parsing stage done (30453 total parsed files, 1347032 tokens in 42 minute(s), 24.656 seconds).
--- End code ---
--- End quote ---
Hi, jens, Did you remember how long will the batch parse take to parse the whole Linux source, when you did this last time(If I remember correct, maybe one year ago)?
--- End quote ---
No, and it would not give any answers about incfreasing or decreasing parse time, because this time I parsed 2.6.35 kernel sources, the last time it was 2.6.29 with only 21k files and a little more than a million tokens, but I will test with current trunk and give you feedback.
--- End quote ---
There may be a large number of duplicate tokens, tokens will not be in direct proportion with the time.
polygon7:
Hi,
I'm testing C::B CC_branch on another big project - OpenOffice and after ~20 minutes CC parser is hanging on:
--- Code: ---InitTokenizer() : m_Filename='/usr/include/bits/time.h', m_FileSize=2866.
Parse() : Parsing '/usr/include/bits/time.h'
DoParse() : Loop:m_Str='', token='#'
DoParse() : Loop:m_Str='', token='#'
DoAddToken() : Created token='_STRUCT_TIMEVAL', file_idx=12732, line=70, ticket=
GetActualTokenType() : Searching within m_Str='1'
GetActualTokenType() : Compensated m_Str='1'
GetActualTokenType() : Found '1'
DoAddToken() : Prepending ''
DoParse() : Loop:m_Str='', token='#'
HandleIncludes() : Found include file 'bits/types.h'
DoParse() : Loop:m_Str='', token='struct'
HandleClass() : Found class 'timeval'
DoAddToken() : Created token='timeval', file_idx=12732, line=75, ticket=
GetActualTokenType() : Searching within m_Str=''
GetActualTokenType() : Compensated m_Str=''
GetActualTokenType() : Returning ''
DoAddToken() : Prepending ''
DoAddToken() : Added/updated token 'timeval' (353789), type '', actual ''. Parent is (-1)
DoParse() : Loop:m_Str='', token='__time_t'
DoParse() : Loop:m_Str='__time_t ', token='tv_sec'
DoAddToken() : Created token='tv_sec', file_idx=12732, line=77, ticket=
GetActualTokenType() : Searching within m_Str='__time_t'
GetActualTokenType() : Compensated m_Str='__time_t'
GetActualTokenType() : Found '__time_t'
DoAddToken() : Prepending ''
DoAddToken() : Added/updated token 'tv_sec' (353790), type '__time_t', actual '__time_t'. Parent is timeval (353789)
DoParse() : Loop:m_Str='__time_t', token=';'
DoParse() : Loop:m_Str='', token='__suseconds_t'
DoParse() : Loop:m_Str='__suseconds_t ', token='tv_usec'
DoAddToken() : Created token='tv_usec', file_idx=12732, line=78, ticket=
GetActualTokenType() : Searching within m_Str='__suseconds_t'
GetActualTokenType() : Compensated m_Str='__suseconds_t'
GetActualTokenType() : Found '__suseconds_t'
DoAddToken() : Prepending ''
DoAddToken() : Added/updated token 'tv_usec' (353791), type '__suseconds_t', actual '__suseconds_t'. Parent is timeval (353789)
DoParse() : Loop:m_Str='__suseconds_t', token=';'
DoParse() : Loop:m_Str='', token='}'
InitTokenizer() : m_Filename='/usr/include/bits/dirent.h', m_FileSize=1609.
Parse() : Parsing '/usr/include/bits/dirent.h'
DoParse() : Loop:m_Str='', token='struct'
HandleClass() : Found class 'dirent'
C++ Parser is still parsing files...
C++ Parser is still parsing files...
C++ Parser is still parsing files...
--- End code ---
--- Code: ---Tasks: 143 total, 1 running, 142 sleeping, 0 stopped, 0 zombie
Cpu(s): 60.8%us, 3.0%sy, 0.0%ni, 36.0%id, 0.2%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 2062772k total, 1969520k used, 93252k free, 145608k buffers
Swap: 2104476k total, 9292k used, 2095184k free, 664664k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
15947 1234 20 0 824m 573m 34m S 102 28.5 19:55.35 codeblocks
--- End code ---
// EDIT: C::B CC branch rev 6671
ollydbg:
@polygon7
from the log, I can't find the hint where there is a infinite loop, it seem the token line becomes bigger and bigger.
But there should be some thing wrong in Parserthread, we will check it.
Jenna:
Without my changes (static variable for deug and some if-clauses in define) I can no longer use C::B to parse the 2.6.35 kernel.
If I run it from commandline, it eats up all my memory (up to ~4GB) and after some tome it crashes with an X-window error (resource temproary unavailable), if I run it through debugger it crashes with a segfault in wxPostEVent, if it tries to send a TaskDone-event.
Jenna:
Here are the results of measuring and the last lines of debug-output before it crashes:
--- Code: ---trunk:
[...]
33115 files loaded
Done loading project in 84084ms
[...]
Parsing stage done (33919 total parsed files, 1193078 tokens in 1 minute(s), 59.116 seconds).
"Pure" cc:
[...]
33115 files loaded
Done loading project in 82294ms
[...]
DoAddToken() : Created token='__xl', file_idx=761, line=27, ticket=
GetActualTokenType() : Searching within m_Str='"r0"'
GetActualTokenType() : Compensated m_Str='"r0"'
GetActualTokenType() : Found ''
DoAddToken() : Prepending ''
DoParse() : Loop:m_Str='', token='#'
wxString Tokenizer::ReadToEOL(bool, bool) : line=28, CurrentChar='
', PreviousChar='"', NextChar='#', nestBrace(1)
ReadToEOL(): (END) We are now at line 28, CurrentChar='
', PreviousChar='"', NextChar='#'
ReadToEOL():
DoAddToken() : Created token='__xh', file_idx=761, line=28, ticket=
GetActualTokenType() : Searching within m_Str='"r1"'
GetActualTokenType() : Compensated m_Str='"r1"'
GetActualTokenType() : Found ''
DoAddToken() : Prepending ''
HandleConditionPreprocessor() : #endif at line = 29
bool Tokenizer::SkipToEOL(bool) : line=29, CurrentChar='
', PreviousChar='f', NextChar='
', nestBrace(0)
SkipToEOL(): (END) We are now at line 29, CurrentChar='
', PreviousChar='f', NextChar='
'
DoParse() : Loop:m_Str='', token='#'
ReadParentheses(): (n, base), line=31
wxString Tokenizer::ReadToEOL(bool, bool) : line=31, CurrentChar=' ', PreviousChar=')', NextChar=' ', nestBrace(1)
ReadToEOL(): (END) We are now at line 47, CurrentChar='
', PreviousChar=')', NextChar='
'
ReadToEOL(): ({ register unsigned int __base asm("r4") = base; register unsigned long long __n asm("r0") = n; register unsigned long long __res asm("r2"); register unsigned int __rem asm(__xh); asm( __asmeq("%0", __xh) __asmeq("%1", "r2") __asmeq("%2", "r0") __asmeq("%3", "r4") "bl __do_div64" : "=r" (__rem), "=r" (__res) : "r" (__n), "r" (__base) : "ip", "lr", "cc"); n = __res; __rem; })
DoAddToken() : Created token='__do_div_asm', file_idx=761, line=31, ticket=
GetActualTokenType() : Searching within m_Str=' ({ register unsigned int __base asm("r4") = base; register unsigned long long __n asm("r0") = n; register unsigned long long __res asm("r2"); register unsigned int __rem asm(__xh); asm( __asmeq("%0", __xh) __asmeq("%1", "r2") __asmeq("%2", "r0") __asmeq("%3", "r4") "bl __do_div64" : "=r" (__rem), "=r" (__res) : "r" (__n), "r" (__base) : "ip", "lr", "cc"); n = __res; __rem; })'
GetActualTokenType() : Compensated m_Str=' ({ register unsigned int __base asm("r4") = base; register unsigned long long __n asm("r0") = n; register unsigned long long __res asm("r2"); register unsigned int __rem asm(__xh); asm( __asmeq("%0", __xh) __asmeq("%1", "r2") __asmeq("%2", "r0") __asmeq("%3", "r4") "bl __do_div64" :"=r" (__rem), "=r" (__res) :"r" (__n), "r" (__base) :"ip", "lr", "cc"); n = __res; __rem; })'
GetActualTokenType() : Found ''
DoAddToken() : Prepending ''
HandleConditionPreprocessor() : #if at line = 49
bool Tokenizer::SkipToEOL(bool) : line=49, CurrentChar=' ', PreviousChar='f', NextChar='_', nestBrace(0)
SkipToEOL(): (END) We are now at line 49, CurrentChar='
', PreviousChar='4', NextChar='
'
CalcConditionExpression() : exp.GetStatus() : 1, exp.GetResult() : 0
HandleConditionPreprocessor() : #elif at line = 61
bool Tokenizer::SkipToEOL(bool) : line=61, CurrentChar=' ', PreviousChar='f', NextChar='_', nestBrace(0)
SkipToEOL(): (END) We are now at line 61, CurrentChar='
', PreviousChar='4', NextChar='
'
CalcConditionExpression() : exp.GetStatus() : 1, exp.GetResult() : 1
DoParse() : Loop:m_Str='', token='#'
HandleIncludes() : Found include file 'asm/bug.h'
DoParse() : Loop:m_Str='', token='#'
ReadParentheses(): (n, base), line=73
wxString Tokenizer::ReadToEOL(bool, bool) : line=73, CurrentChar=' ', PreviousChar=')', NextChar=' ', nestBrace(1)
ReadToEOL(): (END) We are now at line 211, CurrentChar='
', PreviousChar=')', NextChar='
'
--- End code ---
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version