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 228470 - IDE hang for a couple minutes
Summary: IDE hang for a couple minutes
Status: RESOLVED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Filesystems (show other bugs)
Version: 7.3
Hardware: PC Solaris
: P2 normal (vote)
Assignee: Jaroslav Havlin
URL:
Keywords:
: 225288 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-04-11 08:53 UTC by Egor Ushakov
Modified: 2013-07-25 12:58 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
snapshot (1.42 MB, application/octet-stream)
2013-04-11 08:53 UTC, Egor Ushakov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Egor Ushakov 2013-04-11 08:53:21 UTC
Created attachment 133450 [details]
snapshot

See attached snapshot, hang at ~11:33.
MainMenuAction is waiting for "Diffsidebar long tasks" in EDT.
Comment 1 David Strupl 2013-05-30 12:59:46 UTC
Please have a look at the threads

1. Parallel analyzing /var/tmp/....
2. AWT-EventQueue-0
3. Diffsidebar long tasks

Thread 1. holds the mutex from FileObjectFactory.getFileObject and waits 60s in one call to java.io.File.exists().

Thread 3. waits for the mutex while holding the lock from DataObject.

Thread 2. in the call from editor is trying to just call FileUtil.getConfigObject(). Although it is calling an IO from AWT thread it is an IO from the user dir which should be fast. BUT the call ends up in DataObject.find() which in turns wait for thread 3. (and thus for thread 1.)

Passing to file systems for evaluation. Not sure we can do something in the editor to correct this.
Comment 2 Jaroslav Havlin 2013-07-01 13:19:58 UTC
http://hg.netbeans.org/core-main/rev/0b7ae7d9e042

> Thread 1. holds the mutex from FileObjectFactory.getFileObject and waits 60s 
> in one call to java.io.File.exists().
File.exists() is now called outside of the lock 
(used the same solution as in getChildren).
Please verify.

Thank you for reporting, and for excellent description of the problem.
Comment 3 Quality Engineering 2013-07-02 02:15:40 UTC
Integrated into 'main-silver', will be available in build *201307012300* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/0b7ae7d9e042
User: Jaroslav Havlin <jhavlin@netbeans.org>
Log: #228470: IDE hang for a couple minutes
Comment 4 Jaroslav Havlin 2013-07-25 12:58:57 UTC
*** Bug 225288 has been marked as a duplicate of this bug. ***