This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 258548

Summary: High CPU usage: VersioningAnnotator.annotationRefresh -> VCSFileProxy.getParentFile()
Product: versioncontrol Reporter: NukemBy
Component: CodeAssignee: Ondrej Vrabec <ovrabec>
Status: NEW ---    
Severity: normal    
Priority: P3    
Version: 8.2   
Hardware: PC   
OS: Windows 7 x64   
Issue Type: DEFECT Exception Reporter:
Attachments: VCSFileProxy.getParent.npss

Description NukemBy 2016-03-27 12:07:03 UTC
Created attachment 159016 [details]
VCSFileProxy.getParent.npss

It looks like something changed in 'recent' NB sources (I'm building NB from sources), at least I can't remember that was happening 2+ months ago.

From time to time NB eats 100% of one CPU core. Last time it happened after refactoring - Java class was moved to another package. High CPU usage was running for about 2 minutes, not disrupting my work because in background thread, but strange CPU usage is somewhat annoying.

I've captured self-profiler snaphot - it shows 
- all CPU usage goes into 2 instances of `VersioningAnnotator.annotationRefresh` thread (why 2 threads?)
- 96% of it goes into method 'org.netbeans.modules.versioning.core.Utils.isAncestorOrEqual()', 
- where 75% is taken by `org.netbeans.modules.versioning.core.api.VCSFileProxy.getParentFile()`

Snapshot is attached.