User forums > Help

CodeBlocks cash when "Find declaration " on some symbol

<< < (2/5) > >>

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