PQ77139: MULTIPLE 390FY RUNS CORRUPT /TMP DIRECTORY DATA

 A fix may be available

Obtain the fix for this APAR



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.ear
Problem 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 information
APAR number PQ77139
Reported component name WEBSPHERE OS/39
Reported component ID 5655A9800
Reported release 401
Status CLOSED PER
PE NoPE
HIPER NoHIPER
Submitted date 2003-08-05
Closed date 2003-09-03
Last modified date 2003-10-03

APAR is sysrouted FROM one or more of the following:

APAR is sysrouted TO one or more of the following:

Modules/Macros
BBOUBINF EJSAMSGS EJSCASIN EJSCCLAS EJSCCMSV EJSCCNFG
EJSCJNUT EJSCJNWR EJSCLOAD EJSCLOGR EJSCOEUT EJSCOSUT
EJSCPLUG EJSCPLUT EJSCPOOL EJSCPROP EJSCRULS EJSCSTUB
EJSCSVHS EJSCVALD EJSCVERS EJSCWSUT EJSJMPRE EJSJMXML
EJSJSO02 EJSJSO04 EJSJWCSC EJSJWC02 EJSJWC03 EJSJWC04
EJSJWC06 EJSJWC14 EJSJWC15 EJSJWC16 EJSJWC17 EJSJWC18
EJSJWC19 EJSJWC29 EJSJWC30 EJSJWC31 EJSJWC32 EJSLNLS
EJSQ4001 EJSQ4002 EJSQ4003 EJSQ4004 EJSQ4005 EJSQ4006
EJSQ4007 EJSQ4008 EJSQ4009 EJSQ4010 EJSQ4011 EJSQ4012
EJSQ4013 EJSQ4014 EJSQ4015 EJSQ4016 EJSQ4017 EJSQ4018
EJSQ4019 EJSQ4020 EJSQ4021 EJSQ4022 EJSQ4023 EJSQ4024
EJSQ4025 EJSQ4026 EJSQ4027 EJSQ4028 EJSQ4029 EJSQ4030
EJSQ4031 EJSQ4032 EJSQ4033 EJSQ4034 EJSSBC10 EJSSBC11
EJSSMI03 EJSSWARW EJSTLDAT EJSXASIN EJSXDC02 EJSXHTTP
EJSXJVMX EJSXLWAP        

Fix information
Fixed component name WEBSPHERE OS/39
Fixed component ID 5655A9800

Applicable component levels
R401 PSY UQ79890    UP03/09/17 P F309

  Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.


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