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.
------------------------------------------------------------------------------- >Log Session: Thursday, August 31, 2006 11:27:19 PM PDT >System Info: Product Version = NetBeans 5.5 Beta 2 (Build 200607190830) Operating System = Linux version 2.6.9-1.667 running on i386 Java; VM; Vendor; Home = 1.5.0_06; Java HotSpot(TM) Client VM 1.5.0_06-b05; Sun Microsystems Inc.; /net/guitest3/quantum/ifdef/jvm/intel-Linux/j2sdk1.5.0_06/jre System Locale; Encoding = en_US (nb); UTF-8 Home Dir.; Current Dir. = /export/home/tester; /export/home/tester/netbeans-5.5beta2/bin Installation; User Dir. = /export/home/tester/netbeans-5.5beta2/nb5.5:/export/home/tester/netbeans-5.5beta2/ide7:/export/home/tester/netbeans-5.5beta2/enterprise3:/export/home/tester/netbeans-5.5beta2/harness:/export/home/tester/netbeans-5.5beta2/extra:/export/home/tester/netbeans-5.5beta2/cnd1:/export/home/tester/netbeans-5.5beta2/cnd1:/export/home/tester/netbeans-5.5beta2/platform6; /tmp/ppppp 1. Get Python which is used for dwarf tests. 2. run configure for Makefile creation 3. Create Makefile project, add as source folder Python main folder 4. Try to open ClassView -> Exception occured: java.lang.OutOfMemoryError: Java heap space
several prototypes were added to reduce the amount of used memory: 1) APT related: - after using token stream from APT we dispose unnecessary tokens and leave only APT structure (this gives us reducing from 51 to 46Mb - 10%) - responsible flag is "apt.dispose.token" - this approach is not safe, because by design APT supposed to be immutable, but now we parse only once => it is OK 2) String objects related: - use shared string Map for all APT tokens and CsmAST objects - this costs reducing in memory from 51 to 36Mb - 30% - responsible flag is "apt.share.text" So, as result we reduced by about 40% and I turned on "apt.share.text" (30% reducing) flag. What can be done additionally: - we can merge or even remove all non-structure responsible APT nodes from APT tree, the same note as above - APT is immutable - we can remove fake AST part, because now AST structure takes huge memory and it hanges in lazy parts of model
after using prototypes OOM still exists. Need to investigate memory dump provided by JVM 1.5.0_07 with option -XX:+HeapDumpOnOutOfMemoryError. Provided memory optimizations are part of IZ78222 (http://www.netbeans.org/issues/show_bug.cgi?id=78222)
I close this bug with workaround: - the memory used by Python is about 420M => start netbeans with options -J-Xmx512 in the future we need all OOM bugs to have dump of memory: - use java 1.5.0_07 - use options -J-XX:+HeapDumpOnOutOfMemoryError then give me the link on generated dump file to analyze it *** This issue has been marked as a duplicate of 78222 ***