https://bugs.kde.org/show_bug.cgi?id=368509
--- Comment #1 from Wood <w0...@mail.com> --- 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 0x00007fb571605a28 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55 #1 0x00007fb57160762a in __GI_abort () at abort.c:89 #2 0x00007fb5722be3a1 in QMessageLogger::fatal(char const*, ...) const (context=..., message=<synthetic pointer>) at global/qlogging.cpp:1648 #3 0x00007fb5722be3a1 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 0x00007fb5722b982e in qt_assert(char const*, char const*, int) (assertion=<optimized out>, file=<optimized out>, line=<optimized out>) at global/qglobal.cpp:2999 #5 0x00007fb56f6f7aa9 in KDevelop::FunctionDefinition::declaration(KDevelop::TopDUContext const*) const (this=0x7fb4d6399570, topContext=0x0) at ~/code/kdevplatform/language/duchain/functiondefinition.cpp:49 #6 0x00007fb56f7b8ea4 in KDevelop::AbstractDeclarationNavigationContext::AbstractDeclarationNavigationContext(KDevelop::DUChainPointer<KDevelop::Declaration>, KDevelop::DUChainPointer<KDevelop::TopDUContext>, KDevelop::AbstractNavigationContext*) (this=0xb31f8f0, decl=..., topContext=..., previousContext=0x0) at ~/code/kdevplatform/language/duchain/navigation/abstractdeclarationnavigationcontext.cpp:53 #7 0x00007fb52c42056f in DeclarationNavigationContext::DeclarationNavigationContext(KDevelop::DUChainPointer<KDevelop::Declaration> const&, KDevelop::AbstractNavigationContext*) (this=0xb31f8f0, decl=..., previousContext=0x0) at ~/code/kdevelop/languages/clang/duchain/navigationwidget.cpp:38 #8 0x00007fb52c41ff3a in ClangNavigationWidget::ClangNavigationWidget(KDevelop::DUChainPointer<KDevelop::Declaration> const&, QFlags<KDevelop::AbstractNavigationWidget::DisplayHint>) (this=0x56f22a0, declaration=..., hints=...) at ~/code/kdevelop/languages/clang/duchain/navigationwidget.cpp:101 #9 0x00007fb52c3f5524 in ClangDUContext<KDevelop::DUContext, 141>::createNavigationWidget(KDevelop::Declaration*, KDevelop::TopDUContext*, QString const&, QString const&, QFlags<KDevelop::AbstractNavigationWidget::DisplayHint>) const (this=0x7fb4d4f0a8c0, decl=0x7fb4d6399570, hints=...) at ~/code/kdevelop/languages/clang/duchain/clangducontext.cpp:58 #10 0x00007fb56f7b27f9 in KDevelop::AbstractNavigationContext::registerChild(KDevelop::DUChainPointer<KDevelop::Declaration>) (this=0xb0fe960, declaration=...) at ~/code/kdevplatform/language/duchain/navigation/abstractnavigationcontext.cpp:233 #11 0x00007fb56f7b21d9 in KDevelop::AbstractNavigationContext::execute(KDevelop::NavigationAction const&) (this=0xb0fe960, action=...) at ~/code/kdevplatform/language/duchain/navigation/abstractnavigationcontext.cpp:176 #12 0x00007fb56f7b3084 in KDevelop::AbstractNavigationContext::acceptLink(QString const&) (this=0xb0fe960, link=...) at ~/code/kdevplatform/language/duchain/navigation/abstractnavigationcontext.cpp:382 #13 0x00007fb56f7b011f in KDevelop::AbstractNavigationWidget::anchorClicked(QUrl const&) (this=0xab73eb0, url=...) at ~/code/kdevplatform/language/duchain/navigation/abstractnavigationwidget.cpp:225 #14 0x00007fb56f7b127c in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QUrl const&>, 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 <KDevelop::AbstractNavigationWidget::anchorClicked(QUrl const&)>, o=0xab73eb0, arg=0x7ffc672e6280) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:501 #15 0x00007fb56f7b1200 in QtPrivate::FunctionPointer<void (KDevelop::AbstractNavigationWidget::*)(QUrl const&)>::call<QtPrivate::List<QUrl const&>, void>(void (KDevelop::AbstractNavigationWidget::*)(QUrl const&), KDevelop::AbstractNavigationWidget*, void**) (f= (void (KDevelop::AbstractNavigationWidget::*)(KDevelop::AbstractNavigationWidget * const, const QUrl &)) 0x7fb56f7b0098 <KDevelop::AbstractNavigationWidget::anchorClicked(QUrl const&)>, o=0xab73eb0, arg=0x7ffc672e6280) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:520 #16 0x00007fb56f7b10cd in QtPrivate::QSlotObject<void (KDevelop::AbstractNavigationWidget::*)(QUrl const&), QtPrivate::List<QUrl const&>, 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 0x00007fb572495b1e in QMetaObject::activate(QObject*, int, int, void**) (a=0x7ffc672e6280, r=0xab73eb0, this=<optimized out>) at ../../src/corelib/kernel/qobject_impl.h:124 #18 0x00007fb572495b1e in QMetaObject::activate(QObject*, int, int, void**) (sender=sender@entry=0x8d0a7b0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=6, argv=argv@entry=0x7ffc672e6280) at kernel/qobject.cpp:3715 #19 0x00007fb572496077 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x8d0a7b0, m=m@entry=0x7fb573207120 <QTextBrowser::staticMetaObject>, local_signal_index=local_signal_index@entry=6, argv=argv@entry=0x7ffc672e6280) at kernel/qobject.cpp:3595 #20 0x00007fb572ebad15 in QTextBrowser::anchorClicked(QUrl const&) (this=this@entry=0x8d0a7b0, _t1=...) at .moc/moc_qtextbrowser.cpp:327 #21 0x00007fb572ebb2ab in QTextBrowserPrivate::_q_activateAnchor(QString const&) (this=0x5cd40f0, href=...) at widgets/qtextbrowser.cpp:212 #22 0x00007fb572ebc8cd in QTextBrowser::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=_o@entry=0x8d0a7b0, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=13, _a=_a@entry=0x7ffc672e6450) at .moc/moc_qtextbrowser.cpp:144 #23 0x00007fb5724957f8 in QMetaObject::activate(QObject*, int, int, void**) (sender=0x578cdc0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=13, argv=argv@entry=0x7ffc672e6450) at kernel/qobject.cpp:3730 #24 0x00007fb572496077 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=<optimized out>, m=m@entry=0x7fb573209540 <QWidgetTextControl::staticMetaObject>, local_signal_index=local_signal_index@entry=13, argv=argv@entry=0x7ffc672e6450) at kernel/qobject.cpp:3595 #25 0x00007fb572ed2555 in QWidgetTextControl::linkActivated(QString const&) (this=<optimized out>, _t1=...) at .moc/moc_qwidgettextcontrol_p.cpp:577 #26 0x00007fb572ed893c in QWidgetTextControlPrivate::activateLinkUnderCursor(QString) (this=this@entry=0x578cec0, href=...) at widgets/qwidgettextcontrol.cpp:2848 #27 0x00007fb572ed97f3 in QWidgetTextControlPrivate::mouseReleaseEvent(QEvent*, Qt::MouseButton, QPointF const&, QFlags<Qt::KeyboardModifier>, QFlags<Qt::MouseButton>, QPoint const&) (this=this@entry=0x578cec0, e=e@entry=0x7ffc672e6c10, button=<optimized out>, pos=..., modifiers=..., modifiers@entry=..., buttons=..., buttons@entry=..., globalPos=...) at widgets/qwidgettextcontrol.cpp:1821 #28 0x00007fb572ede205 in QWidgetTextControl::processEvent(QEvent*, QMatrix const&, QWidget*) (this=<optimized out>, e=0x7ffc672e6c10, matrix=..., contextWidget=<optimized out>) at widgets/qwidgettextcontrol.cpp:1007 #29 0x00007fb572ed497b in QWidgetTextControl::processEvent(QEvent*, QPointF const&, QWidget*) (this=0x578cdc0, e=e@entry=0x7ffc672e6c10, coordinateOffset=..., contextWidget=contextWidget@entry=0x55f1b50) at widgets/qwidgettextcontrol.cpp:952 #30 0x00007fb572eb8669 in QTextEdit::mouseReleaseEvent(QMouseEvent*) (e=0x7ffc672e6c10, this=0x5cd40f0) at widgets/qtextedit_p.h:91 #31 0x00007fb572eb8669 in QTextEdit::mouseReleaseEvent(QMouseEvent*) (this=0x8d0a7b0, e=0x7ffc672e6c10) at widgets/qtextedit.cpp:1591 #32 0x00007fb572d434c8 in QWidget::event(QEvent*) (this=this@entry=0x8d0a7b0, event=event@entry=0x7ffc672e6c10) at kernel/qwidget.cpp:9114 #33 0x00007fb572e4429e in QFrame::event(QEvent*) (this=0x8d0a7b0, e=0x7ffc672e6c10) at widgets/qframe.cpp:544 #34 0x00007fb57246e1ad in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (receiver=0x55f1b50, event=0x7ffc672e6c10) at kernel/qcoreapplication.cpp:1126 #35 0x00007fb572cfe0e5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55f1b50, e=0x7ffc672e6c10) at kernel/qapplication.cpp:3800 #36 0x00007fb572d03e9e in QApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x55f1b50, e=0x7ffc672e6c10) at kernel/qapplication.cpp:3277 #37 0x00007fb57246e3ea in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55f1b50, event=0x7ffc672e6c10) at kernel/qcoreapplication.cpp:1015 #38 0x00007fb572d02b95 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) (receiver=0x55f1b50, event=0x7ffc672e6c10, alienWidget=0x55f1b50, nativeWidget=0xb43c3e0, buttonDown=<optimized out>, lastMouseReceiver=..., spontaneous=true) at ../../src/corelib/kernel/qcoreapplication.h:225 #39 0x00007fb572d5db60 in QWidgetWindow::handleMouseEvent(QMouseEvent*) (this=this@entry=0xb4c1280, event=event@entry=0x7ffc672e7020) at kernel/qwidgetwindow.cpp:603 #40 0x00007fb572d604b3 in QWidgetWindow::event(QEvent*) (this=0xb4c1280, event=0x7ffc672e7020) at kernel/qwidgetwindow.cpp:233 #41 0x00007fb572cfe10c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0xb4c1280, e=0x7ffc672e7020) at kernel/qapplication.cpp:3804 #42 0x00007fb572d03646 in QApplication::notify(QObject*, QEvent*) (this=0x7ffc672e7690, receiver=0xb4c1280, e=0x7ffc672e7020) at kernel/qapplication.cpp:3561 #43 0x00007fb57246e3ea in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=receiver@entry=0xb4c1280, event=event@entry=0x7ffc672e7020) at kernel/qcoreapplication.cpp:1015 #44 0x00007fb5727a7e7b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (event=0x7ffc672e7020, receiver=0xb4c1280) at ../../src/corelib/kernel/qcoreapplication.h:228 #45 0x00007fb5727a7e7b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (e=0xb74d890) at kernel/qguiapplication.cpp:1877 #46 0x00007fb5727a99b5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) (e=<optimized out>) at kernel/qguiapplication.cpp:1661 #47 0x00007fb57278a55b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=...) at kernel/qwindowsysteminterface.cpp:648 #48 0x00007fb55092d5b0 in userEventSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at eventdispatchers/qeventdispatcher_glib.cpp:70 #49 0x00007fb567e7ae5a in g_main_context_dispatch (context=0x7fb5480016f0) at gmain.c:3154 #50 0x00007fb567e7ae5a in g_main_context_dispatch (context=context@entry=0x7fb5480016f0) at gmain.c:3769 #51 0x00007fb567e7b1f0 in g_main_context_iterate (context=context@entry=0x7fb5480016f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3840 ---Type <return> to continue, or q <return> to quit--- #52 0x00007fb567e7b29c in g_main_context_iteration (context=0x7fb5480016f0, may_block=may_block@entry=1) at gmain.c:3901 #53 0x00007fb5724bcb3f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x24626a0, flags=...) at kernel/qeventdispatcher_glib.cpp:417 #54 0x00007fb57246d25a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffc672e73d0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #55 0x00007fb572474bdc in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1285 #56 0x000000000040f596 in main(int, char**) (argc=1, argv=0x7ffc672e9778) at ~/code/kdevelop/app/main.cpp:763 -- You are receiving this mail because: You are watching all bug changes.