[kdevelop] [Bug 368509] New: Assertion raised when selecting a solution to a "Unknown declaration" problem

2016-09-09 Thread Wood via KDE Bugzilla
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

2016-09-20 Thread Wood via KDE Bugzilla
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