PQ79471: JAVA.LANG.VERIFYERROR: OUT OF MEMORY WHEN INSTALLING AN .EAR AND EJB DEPLOY BOX CHECKED. | |||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||
![]() APAR status Closed as program error. Error description Installing a new application that contains EJBs results in a java out of memory error, java.lang.OutOfMemoryError. The exception received in the log is... EJBDeploy java.lang.VerifyError: (class: any.classname) Out Of Memory Followed by a none unique java stack trace. The JVM HEAP that ran out of memory is NOT in the AppServer or DeploymentManager. The EJB Deploy process runs a shell script that starts a process, this is the process that runs out of memory. There are 2 ejbdeploy.sh scripts on the HFS. One is a stub and lives in websphere_root/AppServer/bin/ejbdeploy , this one is a stub and calls the second. The second is in /usr/lpp/zWebSphere/V5R0M0/deploytool/itp/plugins/com.ibm.etools .ejbdeploy/binary/ejbdeploy.sh and is the smpe install directory and probably R/O mounted, can NOT be changed.Local fix 1) use the AAT to generate the deployment and rmic code. In this case you would NOT have to check the EJB Deploy box. This is probably the easiest. 2) - copy the R/O version of /usr/lpp/zWebSphere/V5R0M0/deploytool/itp/plugins/com.ibm.etools .ejbdeploy/binary/ejbdeploy.sh to websphere_root/AppServer/bin with a new name. I used NEWejbdeploy.sh - set EJBD_HEAP_FLAG="-Xms64m -Xmx512m" in NEWejbdeploy.sh - run NEWejbdeploy example: NEWejbdeploy.sh my.ear /tmp/myworkdir /my_out.ear | a2e parms are: - your ear - a R/W working directory - ear that is to be createdProblem summary **************************************************************** * USERS AFFECTED: All users of WebSphere Application Server * * V5.0 for z/OS * **************************************************************** * PROBLEM DESCRIPTION: Java.lang.verifyerror: Out of Memory * * when installing an ear and EJB Deploy * * box checked. * **************************************************************** * RECOMMENDATION: * **************************************************************** A java.lang.verifyerror: OutofMemory error occurs when the default JVM Heap size for ejbdeploy.sh is not adequate for large applications with EJB's. Need to be able to increase the JVM Heap as well as change other JVM options during EJB deploy.Problem conclusion Code was updated to allow changing JVM options for ejbdeploy with the use of a new option(EJBDEPLOY_JVM_OPTIONS) that can be set in <config_root>/DeploymentManager/bin/setupCmdLine.sh or for Base in <config_root>/AppServer/bin/setupCmdLine.sh to override current JVM options for EJB deploy (e.g. export EJBDEPLOY_JVM_OPTIONS="-Xms128m -Xmx512m"). *Note: If at JAVA level SR23 and NOT at WebSphere maintenance level W502007 or above, problems may occur when installing an application via the Administrative Console with EJB Deploy box checked. This APAR also fixes the problem with getting ascii output from ejbdeploy.sh that is unreadable on Unix System Services(USS) shell for z/OS. Previously ejbdeploy.sh output was only in ascii. For USS, the output should be in ebcdic so it is readable. The new ejbdeploy.sh code handles this and no user action is necessary. APAR PQ79471 requires a change to the InfoCenter. To access the latest online documentation, go to the product library page at: www.ibm.com/software/webservers/appserv/zos_os390/library/ The change is to InfoCenter article rtrb_ejbdeploy390, which now includes the following text: EJBDEPLOY_JVM_OPTIONS Set the EJBDEPLOY_JVM_OPTIONS property to override the Java virtual machine (JVM) options that are passed to the code that deploys the EJBs (ejbdeploy.sh). Set this property in one of the following locations: deploymentmanager/bin/setupCmdLine.sh or appServerHome/bin/setupCmdLine.sh For example, the following command increases the heap size of the JVM for ejbdeploy.sh: export EJBDEPLOY_JVM_OPTIONS="-Xms128m -Xmx512m" APAR PQ79471 is associated with SERVICE LEVEL W502007 of WebSphere Application Server V5.0 for z/OS.Temporary fix Comments
APAR is sysrouted FROM one or more of the following: APAR is sysrouted TO one or more of the following: Modules/Macros
Publications Referenced
|
Document Information |
Current web document: swg1PQ79471.html
Product categories: Software > Application Servers >
Distributed Application & Web Servers > WebSphere Application
Server for z/OS
Operating system(s):
Software version: 500
Software edition:
Reference #: PQ79471
IBM Group: Software Group
Modified date: Jul 16, 2004
(C) Copyright IBM Corporation 2000, 2009. All Rights Reserved.