[kdevelop] [Bug 368509] New: Assertion raised when selecting a solution to a "Unknown declaration" problem
https://bugs.kde.org/show_bug.cgi?id=368509 Bug ID: 368509 Summary: Assertion raised when selecting a solution to a "Unknown declaration" problem Product: kdevelop Version: git master Platform: Compiled Sources OS: Linux Status: UNCONFIRMED Severity: normal Priority: NOR Component: Language Support: CPP (Clang-based) Assignee: kdevelop-bugs-n...@kde.org Reporter: w0...@mail.com ASSERT: "KDevelop::DUChain::lock()->currentThreadHasReadLock() || KDevelop::DUChain::lock()->currentThreadHasWriteLock()" in file ~/code/kdevplatform/language/duchain/declaration.cpp, line 283 #0 0x7f7966980a28 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55 #1 0x7f796698262a in __GI_abort () at abort.c:89 #2 0x7f79676393a1 in QMessageLogger::fatal(char const*, ...) const (context=..., message=) at global/qlogging.cpp:1648 #3 0x7f79676393a1 in QMessageLogger::fatal(char const*, ...) const (this=this@entry=0x7ffdbbb75630, msg=msg@entry=0x7f796789bc58 "ASSERT: \"%s\" in file %s, line %d") at global/qlogging.cpp:790 #4 0x7f796763482e in qt_assert(char const*, char const*, int) (assertion=, file=, line=) at global/qglobal.cpp:2999 #5 0x7f7964a77a23 in KDevelop::Declaration::qualifiedIdentifier() const (this=0x7f791572bdb0) at ~/code/kdevplatform/language/duchain/declaration.cpp:283 #6 0x7f7920dd9455 in (anonymous namespace)::forwardDeclarations(QVector const&, KDevelop::Path const&) (matchingDeclarations=..., source=...) at ~/code/kdevelop/languages/clang/duchain/unknowndeclarationproblem.cpp:400 #7 0x7f7920dd9b18 in (anonymous namespace)::fixUnknownDeclaration(KDevelop::QualifiedIdentifier const&, KDevelop::Path const&, KDevelop::DocumentRange const&) (identifier=..., file=..., docrange=...) at ~/code/kdevelop/languages/clang/duchain/unknowndeclarationproblem.cpp:457 #8 0x7f7920dda23f in UnknownDeclarationProblem::solutionAssistant() const (this=0x7f766882ae30) at ~/code/kdevelop/languages/clang/duchain/unknowndeclarationproblem.cpp:519 #9 0x7f7964b285c0 in KDevelop::ProblemNavigationContext::executeAction(int) (this=0xad0ff20, index=3) at ~/code/kdevplatform/language/duchain/navigation/problemnavigationcontext.cpp:211 #10 0x7f7964b28558 in KDevelop::ProblemNavigationContext::executeKeyAction(QString) (this=0xad0ff20, key=...) at ~/code/kdevplatform/language/duchain/navigation/problemnavigationcontext.cpp:203 #11 0x7f7964b2cead in KDevelop::AbstractNavigationContext::execute(KDevelop::NavigationAction const&) (this=0xad0ff20, action=...) at ~/code/kdevplatform/language/duchain/navigation/abstractnavigationcontext.cpp:156 #12 0x7f7964b2e084 in KDevelop::AbstractNavigationContext::acceptLink(QString const&) (this=0xad0ff20, link=...) at ~/code/kdevplatform/language/duchain/navigation/abstractnavigationcontext.cpp:382 #13 0x7f7964b2b11f in KDevelop::AbstractNavigationWidget::anchorClicked(QUrl const&) (this=0xc877c80, url=...) at ~/code/kdevplatform/language/duchain/navigation/abstractnavigationwidget.cpp:225 #14 0x7f7964b2c27c in QtPrivate::FunctorCall, QtPrivate::List, void, void (KDevelop::AbstractNavigationWidget::*)(QUrl const&)>::call(void (KDevelop::AbstractNavigationWidget::*)(QUrl const&), KDevelop::AbstractNavigationWidget*, void**) (f= (void (KDevelop::AbstractNavigationWidget::*)(KDevelop::AbstractNavigationWidget * const, const QUrl &)) 0x7f7964b2b098 , o=0xc877c80, arg=0x7ffdbbb76150) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:501 #15 0x7f7964b2c200 in QtPrivate::FunctionPointer::call, void>(void (KDevelop::AbstractNavigationWidget::*)(QUrl const&), KDevelop::AbstractNavigationWidget*, void**) (f= (void (KDevelop::AbstractNavigationWidget::*)(KDevelop::AbstractNavigationWidget * const, const QUrl &)) 0x7f7964b2b098 , o=0xc877c80, arg=0x7ffdbbb76150) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:520 #16 0x7f7964b2c0cd in QtPrivate::QSlotObject, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0xaec0ce0, r=0xc877c80, a=0x7ffdbbb76150, ret=0x0) at /usr/include/qt5/QtCore/qobject_impl.h:143 #17 0x7f7967810b1e in QMetaObject::activate(QObject*, int, int, void**) (a=0x7ffdbbb76150, r=0xc877c80, this=) at ../../src/corelib/kernel/qobject_impl.h:124 #18 0x7f7967810b1e in QMetaObject::activate(QObject*, int, int, void**) (sender=sender@entry=0xce301c0, signalOffset=, local_signal_index=local_signal_index@entry=6, argv=argv@entry=0x7ffdbbb76150) at kernel/qobject.cpp:3715 #19 0x7f7967811077 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0xce301c0, m=m@entry=0x7f7968582120 , local_signal_index=local_signal_index@entry=6, argv=argv@entry=0x7ffdbbb76150) at kernel/qobject.cpp:3595 #20 0x7f7968235d15 in QTextBrowser::anchorClicked(QUrl const&) (this=this@entry=
[kdevelop] [Bug 368509] Assertion raised when selecting a solution to a "Unknown declaration" problem
https://bugs.kde.org/show_bug.cgi?id=368509 --- Comment #1 from Wood --- Same assert : ASSERT: "KDevelop::DUChain::lock()->currentThreadHasReadLock() || KDevelop::DUChain::lock()->currentThreadHasWriteLock()" in file ~/code/kdevplatform/language/duchain/functiondefinition.cpp, line 49 has triggered when trying to access the declaration of a function in the tooltip popup. Callstack: #0 0x7fb571605a28 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55 #1 0x7fb57160762a in __GI_abort () at abort.c:89 #2 0x7fb5722be3a1 in QMessageLogger::fatal(char const*, ...) const (context=..., message=) at global/qlogging.cpp:1648 #3 0x7fb5722be3a1 in QMessageLogger::fatal(char const*, ...) const (this=this@entry=0x7ffc672e4a70, msg=msg@entry=0x7fb572520c58 "ASSERT: \"%s\" in file %s, line %d") at global/qlogging.cpp:790 #4 0x7fb5722b982e in qt_assert(char const*, char const*, int) (assertion=, file=, line=) at global/qglobal.cpp:2999 #5 0x7fb56f6f7aa9 in KDevelop::FunctionDefinition::declaration(KDevelop::TopDUContext const*) const (this=0x7fb4d6399570, topContext=0x0) at ~/code/kdevplatform/language/duchain/functiondefinition.cpp:49 #6 0x7fb56f7b8ea4 in KDevelop::AbstractDeclarationNavigationContext::AbstractDeclarationNavigationContext(KDevelop::DUChainPointer, KDevelop::DUChainPointer, KDevelop::AbstractNavigationContext*) (this=0xb31f8f0, decl=..., topContext=..., previousContext=0x0) at ~/code/kdevplatform/language/duchain/navigation/abstractdeclarationnavigationcontext.cpp:53 #7 0x7fb52c42056f in DeclarationNavigationContext::DeclarationNavigationContext(KDevelop::DUChainPointer const&, KDevelop::AbstractNavigationContext*) (this=0xb31f8f0, decl=..., previousContext=0x0) at ~/code/kdevelop/languages/clang/duchain/navigationwidget.cpp:38 #8 0x7fb52c41ff3a in ClangNavigationWidget::ClangNavigationWidget(KDevelop::DUChainPointer const&, QFlags) (this=0x56f22a0, declaration=..., hints=...) at ~/code/kdevelop/languages/clang/duchain/navigationwidget.cpp:101 #9 0x7fb52c3f5524 in ClangDUContext::createNavigationWidget(KDevelop::Declaration*, KDevelop::TopDUContext*, QString const&, QString const&, QFlags) const (this=0x7fb4d4f0a8c0, decl=0x7fb4d6399570, hints=...) at ~/code/kdevelop/languages/clang/duchain/clangducontext.cpp:58 #10 0x7fb56f7b27f9 in KDevelop::AbstractNavigationContext::registerChild(KDevelop::DUChainPointer) (this=0xb0fe960, declaration=...) at ~/code/kdevplatform/language/duchain/navigation/abstractnavigationcontext.cpp:233 #11 0x7fb56f7b21d9 in KDevelop::AbstractNavigationContext::execute(KDevelop::NavigationAction const&) (this=0xb0fe960, action=...) at ~/code/kdevplatform/language/duchain/navigation/abstractnavigationcontext.cpp:176 #12 0x7fb56f7b3084 in KDevelop::AbstractNavigationContext::acceptLink(QString const&) (this=0xb0fe960, link=...) at ~/code/kdevplatform/language/duchain/navigation/abstractnavigationcontext.cpp:382 #13 0x7fb56f7b011f in KDevelop::AbstractNavigationWidget::anchorClicked(QUrl const&) (this=0xab73eb0, url=...) at ~/code/kdevplatform/language/duchain/navigation/abstractnavigationwidget.cpp:225 #14 0x7fb56f7b127c in QtPrivate::FunctorCall, QtPrivate::List, void, void (KDevelop::AbstractNavigationWidget::*)(QUrl const&)>::call(void (KDevelop::AbstractNavigationWidget::*)(QUrl const&), KDevelop::AbstractNavigationWidget*, void**) (f= (void (KDevelop::AbstractNavigationWidget::*)(KDevelop::AbstractNavigationWidget * const, const QUrl &)) 0x7fb56f7b0098 , o=0xab73eb0, arg=0x7ffc672e6280) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:501 #15 0x7fb56f7b1200 in QtPrivate::FunctionPointer::call, void>(void (KDevelop::AbstractNavigationWidget::*)(QUrl const&), KDevelop::AbstractNavigationWidget*, void**) (f= (void (KDevelop::AbstractNavigationWidget::*)(KDevelop::AbstractNavigationWidget * const, const QUrl &)) 0x7fb56f7b0098 , o=0xab73eb0, arg=0x7ffc672e6280) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:520 #16 0x7fb56f7b10cd in QtPrivate::QSlotObject, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x5790180, r=0xab73eb0, a=0x7ffc672e6280, ret=0x0) at /usr/include/qt5/QtCore/qobject_impl.h:143 #17 0x7fb572495b1e in QMetaObject::activate(QObject*, int, int, void**) (a=0x7ffc672e6280, r=0xab73eb0, this=) at ../../src/corelib/kernel/qobject_impl.h:124 #18 0x7fb572495b1e in QMetaObject::activate(QObject*, int, int, void**) (sender=sender@entry=0x8d0a7b0, signalOffset=, local_signal_index=local_signal_index@entry=6, argv=argv@entry=0x7ffc672e6280) at kernel/qobject.cpp:3715 #19 0x7fb572496077 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x8d0a7b0, m=m@entry=0x7fb573207120 , local_signal_index=local_signal_index@entry=6, argv=argv@entry=0x7ffc672e6280) at kernel/qobject.cpp:3595 #20 0x7fb572ebad15 in QTextBrowser::anchorClicked(QUrl const&) (this=this@entry=0