User forums > Using Code::Blocks
crash in code::blocks svn5844 apparently in code completion
frithjofh:
Did some more testing.
Tested the c++ keywords (not all):
do not crash: int, bool, long, class, struct, signed, unsigned, template, typedef, explicit, const
crash: void, double
crash always happens on typing third character (meaning, if typedef works, typename also works). Settings: kick in after three characters, maximum hits is 20.
setting up the limit of kick-in to four the behavior is the same, only crash now happening after typing forth character.
Regards
nausea
frithjofh:
Did a check-out of the svn. There have been changes in code completion yesterday, I think, by Morten McFly.
the files that changed:
nativeparser.cpp 5840 to 5845
nativeparser.h 5826 5845
codecompletion.cpp 5834 5845
parserthread.cpp 5838 5845
parserthread.h 5833 5845
parser 5838 5845
codecompletion 5840 5846
I will try out the new svn and see what happens....
frithjofh:
well, same result, void did work and I saw a pop up saying "parser is still working", but no pop-up with suggestions, at least it did not crash.
CORRECTION: typing "voi" did crash after second try, the first positive result I can not explain, now it crashes in this case too, always ...
"double" crashed after typing "dou" with symptoms as before. c::b is 5846 (svn build rev 5846 (2009-10-06T08:52:59.937028Z) gcc 4.3.2 Linux/unicode)
Regards
nausea
CORRECTION: the pop-up saying "parser is still working" always shows once, trying to type either "double" or "void" and the program does not crash after third character, but does not show pop-up with suggestion either. At second intent the program crashes as above. This happens either by typing a new line and there "dou" or "voi" or by erasing the previous typed letters, such as leaving only a "d" or "v" and trying to complete this word to "double" or "void" respectively. crash as above described.
PS: would be nice, please, if anyone could post any reaction whatsoever. I'm beginning to feel a bit strange, like that cartoon figure running over the edge and still moving it's legs ;)
Jenna:
I can confirm this issue with your test-project on debian 64-bit.
Will look into it.
Jenna:
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.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version