Bug 365634 - signature assistant asserts since assistant-ng merge
Summary: signature assistant asserts since assistant-ng merge
Status: RESOLVED FIXED
Alias: None
Product: kdevplatform
Classification: Developer tools
Component: language (other bugs)
Version First Reported In: git master
Platform: Other Linux
: VHI crash
Target Milestone: 5.0.0
Assignee: kdevelop-bugs-null
URL:
Keywords: release_blocker
Depends on:
Blocks: 365635
  Show dependency treegraph
 
Reported: 2016-07-13 20:22 UTC by Milian Wolff
Modified: 2016-07-17 11:17 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Milian Wolff 2016-07-13 20:22:27 UTC
the signature assistant always asserts now when triggered in a debug build due the read locks held in the AbstractNavigationWidget::* API, most notably AbstractNavigationWidget::anchorClicked.

We potentially can simply remove those locks there, but then we'll have to test the other contexts and language plugins to see whether they assert then or not.

Reproducible: Always

Steps to Reproduce:
trigger signature assistant

Actual Results:  
assertion due to read lock being held when calling DUChain::self()->waitForUpdate

Expected Results:  
no assertion
Comment 1 Sven Brauch 2016-07-16 15:11:15 UTC
Never seen this. Does it still happen?

What I see is lots of

kdevelop(5828)/(kdevplatform.language) KDevelop::TopDUContextDynamicData::DUChainItemStorage::getItemForIndex: item index out of bounds: 2314 count: 385

That could also be the reason for why it doesn't work sometimes ...
Comment 2 Sven Brauch 2016-07-17 11:01:09 UTC
Ok, I do see it after all, maybe I'm just blind. I'll find a way to fix it.
Comment 3 Sven Brauch 2016-07-17 11:17:29 UTC
Git commit 00f21bae5ceed53e4f1b3860a394fccc7b0347c3 by Sven Brauch.
Committed on 17/07/2016 at 11:15.
Pushed by brauch into branch '5.0'.

Remove DUChain lock in AbstractNavigationWidget::anchorClicked()

I didn't asserts in other languages, but I also don't think any
of them actually does anything custom wrt navigation-widget.

M  +0    -2    language/duchain/navigation/abstractnavigationwidget.cpp

http://commits.kde.org/kdevplatform/00f21bae5ceed53e4f1b3860a394fccc7b0347c3