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 247514

Summary: OOME 0.5G of strings created from currentTimeMillis by autoupdate(?)
Product: platform Reporter: dlwilson88
Component: AutoupdateAssignee: Libor Fischmeistr <lfischmeistr>
Status: NEW ---    
Severity: normal    
Priority: P3    
Version: 8.0   
Hardware: All   
OS: All   
Issue Type: DEFECT Exception Reporter: 212278
Attachments: stacktrace

Description dlwilson88 2014-09-27 15:26:24 UTC
Build: NetBeans IDE 8.0 (Build 201403101706)
VM: Java HotSpot(TM) 64-Bit Server VM, 25.11-b03, Java(TM) SE Runtime Environment, 1.8.0_11-b12
OS: Windows 8

User Comments:
dlwilson88: updating the ide




Stacktrace: 
java.lang.OutOfMemoryError: GC overhead limit exceeded
   at java.util.HashMap.resize(HashMap.java:703)
   at java.util.HashMap.putVal(HashMap.java:628)
   at java.util.HashMap.put(HashMap.java:611)
   at org.openide.modules.Dependency.create(Dependency.java:382)
   at org.netbeans.modules.autoupdate.updateprovider.DummyModuleInfo.parseDeps(DummyModuleInfo.java:201)
   at org.netbeans.modules.autoupdate.updateprovider.DummyModuleInfo.<init>(DummyModuleInfo.java:122)
Comment 1 dlwilson88 2014-09-27 15:26:26 UTC
Created attachment 149555 [details]
stacktrace
Comment 2 Jaroslav Tulach 2014-10-16 09:09:12 UTC
11M of strings eating up 0.5G of memory. 
225K org.openide.modules.Dependency instances.
28K of autoupdate elements is likely the reason why the rest is created.

There is enormous amount of strings representing a number like "1411823431889". The numbers vary at last digits so the value is likely representing currentTimeMillis. Who's creating strings with currentTimeMillis value? Maybe:

autoupdate.cli/src/org/netbeans/modules/autoupdate/cli/ModuleOptions.java:            ownUUP.add(UpdateUnitProviderFactory.getDefault().create(Long.toString(System.currentTimeMillis()), url.toExternalForm(), url));

Anyway passing to autoupdate for evaluation.