IBM Support

Java.lang.OutOfMemoryError: PermGen space issues might occur when creating custom Deployment Environment profile

Troubleshooting


Problem

Java.lang.OutOfMemoryError: PermGen space error occurs when performing an addNode operation while creating a custom Deployment Environment profile on Solaris or HP-UX operating systems.

Symptom

Creating a deployment environment profile on a Sun Solaris or HP-UX system might fail with an OutOfMemoryError: PermGen exception if the option was specified to add the node as part of profile creation. This failure might occur as part of the addNode operation with the failure message found in the runAddNode.log file. The failure will have a message similar to the following:

Permanent generation is full...
increase MaxPermSize (current capacity is set to: 67108864 bytes)

java.lang.OutOfMemoryError: PermGen space
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:160)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:550)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:520)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:451)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:439)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:419)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:188)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:334)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:386)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:347)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:83)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.util.ResourceBundle$Control.newBundle(ResourceBundle.java:2383)
at java.util.ResourceBundle.loadBundle(ResourceBundle.java:1406)
at java.util.ResourceBundle.findBundle(ResourceBundle.java:1365)
at java.util.ResourceBundle.findBundle(ResourceBundle.java:1292)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1234)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:962)
at com.ibm.xml.xci.XCIRegistry.loadProperties(Unknown Source)
at com.ibm.xml.xci.XCIRegistry.registerFactoryFromProperties(Unknown Source)
at com.ibm.xml.xci.XCIRegistry.<init>(Unknown Source)
at com.ibm.xml.xci.XCIRegistry.<init>(Unknown Source)
at com.ibm.xml.xci.XCIRegistry.getInstance(Unknown Source)
at com.ibm.xml.xci.SessionContext.<init>(Unknown Source)
at com.ibm.xml.xci.SessionContext.<init>(Unknown Source)
at com.ibm.xml.sdo.helper.HelperContextImpl.<init>(Unknown Source)
at com.ibm.ws.sdox.extension.HelperContextImplExt.<init>(Unknown Source)
at com.ibm.ws.box.bomodel.impl.BOHelperContextImpl.<init>(BOHelperContextImpl.java:33)
at com.ibm.ws.box.bomodel.impl.BOHelperContextFactoryImpl.basicCreate(BOHelperContextFactoryImpl.java:21)
at com.ibm.xml.sdo.helper.HelperContextFactoryImpl.createHelperContext(Unknown Source)

Cause

The addNode.sh command does not specify a PermSize. Without this value, the permanent storage area of the Java™ virtual machine (JVM) uses a default size of 64MB. The addNode operation for a WebSphere Process Server and WebSphere Enterprise Service Bus node loads more classes than a WebSphere Application Server node. Therefore, the permanent storage area is exceeded, which generates an OutOfMemoryError.

Environment

This issue occurs with WebSphere Process Server or WebSphere Enterprise Service Bus that is running on Solaris or HP-UX operating systems.

Diagnosing The Problem

If a Deployment Environment profile creation fails when the addNode option is specified, check the runAddNode.log file for java.lang.OutOfMemoryError: PermGen space errors.

Resolving The Problem

To resolve this problem, include the -XX:PermSize Java Virtual Machine (JVM) option in the addNode.sh file.

For example:
-XX:PermSize=256m
This value increases the minimum size of the permanent region to 256MB.

This value increases the resources that are committed to the permanent region.
For additional information, see the Usage scenario section of the syncNode command documentation in the WebSphere Application Server Information Center.

[{"Product":{"code":"SSQH9M","label":"WebSphere Process Server"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Hangs\/OutofMemory","Platform":[{"code":"PF010","label":"HP-UX"},{"code":"PF027","label":"Solaris"}],"Version":"7.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}},{"Product":{"code":"SS7J6S","label":"WebSphere Enterprise Service Bus"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"General","Platform":[{"code":"PF010","label":"HP-UX"},{"code":"PF027","label":"Solaris"}],"Version":"7.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

More support for:
WebSphere Process Server

Software version:
7.0

Operating system(s):
HP-UX, Solaris

Document number:
399127

Modified date:
15 June 2018

UID

swg21419221

Manage My Notification Subscriptions