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 184582 - [69cat]<This layer in context> stays (Please wait...) for ever when expanding XML Layer in Important files
Summary: [69cat]<This layer in context> stays (Please wait...) for ever when expanding...
Status: RESOLVED WORKSFORME
Alias: None
Product: apisupport
Classification: Unclassified
Component: Project (show other bugs)
Version: 6.x
Hardware: PC Windows Vista
: P3 normal (vote)
Assignee: Jesse Glick
URL:
Keywords: PERFORMANCE
Depends on:
Blocks:
 
Reported: 2010-04-21 04:42 UTC by alied
Modified: 2010-05-14 16:49 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Screenshot of ths layer in context waiting forever (25.01 KB, image/jpeg)
2010-04-21 05:28 UTC, alied
Details
thread-dump for this layer in context (85.90 KB, application/octet-stream)
2010-04-21 14:36 UTC, alied
Details
platform file for the suite (1.29 KB, text/plain)
2010-04-23 02:00 UTC, alied
Details

Note You need to log in before you can comment on or make changes to this bug.
Description alied 2010-04-21 04:42:31 UTC
Exactly what the summary says. I've been working for hours and still waiting.

Product Version = NetBeans IDE Dev (Build 201004200200)
Operating System = Windows Vista version 6.0 running on x86
Java; VM; Vendor = 1.6.0_20
Runtime = Java HotSpot(TM) Client VM 16.3-b01
Comment 1 alied 2010-04-21 05:28:42 UTC
Created attachment 97762 [details]
Screenshot of ths layer in context waiting forever
Comment 2 Marian Mirilovic 2010-04-21 08:14:48 UTC
Could you please generate thread-dump and attach it here ?
http://wiki.netbeans.org/GenerateThreadDump
Thanks in advance.
Comment 3 alied 2010-04-21 14:36:26 UTC
Created attachment 97806 [details]
thread-dump for this layer in context

Started to profile, expanded the important files and expanded layer.xml
waited for a while and took the dump
Hope it helps
Comment 4 Jesse Glick 2010-04-21 15:55:03 UTC
Bug #181231 refers to the general problem of LayerUtils.currentify (here being run in the thread "BadgingSupport") involving too much I/O to justify its usefulness. It's hard to say whether fixing that would actually solve your issue because it's not quite clear what your issue is - the "interesting" branches of the snapshot seem to come down to java.io.File.exists.

I have often seen snapshots on Windows (and only on Windows) where this call takes unreasonably long to complete - perhaps you are using network drives such as UNC? (It is strongly recommended to do all development on plain local disks, using VCS as needed to collaborate with colleagues or maintain backups. Similarly, it is recommended to place your NB user directory on a local disk.)

"UIHandler$1WriteOut" also seems to be doing a lot of the work of looking for modules in your target platform. (Is this platform especially large? If you are building a module suite which only needs to use core NB Platform features, it is wise to disable unused clusters in suite properties.) Again the main blocker seems to be your disk - to display all layers in context it is necessary to examine hundreds of files (since the information is really spread out across all these files), but normally this can be accomplished in a few seconds.
Comment 5 alied 2010-04-21 18:19:01 UTC
-No network or other external storage devices. All projects are kept in local HDD. SVN is used for backup purposes.
-I use the NB6.8 platform from NB6.9 (I started this project in 6.8, and I want to use new features from 6.9, but not to deploy a still in progress platform), maybe this is the reason(I wouldn't know why). Also, I use the localization for Spanish on the platform. The only module I include outside the platform is the Update Centers (so far. I plan to include the platform update in the same UC in the future)

Maybe I should need to upgrade memory.

This is my hdd data (I hope it is not the actual cause):
Field	Value
ATA Device Properties	
Model ID	ST98823AS
Device Type	SATA
Parameters	155061 cylinders, 16 heads, 63 sectors per track, 512 bytes per sector
LBA Sectors	156301488
Buffer	8 MB
Multiple Sectors	16
ATA Standard	ATA/ATAPI-7
	
ATA Device Physical Info	
Manufacturer	Seagate
Hard Disk Name	Momentus 5400.2 120GB 8823
Formatted Capacity	80 GB
Rotational Speed	5400 RPM
Max. Internal Data Rate	336 Mbit/s
Average Seek	12.5 ms
Interface	SATA
Buffer-to-Host Data Rate	150 MB/s
Buffer Size	8 MB
	
ATA Device Manufacturer	
Company Name	Seagate Technology LLC
Product Information	http://www.seagate.com/products
Comment 6 alied 2010-04-21 18:31:10 UTC
also: DMA is in use.
Will check in 6.8 again.
When I say platform, I mean cluster platform11(from 6.8)
Comment 7 Jesse Glick 2010-04-22 17:05:03 UTC
(In reply to comment #5)
> I use the NB6.8 platform from NB6.9,
> maybe this is the reason

That should not matter much I think.

> The only module I include outside the platform is the Update Centers

Should be fine. One question: do you point your suite to a complete, full IDE installation and then exclude all the IDE clusters in suite configuration? Or is the actual 6.8 installation just the Platform (i.e. platform* and harness dirs and not much else)? It is possible the latter case is more efficient, though even in the former case the kinds of pauses you are seeing are far outside of the expected range.

> Maybe I should need to upgrade memory.

Perhaps. Do you seem to be close to the limit? If you are swapping RAM to disk then everything you do will become dramatically slower.

> Rotational Speed    5400 RPM

Hardware should be fine. Again, might be a Windows thing - are you using a compressed or encrypted drive? Do you run any virus scanners which might intercept every file open operation?
Comment 8 alied 2010-04-22 19:48:21 UTC
(In reply to comment #7)
> > The only module I include outside the platform is the Update Centers
> 
> Should be fine. One question: do you point your suite to a complete, full IDE
> installation and then exclude all the IDE clusters in suite configuration?

Yes, I have both 6.9 and 6.8 (sometimes 6.9 is unusable) fully IDE installed.

> Or
> is the actual 6.8 installation just the Platform (i.e. platform* and harness
> dirs and not much else)? It is possible the latter case is more efficient,
> though even in the former case the kinds of pauses you are seeing are far
> outside of the expected range.
> 
> > Maybe I should need to upgrade memory.
> 
> Perhaps. Do you seem to be close to the limit? If you are swapping RAM to disk
> then everything you do will become dramatically slower.
> 
> > Rotational Speed    5400 RPM
> 
> Hardware should be fine. Again, might be a Windows thing - are you using a
> compressed or encrypted drive? Do you run any virus scanners which might
> intercept every file open operation?

Antivirus should be disabled (at least it claims so), and the drive is not encrypted nor compressed.
Comment 9 alied 2010-04-23 02:00:22 UTC
Created attachment 97892 [details]
platform file for the suite

This is the platform file for the  suit I'm working on
Comment 10 Jesse Glick 2010-04-26 21:34:23 UTC
(In reply to comment #7)
> do you point your suite to a complete, full IDE
> installation and then exclude all the IDE clusters in suite configuration?

It seems you do.

> Or
> is the actual 6.8 installation just the Platform (i.e. platform* and harness
> dirs and not much else)? It is possible the latter case is more efficient

core-main #9d5270d033cb should make the former equally efficient, so this might help you - though if it took "hours" to scan all ten or so clusters, then scanning just the platform cluster will still take far longer than would be considered normal.
Comment 11 Quality Engineering 2010-04-28 05:08:24 UTC
Integrated into 'main-golden', will be available in build *201004280200* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main/rev/
User: 
Log:
Comment 12 alied 2010-04-28 19:25:02 UTC
(In reply to comment #11)
> Integrated into 'main-golden', will be available in build *201004280200* on
> http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
> Changeset: http://hg.netbeans.org/main/rev/
> User: 
> Log:

One more tip:
when I expand "important files" and expand "XML Layer", I see HDD activity. When all <this layer> is loaded, HDD activity ceases, and the leaf "Please wait..." stays forever. I guess somehow the context is no longer searched.
Comment 13 Jesse Glick 2010-04-28 19:50:22 UTC
(In reply to comment #12)
> when I expand "important files" and expand "XML Layer", I see HDD activity.

Sure...

> When all <this layer> is loaded, HDD activity ceases, and the leaf "Please
> wait..." stays forever.

From the previously attached thread dump, it seems that the IDE was in fact still trying to make filesystem calls to Windows. If Windows simply chooses to hang indefinitely without doing anything, I'm not sure what there is to be done.
Comment 14 alied 2010-05-14 15:31:32 UTC
Product Version: NetBeans IDE Dev (Build 201005122200)
Java: 1.6.0_20; Java HotSpot(TM) Client VM 16.3-b01
System: Windows Vista version 6.0 running on x86; Cp1252; en (nb)

Hi, I haven't checked this some builds ago, and today I did it. Wow, it worked!! And I was able to delete(hide) unwanted options from my modules.
What you lads did, I don't know, but worked.
Comment 15 Jesse Glick 2010-05-14 16:49:02 UTC
Good to hear. It is hard to know whether 9d5270d033cb actually helped in your case, or if there was some other issue which was resolved by a different change.