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 247371 - org.netbeans.modules.navigator.LazyPanel.panelDeactivated: LowPerformance took 131078 ms.
Summary: org.netbeans.modules.navigator.LazyPanel.panelDeactivated: LowPerformance too...
Status: RESOLVED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Filesystems (show other bugs)
Version: 8.0
Hardware: All All
: P3 normal (vote)
Assignee: Jaroslav Havlin
URL:
Keywords: PERFORMANCE, THREAD
Depends on:
Blocks:
 
Reported: 2014-09-22 15:35 UTC by Jesse Glick
Modified: 2014-10-02 02:53 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter: 212105


Attachments
nps snapshot (157.39 KB, application/nps)
2014-09-22 15:35 UTC, Jesse Glick
Details
Thread dump (67.24 KB, text/plain)
2014-09-22 15:37 UTC, Jesse Glick
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jesse Glick 2014-09-22 15:35:02 UTC
This issue was reported manually by jglick.
It already has 1 duplicates 


Build: NetBeans IDE Dev (Build 20140919-94fb7d47c056)
VM: Java HotSpot(TM) 64-Bit Server VM, 24.65-b04, Java(TM) SE Runtime Environment, 1.7.0_67-b01
OS: Linux

User Comments:
jglick: Had switched Git branch from shell. IDE froze. Had to use jkillthread to kill the "Maven project reloading" thread.



Maximum slowness yet reported was 131078 ms, average is 131078
Comment 1 Jesse Glick 2014-09-22 15:35:06 UTC
Created attachment 149426 [details]
nps snapshot
Comment 2 Jesse Glick 2014-09-22 15:37:28 UTC
Created attachment 149427 [details]
Thread dump
Comment 3 Jesse Glick 2014-09-22 15:38:43 UTC
IDE did not recover without killing thread holding the Mutex. After that, it was sort of responsive, but classpath scanning stalled out, so I restarted and it is fine after the restart.
Comment 4 Jaroslav Havlin 2014-09-30 12:52:31 UTC
Maven Project Reloading:
 - FileObjectFactory.invalidateSubtree ->     locks allIBaseLock.writeLock
 - BaseFileObj.invalidateFO            -> waits for ChildrenCache.mutex.writeAccess

Pending refresh:
 - Watcher.unlock                      ->     locks Watcher
 - FileObjectFactory.getCachedOnly     -> waits for allIBaseLock.readLock

org.netbeans.modules.maven.cos.CopyResourceOnSave:
 - FolderObj.createDataImpl            ->     locks ChildrenCache.mutex.writeAccess
 - FolderObj.createDataImpl            -> waits for Watcher


There should be no need to call FileObject.getParent() under Watcher's lock.
http://hg.netbeans.org/core-main/rev/8b590a349f29

Thank you very much for the thread dump, Jesse.
Comment 5 Quality Engineering 2014-10-02 02:53:02 UTC
Integrated into 'main-silver', will be available in build *201410020001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/8b590a349f29
User: Jaroslav Havlin <jhavlin@netbeans.org>
Log: #247371: Deadlock involving Watcher, BaseFileObj and FileObjectFactory