This error very often occurs when i'm working
with web service clients. Sometimes also when i'm
working with web services.
I have never recieved this error when i was
working with projects without web services/ws-clients.
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
- 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.
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
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
holds its own URL classloader. All these dialog are held through this
chain (thanks to Insane):
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.
new revision: 1.3; previous revision: 1.2
rkubacki, could you please commit the fix also to beta branch?
new revision: 22.214.171.124; 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
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...