Forum Discussion

massimo's avatar
massimo
Occasional Contributor
10 years ago

PermGen space error

I have a soapui test that contains more than 20 project; each project contain different groovy test case

 

If execute all the project, after the execution of same projects I have the following error: An error occurred [PermGen space].

 

I modify the soapui.bat file adding the "-XX:MaxPermSize=512m" parameter to JAVA_OPTS but the problem is still present.

 

Any suggestion on how fix the problem ?

 

Regards

Massimo

  • massimo's avatar
    massimo
    Occasional Contributor

    I add the following options to JAVA_OPTS in soapui.bat but the problem is still present:

     

    -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled

     

    Massimo

  • massimo's avatar
    massimo
    Occasional Contributor

    The error is:

     

    2015-11-16 09:42:13,692 ERROR [errorlog] cannot get error line number!
    2015-11-16 09:42:13,692 ERROR [errorlog] java.lang.IllegalStateException: No match found
    java.lang.IllegalStateException: No match found
    at java.util.regex.Matcher.group(Unknown Source)
    at com.eviware.soapui.support.GroovyUtils.extractErrorLineNumber(GroovyUtils.java:132)
    at com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:163)
    at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.runTestStep(AbstractTestCaseRunner.java:211)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runCurrentTestStep(WsdlTestCaseRunner.java:47)
    at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.internalRun(AbstractTestCaseRunner.java:138)
    at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.internalRun(AbstractTestCaseRunner.java:46)
    at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:129)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    2015-11-16 09:42:13,693 ERROR [errorlog] java.lang.OutOfMemoryError: PermGen space
    java.lang.OutOfMemoryError: PermGen space

  • massimo's avatar
    massimo
    Occasional Contributor

    In soapui.bat I modify the JAVA_OPTS as follow:

     

    set JAVA_OPTS=-d64 -Xms512m -Xmx4096m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=40 -Dsoapui.properties=soapui.properties "-Dsoapui.home=%SOAPUI_HOME%\" -splash:SoapUI-Spashscreen.png

     

    Nothing change. After the PermGen spce error I create a dump file with the command:

     

    jmap.exe -J-d64 -dump:format=b,file="C:\Max\Dump\dump_soapui" <pid>

     

    With Eclipse Memory Analizer I have the following leaks:

     

    2.908 instances of "com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep", loaded by "sun.misc.Launcher$AppClassLoader @ 0xe0192260" occupy 67.045.640 (35,76%) bytes. These instances are referenced from one instance of "java.util.HashMap$Entry[]", loaded by "<system class loader>"

    Keywords
    sun.misc.Launcher$AppClassLoader @ 0xe0192260
    java.util.HashMap$Entry[]
    com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep

     

    701 instances of "groovy.lang.MetaClassImpl", loaded by "sun.misc.Launcher$AppClassLoader @ 0xe0192260" occupy 20.116.784 (10,73%) bytes.

    Keywords
    groovy.lang.MetaClassImpl
    sun.misc.Launcher$AppClassLoader @ 0xe0192260

     

    16.366 instances of "java.lang.String", loaded by "<system class loader>" occupy 18.764.088 (10,01%) bytes.

    Keywords
    java.lang.String