https://bugs.kde.org/show_bug.cgi?id=416714

--- Comment #4 from Jonathan Verner <jonathan.ver...@matfyz.cz> ---
Hmm, the problem seems to be that the DUChain is readlocked in
`AbstractNavigationWidgetPrivate::anchorClicked`. However, that
lock was added there to fix bug 386901 so it cannot just be removed.

Probably the solution is to move the lock further down the call chain
for bug 386901, though its not completely clear to me where...

The call chain triggering bug 386901 without the lock acquired in
`anchorClicked`
looks as follows (from outer caller to inner caller):


in KDevelop::AbstractNavigationWidgetPrivate::anchorClicked at
kdevplatform/language/duchain/navigation/abstractnavigationwidget.cpp:285

in KDevelop::AbstractNavigationContext::acceptLink at
kdevplatform/language/duchain/navigation/abstractnavigationcontext.cpp:487

in KDevelop::AbstractNavigationContext::execute at
kdevplatform/language/duchain/navigation/abstractnavigationcontext.cpp:201

in KDevelop::AbstractNavigationContext::registerChild at
kdevplatform/language/duchain/navigation/abstractnavigationcontext.cpp:281

in ClangDUContext<KDevelop::TopDUContext, 140>::createNavigationWidget at
plugins/clang/duchain/clangducontext.cpp:46

in ClangNavigationWidget::ClangNavigationWidget at
plugins/clang/duchain/navigationwidget.cpp:98

in DeclarationNavigationContext::AbstractDeclarationNavigationContext at
plugins/clang/duchain/navigationwidget.cpp:38

in AbstractDeclarationNavigationContext::AbstractDeclarationNavigationContext
at
kdevplatform/language/duchain/navigation/abstractdeclarationnavigationcontext.cpp:67

in KDevelop::FunctionDefinition::declaration at
kdevplatform/language/duchain/functiondefinition.cpp:52


where an assert is hit in the `ENSURE_CAN_READ` macro.

(source code locations from master at 5b8c6afe6f1bdfc)

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to