https://bugs.kde.org/show_bug.cgi?id=363180
Bug ID: 363180 Summary: The qmljs parser crashes in QmlJS::getDeclaration Product: kdevelop Version: 4.7.3 Platform: Compiled Sources OS: Linux Status: UNCONFIRMED Severity: crash Priority: NOR Component: Language Support: QML/JavaScript Assignee: kdevelop-bugs-n...@kde.org Reporter: jonathan.ver...@gmail.com When parsing the attached file, kdevelop immediately crashes with the attached backtrace (the backtrace has 65000 frames so I am attaching only the first and last 100 and pasting only the first few here): #0 0x00007ffff1979a91 in ?? () from /usr/lib/libkdevplatformlanguage.so.8 No symbol table info available. #1 0x00007ffff1978af6 in KDevelop::IndexedQualifiedIdentifier::IndexedQualifiedIdentifier() () from /usr/lib/libkdevplatformlanguage.so.8 No symbol table info available. #2 0x00007ffff19c50f8 in KDevelop::PersistentSymbolTable::getDeclarations(KDevelop::IndexedQualifiedIdentifier const&) const () from /usr/lib/libkdevplatformlanguage.so.8 No symbol table info available. #3 0x00007ffff19c5f09 in KDevelop::PersistentSymbolTable::getFilteredDeclarations(KDevelop::IndexedQualifiedIdentifier const&, Utils::StorableSet<KDevelop::IndexedTopDUContext, KDevelop::IndexedTopDUContextIndexConversion, KDevelop::RecursiveImportRepository, true, Utils::DummyLocker> const&) const () from /usr/lib/libkdevplatformlanguage.so.8 No symbol table info available. #4 0x00007ffff195704d in ?? () from /usr/lib/libkdevplatformlanguage.so.8 No symbol table info available. #5 0x00007ffff19575a8 in bool KDevelop::TopDUContext::applyAliases<KDevelop::TopDUContext::FindDeclarationsAcceptor>(KDevelop::QualifiedIdentifier const&, KSharedPtr<KDevelop::DUContext::SearchItem> const&, KDevelop::TopDUContext::FindDeclarationsAcceptor&, KDevelop::CursorInRevision const&, bool, KDevelop::TopDUContext::ApplyAliasesBuddyInfo*, unsigned int) const () from /usr/lib/libkdevplatformlanguage.so.8 No symbol table info available. #6 0x00007ffff19509f4 in KDevelop::TopDUContext::findDeclarationsInternal(KDevVarLengthArray<KSharedPtr<KDevelop::DUContext::SearchItem>, 256> const&, KDevelop::CursorInRevision const&, TypePtr<KDevelop::AbstractType> const&, KDevVarLengthArray<KDevelop::Declaration*, 40>&, KDevelop::TopDUContext const*, QFlags<KDevelop::DUContext::SearchFlag>, unsigned int) const () from /usr/lib/libkdevplatformlanguage.so.8 No symbol table info available. #7 0x00007ffff19433e1 in KDevelop::DUContext::findDeclarations(KDevelop::Identifier const&, KDevelop::CursorInRevision const&, KDevelop::TopDUContext const*, QFlags<KDevelop::DUContext::SearchFlag>) const () from /usr/lib/libkdevplatformlanguage.so.8 No symbol table info available. #8 0x00007fff2ec43eab in QmlJS::getDeclaration (id=..., context=context@entry=0x7fff08106830, searchInParent=searchInParent@entry=true) at /home/jonathan/zdroj/kde/src/kdev-qmljs/duchain/helper.cpp:57 declarations = {{p = {static shared_null = {ref = {_q_value = 1}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x7fff08dbfcc0}, d = 0x7fff08dbfcc0}} lock = {m_lock = 0x1517d20, m_locked = true, m_timeout = 0} #9 0x00007fff2ec44831 in QmlJS::getInternalContext (declaration=...) at /home/jonathan/zdroj/kde/src/kdev-qmljs/duchain/helper.cpp:230 baseClass = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 1}, alloc = 0, size = 0, data = 0x62109a <QString::shared_null+26>, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 2446}, alloc = 0, size = 0, data = 0x7ffff521191a <QString::shared_empty+26>, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x7fff08dbfce0, static codecForCStrings = 0x0} structureType = <optimized out> integralType = <optimized out> lock = {m_lock = 0x1517d20, m_locked = true, m_timeout = 0} functionType = <optimized out> #10 0x00007fff2ec44839 in QmlJS::getInternalContext (declaration=...) at /home/jonathan/zdroj/kde/src/kdev-qmljs/duchain/helper.cpp:230 baseClass = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 1}, alloc = 0, size = 0, data = 0x62109a <QString::shared_null+26>, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 2446}, alloc = 0, size = 0, data = 0x7ffff521191a <QString::shared_empty+26>, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x7fff08dbfc20, static codecForCStrings = 0x0} structureType = <optimized out> integralType = <optimized out> lock = {m_lock = 0x1517d20, m_locked = true, m_timeout = 0} functionType = <optimized out> Reproducible: Always Steps to Reproduce: 1. Open the attached file assign.js -- You are receiving this mail because: You are watching all bug changes.