User forums > Help
CodeBlocks cash when "Find declaration " on some symbol
nanyu:
--- Quote from: ollydbg on February 08, 2011, 08:57:37 am ---@nanyu
please supply at least the test code that we can help to test the CC crash. (you can send me email also)
--- End quote ---
I have send this project to your gmail. thanks.
ollydbg:
--- Quote from: nanyu on February 21, 2011, 04:44:43 pm ---
--- Quote from: ollydbg on February 08, 2011, 08:57:37 am ---@nanyu
please supply at least the test code that we can help to test the CC crash. (you can send me email also)
--- End quote ---
I have send this project to your gmail. thanks.
--- End quote ---
I found the bug, here is a simple test case I just create for test:
--- Code: ---namespace CollaGEN
{
namespace Engine
{
using namespace std;
using namespace Flowscript;
using namespace Dataspace;
using namespace Flowparser;
using namespace Flowdata;
int aaa;
}
}
--- End code ---
The bug is here: parserthread.cpp line 677 changed in rev 6306 by morten (applying a patch from who? I do not know)
--- Code: --- }
else if (token==ParserConsts::kw_using)
{
wxString peek = m_Tokenizer.PeekToken();
if (peek == ParserConsts::kw_namespace)
{
// ok
m_Tokenizer.GetToken(); // eat namespace
while (true) // support full namespaces
{
m_Str << m_Tokenizer.GetToken();
if (m_Tokenizer.PeekToken() == ParserConsts::dcolon)
m_Str << m_Tokenizer.GetToken();
else
break;
}
if ((!m_Str.IsEmpty())
&& m_pLastParent != 0L
&& (m_pLastParent->GetSelf() != -1)
&& (m_pLastParent->m_TokenKind == tkNamespace ) )
{
if(m_pLastParent->m_AncestorsString.IsEmpty())
m_pLastParent->m_AncestorsString<<m_Str;
else
m_pLastParent->m_AncestorsString<<_T(',')<<m_Str;
}
}
else
SkipToOneOfChars(ParserConsts::semicolonclbrace);
m_Str.Clear();
}
--- End code ---
The old code was just like: rev 6302
--- Code: --- else if (token == ParserConsts::kw_using) // using namespace ?
{
SkipToOneOfChars(ParserConsts::semicolonclbrace, true);
m_Str.Clear();
}
--- End code ---
The wrong thing is:
--- Code: ---std
Flowscript
Dataspace
Flowparser
Flowdata
--- End code ---
all these items will be mistakenly add to Engine's m_AncestorsString , this is totally wrong.
The one made this patch will have a review. And simply revert this code to rev 6302 I think can fix this issue.
nanyu:
--- Quote from: ollydbg on February 22, 2011, 02:40:31 am ---I found the bug, here is a simple test case I just create for test:
The bug is here: parserthread.cpp line 677 changed in rev 6306 by morten (applying a patch from who? I do not know)
......
The wrong thing is:
--- Code: ---std
Flowscript
Dataspace
Flowparser
Flowdata
--- End code ---
all these items will be mistakenly add to Engine's m_AncestorsString , this is totally wrong.
The one made this patch will have a review. And simply revert this code to rev 6302 I think can fix this issue.
--- End quote ---
Is this error make my c::b crash?
Loaden:
--- Quote from: nanyu on February 22, 2011, 06:04:18 am ---
--- Quote from: ollydbg on February 22, 2011, 02:40:31 am ---I found the bug, here is a simple test case I just create for test:
The bug is here: parserthread.cpp line 677 changed in rev 6306 by morten (applying a patch from who? I do not know)
......
The wrong thing is:
--- Code: ---std
Flowscript
Dataspace
Flowparser
Flowdata
--- End code ---
all these items will be mistakenly add to Engine's m_AncestorsString , this is totally wrong.
The one made this patch will have a review. And simply revert this code to rev 6302 I think can fix this issue.
--- End quote ---
Is this error make my c::b crash?
--- End quote ---
Same question: why lead cb crash?
The rev6306 likes for resoved this issue:
--- Code: ---#include <vector>
namespace CollaGEN
{
using namespace std;
namespace Engine
{
using namespace std;
int aaa;
}
}
int main()
{
CollaGEN::Engine::vector<int> v;
CollaGEN::vector<float> vf;
return 0;
}
--- End code ---
ollydbg:
--- Quote from: Loaden on February 22, 2011, 06:37:46 am ---Same question: why lead cb crash?
--- End quote ---
--- Code: ---void TokensTree::RecalcInheritanceChain(Token* token)
--- End code ---
will be called endless.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version