Bug 365633 - GUI freezes due to assistant problem hack
Summary: GUI freezes due to assistant problem hack
Status: RESOLVED FIXED
Alias: None
Product: kdevelop
Classification: Applications
Component: Language Support: CPP (Clang-based) (other bugs)
Version First Reported In: git master
Platform: Other Linux
: NOR grave
Target Milestone: 5.0.0
Assignee: kdevelop-bugs-null
URL:
Keywords: release_blocker
Depends on:
Blocks:
 
Reported: 2016-07-13 20:18 UTC by Milian Wolff
Modified: 2016-07-16 14:10 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:18:59 UTC
The merge of the assistant-ng branch shows a big issue with the hack that is used to show problems in the editor for assistant ranges. Namely, we have this now:

void ProblemReporterPlugin::updateReady(const IndexedString& url, const KDevelop::ReferencedTopDUContext& top)
{
    {
      DUChainWriteLocker lock(DUChain::lock(), 300);
      ...

On initial parse, this will be triggered a lot (as many files are getting updated. Each time, we will block the GUI for some time to wait up to 300ms. Note that our BKL is under heavy load at that time, and write locks are not fair and thus often starved by read locks elsewhere.

This must be rewritten to not modify the DUChain for whatever purpose it's serving (squiggly lines in the editor?)

Reproducible: Always

Steps to Reproduce:
1. open large project(s) in kdevelop
2. try to interact with the editor to trigger assistants


Actual Results:  
gui is often time blocked

Expected Results:  
no blocks
Comment 1 Sven Brauch 2016-07-13 22:17:05 UTC
My fault, I'll take care of it in the next days.
Comment 2 Sven Brauch 2016-07-16 14:10:05 UTC
Should be fixed with f1f2134051.