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.
Summary: | java.lang.OutOfMemoryError: PermGen space | ||
---|---|---|---|
Product: | webservices | Reporter: | Lukas Jungmann <jungi> |
Component: | Code | Assignee: | _ rkubacki <rkubacki> |
Status: | CLOSED FIXED | ||
Severity: | blocker | CC: | issues, lkotouc |
Priority: | P1 | Keywords: | PERFORMANCE |
Version: | 4.x | ||
Hardware: | PC | ||
OS: | Windows XP | ||
Issue Type: | DEFECT | Exception Reporter: | |
Attachments: | projects for reproducing this |
Description
Lukas Jungmann
2005-02-16 09:41:33 UTC
I don't have exact steps to reproduce this issue. Some problems which may occur after this Error: - all web service clients are removed from web service registry in runtime tab - IDE does not store all of its settings (there's some timeout) and this implies problems for the next runs of IDE Other problem which may occur: - if the appserver is running then it is not stopped by IDE and IDE's console window remains open for a long time (I'm talking about time from minutes to tens of minutes, not about seconds) and only way how to close it earlier is to "kill" it . 1. create web module with web service 2. run/deploy web module 3. add web service into registry 4. create web module with web service client (of 1.) 5. create servlet in web module 4. 6. add web service call into this servlet 7. debug web module (from 4.) 6. experiment with servlet (add breakpoint, step inside of it, step into web service). After a while (during first or second ws call) the OOE: PermGen space error displays and only way how to end the IDE is kill it. I use: Windows XP SP1, JDK1.5.0_03-ea (JVM Java Hotspot Client VM 1.5.0_03-b03), trunk build of NB4.1, Sun App Server 8.1 (build b41-fcs). IDE is run with following parameters: nb.exe -J-Xmx512M -J-Xdebug -J-Xrunjdwp:server=y,transport=dt_socket,address=1111,suspend=n This error occures on Linux, too. I'll work with PERF team on this one. reassigning to myself. It seems that there can be problem with web service testing - when trying to test a ws operation a bunch of classes is loaded and after several iterations I get to some strange state. Though there is no OOME I lost AWT thread and jstats reports 18528 Loaded vs 4760 Unloaded classes and 65535.1 kB of 65536.0 in PermGen used. Though I did not get OOME I have a reproducible test that eats continually PermGen (and heap as well but not so fast). Have an IDE + web module w/ web service having at least two operation that can be deployed to SJAS. Start IDE, start app server and add WS to registry. Test all these operations repeatedly. After each iteration there is a new org.netbeans.modules.websvc.registry.ui.TestWebServiceMethodDlg that holds its own URL classloader. All these dialog are held through this chain (thanks to Insane): sun.awt.SunToolkit.peerMap-> sun.awt.AWTAutoShutdown$PeerMap@1774-> [Ljava.util.Hashtable$Entry;@34cc-> java.util.Hashtable$Entry@64bd-> sun.awt.X11.XDialogPeer@a921-> org.netbeans.core.windows.services.NbDialog@a91b-> org.netbeans.modules.websvc.registry.ui.TestWebServiceMethodDlg@efda Now when dispose is called the VM can collect unused classes and their classloader and it does not grow over 7800 classes in my test case. Checking in websvc/registry/src/org/netbeans/modules/websvc/registry/ui/TestWebServiceMethodDlg.java; /cvs/websvc/registry/src/org/netbeans/modules/websvc/registry/ui/TestWebServiceMethodDlg.java,v <-- TestWebServiceMethodDlg.java new revision: 1.3; previous revision: 1.2 rkubacki, could you please commit the fix also to beta branch? Checking in websvc/registry/src/org/netbeans/modules/websvc/registry/ui/TestWebServiceMethodDlg.java; /cvs/websvc/registry/src/org/netbeans/modules/websvc/registry/ui/TestWebServiceMethodDlg.java,v <-- TestWebServiceMethodDlg.java new revision: 1.2.8.1; previous revision: 1.2 Didn't see it in several latest builds, so marked as verified. I have to reopen this because I'm able to reproduce this again in latest 5.5 build, but only using jdk 1.5.0_06-64bit on winXP-64bit - so reopening with lower priority. Current steps are: -start IDE with clean userdir -register glassfish (promoted build 43) -open all attached projects at once -resolve missing dependencies (required library is in $GLASSFISH_HOME/lib) -deploy "HelloEndService" project -add HelloService to the registry (using Add to registry action on ws node) -test operations of HelloService -deploy "PingHelloService" project -add PingHelloService to the registry (using Add to registry action on ws node) -test "getPing" operation on PingHelloService websvc -test "getPingPerson" operation on PingHelloService websvc => OOME: PermGen space Note: it does not occur when I use 32bit JDK and it seems to be unreproducible on 32bit windows too Created attachment 29667 [details]
projects for reproducing this
Rather than reopening this one I suggest to close it and track the problem of 64-bit VM in issue #73553. This original one was about different bug. Can you add your comment there? Thanks for the pointer to correct issue, my comments will be moved there... Setting issue to the previous state... which was closed... |