Product Version: NetBeans IDE Dev (Build 201206080001)
Java: 1.6.0_31; Java HotSpot(TM) Client VM 20.6-b01
System: Windows XP version 5.1 running on x86; Cp1252; en_NZ (nb)
How to reproduce
- Open NetBeans with a new userdir (Do not import settings)
- Menu|Tools|Options|Miscellaneous|Files|Uncheck "Enable auto-sanning of sources"|OK
- Open the project (from issue 210053) http://netbeans.org/bugzilla/attachment.cgi?id=120568
2 processes are running:
- Activating Java SE
- Opening Projects (10%)
The IDE consumes 100% CPU and runs out of memory quickly
I can reproduce this every time. Took heap dump at about 200MBytes with VisualVM. It might be possible to get ad dump at higher use, but it is difficult - the longer I wait, the more time it takes because my computer then comes to a halt.
This dump has a compressed size of 45MBytes. I am not member of any upload service. Is it possible that you somehow receive this file?
if it isn't too great an inconvenience for you, it would be great to let netbeans run until OOME occurs and include THE heap dump generated by the OOME (or if you have one from the last OOME), I think attachment can be up to 50 MB, but I am not sure about it, so please try. Also please attach your messages.log file.
I found a heap dump heapdump.hprof.old in the var\log dir that I saved after the OOME. It is 456 MB. This is still 100MB compressed, and the limit for attachments seems to be 15MB. I tried to attach 45 MB but the file was rejected. What would be the best method to send this file?
If you don't want or cannot upload the file somewhere (dropbox, megashare), we cannot find out what is going on. We plan to provide ability to upload heap dumps, but this is not yet ready. Marking as INCOMPLETE until we get the heap dump somehow.
Steps are : start ide with new userdir (with ergonomics) -> do something (anything) in the options -> open some project (web or j2ee is best as it activates a lot of modules) to trigger activation of modules.
As a result the number of instances of
org.netbeans.modules.options.CategoryModel grows exponentially during the activation.
Problem is that the head dump contains excessive number of CategoryModel instances. In normal case this number should be close to one and the heap dump contains several thousands and the heap dump from duplicate issue #212687 contains tens of thousands of CategoryModel instances.
Fixed in profiler-main
user: Tomas Hurka <email@example.com>
date: Tue Jun 12 14:23:33 2012 +0200
summary: bugfix #213860, invoke removeLookupListener()on invalidated CategoryModel instance; do not create new CategoryModel instance when resultChanged() is invoked; make sure getInstance() static method is synchronized
Comment 27Quality Engineering
2012-06-13 06:10:09 UTC