PQ77139: MULTIPLE 390FY RUNS CORRUPT /TMP DIRECTORY DATA | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() APAR status Closed as program error. Error description Customer has written a REXX script, which in turn invokes the 390fy tool to create resolved ear files. When this REXX script is run more than once in succession, the second invocation of the 390fy tool will write files to the /tmp directory, as the first invocation has, and will attempt to clean up this directory, while invocation #1 is writing to it. The 390fy run corrupts files belonging to the other 390fy instances that are running.Local fix Problem summary **************************************************************** * USERS AFFECTED: All users of WebSphere Application Server * * version 4.0.1 for z/OS and OS/390 * **************************************************************** * PROBLEM DESCRIPTION: Running multiple 390fy simultaneously * * in Unix System Services generates error * * message that indicates temporary file * * in /tmp is not found. * **************************************************************** * RECOMMENDATION: * **************************************************************** When running 390fy in multiple telnet sessions simultaneously, it causes the following error to occur: Invoking 390fy to create resolved ear file... java.lang.reflect.InvocationTargetException: com.ibm.etools.archive.exception.OpenFailureException: IWAJ0048E Could not open /tmp/uMOF.tmp.235051247.105823580.ear IWAJ0060E Stack trace of nested exception: java.io.FileNotFoundException: IWAJ0047E URI Name: /tmp/uMOF.tmp.235051247.105823580.ear; File name: /tmp/uMOF.tmp.235051247.105823580.earProblem conclusion This is a known limitation in 390fy due to a by-pass to work around the Java difference between Windows and UNIX platform that does not allow temporary files to be removed using java.io.File.delete() method. Hence, 390fy currently checks the TEMP directory to remove previously created temporary files before starting a new execution. This obviously does not allow users to invoke more than ONE 390fy call at a time. This fix will allow users' to specify their own temporary directory for each 390fy invocation along with java min/max heap size to customize memory usage in order to avoid OutOfMemory error when invoking 390fy within a customized user script which can launch more than one 390fy execution in parallel. In order to use this support, one needs to follow the directions given below to manually specify their own temporary directory for each 390fy invocation plus clean up each temporary directory appropriately for controlling disk space usage. 1. create a temporary directory. e.g. /my_dir/> mkdir tmp_dir 2. set _390FY_TMPDIR environment var to this new temp dir. e.g. /my_dir/> export _390FY_TMPDIR=/my_dir/tmp_dir 3. optional set _390FY_JAVA_XMS or _390FY_JAVA_XMX to customize the Java min/max heapsize for this execution. note: default Java min heapsize = -Xms256M default Java max heapsize = -Xmx512M e.g. /my_dir/> export _390FY_JAVA_XMS=128M /my_dir/> export _390FY_JAVA_XMX=256M 3. run 390fy. e.g. /my_dir/> 390fy ... MyEnterpriseApp.ear 4. remove this temporary directory along with the temporary files created during previous session for clean up. e.g. /my_dir/> rm -r tmp_dir The following publication will be revised as a result of APAR PQ77139: ________________________________________________________________ WebSphere Application Server for z/OS and OS/390 System Management Scripting API SA22-7839-06 ________________________________________________________________ NOTE: Periodically, we refresh the documentation on our Web site, so these changes might have been made before you read this text. To access the latest on-line documentation, go to the product library page at: www.ibm.com/software/webservers/appserv/zos_os390/library/ ________________________________________________________________ Chapter 5 / Steps for installing 390fy, pg. 180 (new text) Put the actual changes here in text form. Warning: When running 390fy in multiple telnet sessions simultaneously, it causes the following error to occur: Invoking 390fy to create resolved ear file... java.lang.reflect.InvocationTargetException: com.ibm.etools.archive.exception.OpenFailureException: IWAJ0048E Could not open /tmp/uMOF.tmp.235051247.105823580.ear IWAJ0060E Stack trace of nested exception: java.io.FileNotFoundException: IWAJ0047E URI Name: /tmp/uMOF.tmp.235051247.105823580.ear; File name: /tmp/uMOF.tmp.235051247.105823580.ear This is a known limitation in 390fy due to a by-pass to work around the Java difference between Windows and UNIX platform that does not allow temporary files to be removed using java.io.File.delete() method. Hence, 390fy currently checks the TEMP directory to remove previously created temporary files before starting a new execution. This obviously does not allow users to invoke more than ONE 390fy call at a time. This fix will allow users' to specify their own temporary directory for each 390fy invocation along with java min/max heap size to customize memory usage in order to avoid OutOfMemory error when invoking 390fy within a customized user script which can launch more than one 390fy execution in parallel. In order to use this support, one needs to follow the directions given below to manually specify their own temporary directory for each 390fy invocation plus clean up each temporary directory appropriately for controlling disk space usage. 1. create a temporary directory. e.g. /my_dir/> mkdir tmp_dir 2. set _390FY_TMPDIR environment var to this new temp dir. e.g. /my_dir/> export _390FY_TMPDIR=/my_dir/tmp_dir 3. optional set _390FY_JAVA_XMS or _390FY_JAVA_XMX to customize the Java min/max heapsize for this execution. note: default Java min heapsize = -Xms256M default Java max heapsize = -Xmx512M e.g. /my_dir/> export _390FY_JAVA_XMS=128M /my_dir/> export _390FY_JAVA_XMX=256M 3. run 390fy. e.g. /my_dir/> 390fy ... MyEnterpriseApp.ear 4. remove this temporary directory along with the temporary files created during previous session for clean up. e.g. /my_dir/> rm -r tmp_dir ________________________________________________________________ APAR PQ77139 is associated with SERVICE LEVEL W401600 of WebSphere Application Server version 4.0.1 for z/OS and OS/390.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
|
Document Information |
Product categories: Software > Application Servers >
Distributed Application & Web Servers > WebSphere Application
Server for z/OS
Operating system(s):
Software version: 401
Software edition:
Reference #: PQ77139
IBM Group: Software Group
Modified date: Oct 3, 2003
(C) Copyright IBM Corporation 2000, 2006. All Rights Reserved.