I have been running Tomcat 5.5.20 under JZOS 1.2.5 for over a year and it has worked great. I recently downloaded JZOS 2.2.1 and installed it. The sample "hello world" program runs fine. I switched my Tomcat Proc over to use JZOS 2.2.1 and the proc starts to run and spawns another task and just "hangs". It does the same thing whether I run it as a job or a started task. I changed back to JZOS 1.2.5, and the I get the same results. It goes into a "SWAPPED,FILE SYS KERNEL WAIT" before the jvm is initialized.
The last thing written to SYSOUT is:
JVMJZBL1001N JZOS batch Launcher Version: 2.2.1 Alphaworks 2007-11-19
JVMJZBL1002N Copyright (C) IBM Corp. 2005. All rights reserved.
I assume that it is waiting on a file that is unavailable, but I don't know what it would be.
I would appreciate any help that anyone can offer.
Thanks,
Russ
My Tomcat is down and I can't get it up.
Trace Output
Here is my JZOS output with the trace:
01:49:54 JZOSVM50(N): log level has been set to: T
01:49:54 JZOSVM50(T): -> JzosVM()
01:49:54 JZOSVM50(N): Copyright (C) IBM Corp. 2006. All rights reserved.
01:49:54 JZOSVM50(N): Version 1.2.5
01:49:54 JZOSVM50(T): <- JzosVM()
01:49:54 JZOSVM50(T): -> run()
01:49:54 JZOSVM50(I): Region requested = 512M, Actual below/above limit = 10M / 512M
01:49:54 JZOSVM50(T): -> adoptEnvironment()
01:49:55 JZOSVM50(T): Writing shell script to child's stdin:
01:49:55 JZOSVM50(T): # This is a shell script which configures
01:49:55 JZOSVM50(T): # any environment variables for the Java JVM.
01:49:55 JZOSVM50(T): # Variables must be exported to be seen by the launcher.
01:49:55 JZOSVM50(T): . /etc/profile
01:49:55 JZOSVM50(T): export JZOS_HOME=/prod/jzos/JZOS_HOME
01:49:55 JZOSVM50(T): export JAVA_HOME=/usr/lpp/java/J5.0
01:49:55 JZOSVM50(T): TOMCAT_HOME=/test/tomcat/TOMCAT_HOME
01:49:55 JZOSVM50(T):
01:49:55 JZOSVM50(T): export PATH=/bin:"${JAVA_HOME}"/bin:
01:49:55 JZOSVM50(T):
01:49:55 JZOSVM50(T): LIBPATH=/lib:/usr/lib:"${JAVA_HOME}"/bin
01:49:55 JZOSVM50(T): LIBPATH="$LIBPATH":"${JAVA_HOME}"/bin/classic
01:49:55 JZOSVM50(T): LIBPATH="$LIBPATH":"${JZOS_HOME}"
01:49:55 JZOSVM50(T): export LIBPATH="$LIBPATH":
01:49:55 JZOSVM50(T):
01:49:55 JZOSVM50(T): CLASSPATH="${JAVA_HOME}/lib/tools.jar"
01:49:55 JZOSVM50(T): CLASSPATH="$CLASSPATH":"${TOMCAT_HOME}/bin/bootstrap.jar"
01:49:55 JZOSVM50(T): CLASSPATH="$CLASSPATH":"${JZOS_HOME}/jzos.jar"
01:49:55 JZOSVM50(T): export CLASSPATH="$CLASSPATH":
01:49:55 JZOSVM50(T):
01:49:55 JZOSVM50(T): # Set JZOS specific options
01:49:55 JZOSVM50(T): # Use this variable to specify encoding for DD STDOUT and STDERR
01:49:55 JZOSVM50(T): #export JZOS_OUTPUT_ENCODING=Cp1047
01:49:55 JZOSVM50(T): # Use this variable to prevent JZOS from handling MVS operator commands
01:49:55 JZOSVM50(T): #export JZOS_ENABLE_MVS_COMMANDS=false
01:49:55 JZOSVM50(T): # Use this variable to supply additional arguments to main
01:49:55 JZOSVM50(T): #export JZOS_MAIN_ARGS=""
01:49:55 JZOSVM50(T):
01:49:55 JZOSVM50(T): # Configure JVM options
01:49:55 JZOSVM50(T): # Note that Tomcat requires default ASCII file.encoding
01:49:55 JZOSVM50(T): IJO="-Xms64m -Xmx128m"
01:49:55 JZOSVM50(T): IJO="$IJO -Dfile.encoding=ISO8859-1"
01:49:55 JZOSVM50(T): IJO="$IJO -Djzos.home=${JZOS_HOME}"
01:49:55 JZOSVM50(T): IJO="$IJO -Dcatalina.base=${TOMCAT_HOME}"
01:49:55 JZOSVM50(T): IJO="$IJO -Dcatalina.home=${TOMCAT_HOME}"
01:49:55 JZOSVM50(T): IJO="$IJO -Djava.io.tmpdir=${TOMCAT_HOME}/temp"
01:49:55 JZOSVM50(T): IJO="$IJO -Djava.endorsed.dirs="
01:49:55 JZOSVM50(T): IJO="${IJO}${TOMCAT_HOME}/common/endorsed"
01:49:55 JZOSVM50(T): # Uncomment the following if you want to run without JIT
01:49:55 JZOSVM50(T): #IJO="$IJO -Djava.compiler=NONE"
01:49:55 JZOSVM50(T): export IBM_JAVA_OPTIONS="$IJO "
01:49:55 JZOSVM50(T):
01:49:55 JZOSVM50(T): export JAVA_DUMP_HEAP=false
01:49:55 JZOSVM50(T): export JAVA_PROPAGATE=NO
01:49:55 JZOSVM50(T): export IBM_JAVA_ZOS_TDUMP=NO
01:49:55 JZOSVM50(D): Output from DD:STDENV config shell script:
01:49:56 JZOSVM50(D): Starting hfscheck
01:49:56 JZOSVM50(D): lcat failed RC 4
01:49:56 JZOSVM50(D): return code=
01:49:56 JZOSVM50(D): 386400258
01:49:56 JZOSVM50(D): No Catalog Alias
01:49:58 JZOSVM50(D):
01:49:58 JZOSVM50(D): Group: OMVSGRP
01:49:58 JZOSVM50(D):
01:49:59 JZOSVM50(D): chown: FSUM6180 file "/u/INETD": EDC5129I No such file or directory.
01:49:59 JZOSVM50(D): chmod: FSUM6188 stat file "/u/INETD": EDC5129I No such file or directory.
01:50:00 JZOSVM50(D): cd: /etc/profile 310: .: /u/INETD: EDC5129I No such file or directory.
01:50:00 JZOSVM50(D):
01:50:00 JZOSVM50(D): HOME Directory: /u/INETD
01:50:00 JZOSVM50(D):
Thanks for your help,
Russ
01:49:54 JZOSVM50(N): log level has been set to: T
01:49:54 JZOSVM50(T): -> JzosVM()
01:49:54 JZOSVM50(N): Copyright (C) IBM Corp. 2006. All rights reserved.
01:49:54 JZOSVM50(N): Version 1.2.5
01:49:54 JZOSVM50(T): <- JzosVM()
01:49:54 JZOSVM50(T): -> run()
01:49:54 JZOSVM50(I): Region requested = 512M, Actual below/above limit = 10M / 512M
01:49:54 JZOSVM50(T): -> adoptEnvironment()
01:49:55 JZOSVM50(T): Writing shell script to child's stdin:
01:49:55 JZOSVM50(T): # This is a shell script which configures
01:49:55 JZOSVM50(T): # any environment variables for the Java JVM.
01:49:55 JZOSVM50(T): # Variables must be exported to be seen by the launcher.
01:49:55 JZOSVM50(T): . /etc/profile
01:49:55 JZOSVM50(T): export JZOS_HOME=/prod/jzos/JZOS_HOME
01:49:55 JZOSVM50(T): export JAVA_HOME=/usr/lpp/java/J5.0
01:49:55 JZOSVM50(T): TOMCAT_HOME=/test/tomcat/TOMCAT_HOME
01:49:55 JZOSVM50(T):
01:49:55 JZOSVM50(T): export PATH=/bin:"${JAVA_HOME}"/bin:
01:49:55 JZOSVM50(T):
01:49:55 JZOSVM50(T): LIBPATH=/lib:/usr/lib:"${JAVA_HOME}"/bin
01:49:55 JZOSVM50(T): LIBPATH="$LIBPATH":"${JAVA_HOME}"/bin/classic
01:49:55 JZOSVM50(T): LIBPATH="$LIBPATH":"${JZOS_HOME}"
01:49:55 JZOSVM50(T): export LIBPATH="$LIBPATH":
01:49:55 JZOSVM50(T):
01:49:55 JZOSVM50(T): CLASSPATH="${JAVA_HOME}/lib/tools.jar"
01:49:55 JZOSVM50(T): CLASSPATH="$CLASSPATH":"${TOMCAT_HOME}/bin/bootstrap.jar"
01:49:55 JZOSVM50(T): CLASSPATH="$CLASSPATH":"${JZOS_HOME}/jzos.jar"
01:49:55 JZOSVM50(T): export CLASSPATH="$CLASSPATH":
01:49:55 JZOSVM50(T):
01:49:55 JZOSVM50(T): # Set JZOS specific options
01:49:55 JZOSVM50(T): # Use this variable to specify encoding for DD STDOUT and STDERR
01:49:55 JZOSVM50(T): #export JZOS_OUTPUT_ENCODING=Cp1047
01:49:55 JZOSVM50(T): # Use this variable to prevent JZOS from handling MVS operator commands
01:49:55 JZOSVM50(T): #export JZOS_ENABLE_MVS_COMMANDS=false
01:49:55 JZOSVM50(T): # Use this variable to supply additional arguments to main
01:49:55 JZOSVM50(T): #export JZOS_MAIN_ARGS=""
01:49:55 JZOSVM50(T):
01:49:55 JZOSVM50(T): # Configure JVM options
01:49:55 JZOSVM50(T): # Note that Tomcat requires default ASCII file.encoding
01:49:55 JZOSVM50(T): IJO="-Xms64m -Xmx128m"
01:49:55 JZOSVM50(T): IJO="$IJO -Dfile.encoding=ISO8859-1"
01:49:55 JZOSVM50(T): IJO="$IJO -Djzos.home=${JZOS_HOME}"
01:49:55 JZOSVM50(T): IJO="$IJO -Dcatalina.base=${TOMCAT_HOME}"
01:49:55 JZOSVM50(T): IJO="$IJO -Dcatalina.home=${TOMCAT_HOME}"
01:49:55 JZOSVM50(T): IJO="$IJO -Djava.io.tmpdir=${TOMCAT_HOME}/temp"
01:49:55 JZOSVM50(T): IJO="$IJO -Djava.endorsed.dirs="
01:49:55 JZOSVM50(T): IJO="${IJO}${TOMCAT_HOME}/common/endorsed"
01:49:55 JZOSVM50(T): # Uncomment the following if you want to run without JIT
01:49:55 JZOSVM50(T): #IJO="$IJO -Djava.compiler=NONE"
01:49:55 JZOSVM50(T): export IBM_JAVA_OPTIONS="$IJO "
01:49:55 JZOSVM50(T):
01:49:55 JZOSVM50(T): export JAVA_DUMP_HEAP=false
01:49:55 JZOSVM50(T): export JAVA_PROPAGATE=NO
01:49:55 JZOSVM50(T): export IBM_JAVA_ZOS_TDUMP=NO
01:49:55 JZOSVM50(D): Output from DD:STDENV config shell script:
01:49:56 JZOSVM50(D): Starting hfscheck
01:49:56 JZOSVM50(D): lcat failed RC 4
01:49:56 JZOSVM50(D): return code=
01:49:56 JZOSVM50(D): 386400258
01:49:56 JZOSVM50(D): No Catalog Alias
01:49:58 JZOSVM50(D):
01:49:58 JZOSVM50(D): Group: OMVSGRP
01:49:58 JZOSVM50(D):
01:49:59 JZOSVM50(D): chown: FSUM6180 file "/u/INETD": EDC5129I No such file or directory.
01:49:59 JZOSVM50(D): chmod: FSUM6188 stat file "/u/INETD": EDC5129I No such file or directory.
01:50:00 JZOSVM50(D): cd: /etc/profile 310: .: /u/INETD: EDC5129I No such file or directory.
01:50:00 JZOSVM50(D):
01:50:00 JZOSVM50(D): HOME Directory: /u/INETD
01:50:00 JZOSVM50(D):
Thanks for your help,
Russ
Russ,
It's not clear what is causing the hang, but you have several issues that should be looked at. You're running Tomcat under UID 0, which is almost certainly not a good idea. This is causing you not to be able to find home directory somewhere in your installation's /etc/profile.
Sorry we can't be of any more help.
It's not clear what is causing the hang, but you have several issues that should be looked at. You're running Tomcat under UID 0, which is almost certainly not a good idea. This is causing you not to be able to find home directory somewhere in your installation's /etc/profile.
Sorry we can't be of any more help.
I am still having the same problem, but I have some extra details that may give someone a clue about what is going on.
We have three MVS LPARS in our shop (test, development, and production). Before the problems, I had one Tomcat image running in development and one in production. I brought down the dev Tomcat to switch from JZOS 1.2.5 to 2.2.1. I never could get Tomcat back up with either JZOS 1.2.5 or 2.2.1. I was, however able to bring up the same Tomcat image in our test lpar. I have been running it there for the last week or so. This morning it will no longer come up in the test lpar. I cannot think of anything that changed from yesterday to today.
I have tried running it under different profiles, and I even did a fresh install of Tomcat. I am running out of troubleshooting ideas. Any suggestion will be greatly appreciated.
Russ
We have three MVS LPARS in our shop (test, development, and production). Before the problems, I had one Tomcat image running in development and one in production. I brought down the dev Tomcat to switch from JZOS 1.2.5 to 2.2.1. I never could get Tomcat back up with either JZOS 1.2.5 or 2.2.1. I was, however able to bring up the same Tomcat image in our test lpar. I have been running it there for the last week or so. This morning it will no longer come up in the test lpar. I cannot think of anything that changed from yesterday to today.
I have tried running it under different profiles, and I even did a fresh install of Tomcat. I am running out of troubleshooting ideas. Any suggestion will be greatly appreciated.
Russ
I have another quick update.
It seems that the problem is not related to Tomcat specifically, but JZOS in general. I am having the same problem trying to run the JZOS "helloworld" sample program. The job starts and then just hangs. I don't see any errors in the log or the trace. It looks like it is hangs right before the JVM is initialized.
Russ
It seems that the problem is not related to Tomcat specifically, but JZOS in general. I am having the same problem trying to run the JZOS "helloworld" sample program. The job starts and then just hangs. I don't see any errors in the log or the trace. It looks like it is hangs right before the JVM is initialized.
Russ
I seem to have resolved the problem although I don't know what exactly was causing it.
I found a post on the JZOS forum that talked about a JZOS child process hanging. It was suggested to comment out /etc/profile in the startup config script. When I did that, Tomcat came up fine. Nothing has changed recently in our /etc/profile, so I don't know why we started having problems all of a sudden, but it appears I found the fix.
Russ
I found a post on the JZOS forum that talked about a JZOS child process hanging. It was suggested to comment out /etc/profile in the startup config script. When I did that, Tomcat came up fine. Nothing has changed recently in our /etc/profile, so I don't know why we started having problems all of a sudden, but it appears I found the fix.
Russ