User forums > Using Code::Blocks
crash in code::blocks svn5844 apparently in code completion
MortenMacFly:
--- Quote from: jens on October 06, 2009, 01:09:59 pm ---I can confirm this issue with your test-project on debian 64-bit.
--- End quote ---
I can't reproduce, still (on Windows 32bit). :-(
Jenna:
C::B reliable bails out even on windows (if I use my fantastically step-by-step instruction).
It seems there must be exactly one typdef that starts with the same characters (case does not matter) than a (builtin ?) type and no other tokens, that make cc kick in at this time.
The same happens for double on linux if mathdef.h gets parsed (contains typedef double double_t;) and no other tokens start with dou.
blueshake:
--- Quote from: jens on October 06, 2009, 02:25:26 pm ---It's an endless-loop in FindAIMatches in nativeparser.cpp.
If I comment out the if-block starting with if (local_result.size() == 1) (lines 1720 - 1747) it works again, but most likely break other stuff.
The block was added in svn r5770 (merge with old cc-branch) and originally added in svn 5685 to cc-refactoring-branch.
To reproduce the crash (or better the endless-loop) on windows, you can do the following:
* find the definition of VOID (it is in winnt.h in my MinGW-install),
* comment it out
* add typedef void VOID; in a simple hello-world console-project
* save it
* and after typing vo it hangs (if cc kicks in after three characters).
This "works" at least for me.
--- End quote ---
Another simple way to solve this
--- Code: ---Token* tdef = DoAddToken(tkClass, components.front(), lineNr, 0, 0, args);
--- End code ---
In this thread,http://forums.codeblocks.org/index.php/topic,11187.msg76830.html#msg76830
maybe this is the reason why the suggestion list flashed.
MortenMacFly:
--- Quote from: jens on October 06, 2009, 02:25:26 pm ---The block was added in svn r5770 (merge with old cc-branch) and originally added in svn 5685 to cc-refactoring-branch.
--- End quote ---
--- Quote from: jens on October 06, 2009, 02:25:26 pm ---if (local_result.size() == 1) (lines 1720 - 1747)
--- End quote ---
Harhar! Now I know why it works for me: I have experimentally commented out that whole section as we were discussing about that. To be honest: I don't believe this section is necessary anymore. So far everything concerning typedefs (what this block was fort) works just fine here. I'll probably commit later. For now: Just remove that section in your local copy (all of you affected).
frithjofh:
Confirmed, commenting out those lines solves the issue here...
Many thanks, greetings from Asturias
nausea :D
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version