Return code 3000

Issues and Questions related to running Apache Tomcat on z/OS
Post Reply
jriemer
Posts: 25
Joined: Thu Jul 06, 2006 11:15 am

Return code 3000

Post by jriemer » Fri Jun 10, 2011 4:25 pm

Receiving return code 3000 after Tomcat startup messages issued, culminating with:

Jun 10, 2011 8:06:19 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.18

No apparent JZOS or Tomcat error messages issued.

Thanks for any assistance.

dovetail
Site Admin
Posts: 1781
Joined: Thu Jul 29, 2004 12:12 pm

Post by dovetail » Fri Jun 10, 2011 5:08 pm

3000 doesn't look like a JZOS Batch launcher return code, so it would be assumed to be coming from the JVM exit code.

If you run the JZOS batch launcher with +T, there will be a JZOS trace to DD SYSOUT that might help us determine what is going wrong.

jriemer
Posts: 25
Joined: Thu Jul 06, 2006 11:15 am

Return code 3000

Post by jriemer » Fri Jun 10, 2011 8:21 pm

Pasted below. Would the JVMJZBL1049W warning be significant?

1
JVMJZBL2004N Log level has been set to: T
JVMJZBL2999T -> JzosVM()
JVMJZBL1001N JZOS batch Launcher Version: 2.3.0 2008-05-12
JVMJZBL1002N Copyright (C) IBM Corp. 2005. All rights reserved.
JVMJZBL2999T <- JzosVM()
JVMJZBL2999T -> run()
JVMJZBL1029I Region requested = 0K, Actual below/above limit = 8168K / 1647M
JVMJZBL1053I OS Release R21.00 Machine 2097
JVMJZBL2999T -> adoptEnvironment()
JVMJZBL2999T -> spawnChild()
JVMJZBL1036D Spawned child shell process with PID: 50397327
JVMJZBL2999T <- spawnChild()
JVMJZBL2999T Writing shell script to child's stdin:
JVMJZBL2999T # ---------------------------------------------------------------------
JVMJZBL2999T # This is a shell script which configures environment variables
JVMJZBL2999T # for the Java JVM in order to run Tomcat. Variables must be
JVMJZBL2999T # exported to be seen by the JZOS launcher or JVM.
JVMJZBL2999T #
JVMJZBL2999T # Sites may wish to factor some of this into a common external
JVMJZBL2999T # shell script and dot it or use concatenated DDs to piece together
JVMJZBL2999T # the configuration for each Tomcat instance.
JVMJZBL2999T # See SAMPJCL($README) for more information.
JVMJZBL2999T
JVMJZBL2999T # Dot in the installation profile script, which is useful in setting
JVMJZBL2999T # the system LOCALE, LANG, and TZ variables.
JVMJZBL2999T # . /etc/profile
JVMJZBL2999T
JVMJZBL2999T # ----------------------------------------------------------------------
JVMJZBL2999T # $$$ Often you will only need to customize this section:
JVMJZBL2999T # ----------------------------------------------------------------------
JVMJZBL2999T export JAVA_HOME=/u/Java6_31/J6.0
JVMJZBL2999T CATALINA_HOME=/u/local/tomcat
JVMJZBL2999T CATALINA_BASE=/u/local/tomcat
JVMJZBL2999T DB2_JDBC_HOME=/usr/lpp/db2910_jdbc # igore if no DB2
JVMJZBL2999T DB2_SSID=DSN9 # ignore if no DB2 type-2 JDBC
JVMJZBL2999T IJO="-Xms64m -Xmx128m" # min and max Java heap sizes
JVMJZBL2999T
JVMJZBL2999T # ----------------------------------------------------------------------
JVMJZBL2999T # Configure Java Properties via IBM_JAVA_OPTIONS env variable.
JVMJZBL2999T # ----------------------------------------------------------------------
JVMJZBL2999T IJO="$IJO -Dfile.encoding=ISO8859-1" # ASCII default encoding rqd
JVMJZBL2999T IJO="$IJO -Dcatalina.base=${CATALINA_BASE}"
JVMJZBL2999T IJO="$IJO -Dcatalina.home=${CATALINA_HOME}"
JVMJZBL2999T IJO="$IJO -Djava.io.tmpdir=${CATALINA_BASE}/temp"
JVMJZBL2999T # Required for the zfile:// URL handler:
JVMJZBL2999T IJO="$IJO -Djava.protocol.handler.pkgs=com.dovetail.jzos.url"
JVMJZBL2999T # And also the IBM crypto URL handler:
JVMJZBL2999T IJO="$IJO|com.ibm.crypto.provider"
JVMJZBL2999T
JVMJZBL2999T # Set the DB2 subsys name, used with the type-2 Universal JDBC driver
JVMJZBL2999T IJO="$IJO -Ddb2.jcc.ssid=${DB2_SSID}"
JVMJZBL2999T
JVMJZBL2999T # Uncomment the following to use SDK5.0+ shared classes
JVMJZBL2999T #groupname=`id -gn`
JVMJZBL2999T #IJO="$IJO -Xshareclasses:name=$groupname,groupAccess"
JVMJZBL2999T
JVMJZBL2999T # Uncomment the following to use a Java JAAS security manager
JVMJZBL2999T #IJO="$IJO -Djava.security.policy=${CATALINA_BASE}/conf/catalina.policy"
JVMJZBL2999T #IJO="$IJO -Djava.security.manager"
JVMJZBL2999T
JVMJZBL2999T export IBM_JAVA_OPTIONS="$IJO "
JVMJZBL2999T
JVMJZBL2999T # ----------------------------------------------------------------------
JVMJZBL2999T # Uncomment the following lines if you are using an alphaWorks JZOS
JVMJZBL2999T # lines rather than JZOS that is distributed within the SDK.
JVMJZBL2999T # ----------------------------------------------------------------------
JVMJZBL2999T #JZOS_HOME=/home/myuser/jzosaw
JVMJZBL2999T #JVMOPTS=""
JVMJZBL2999T #JVMOPTS="$JVMOPTS -Djava.ext.dirs=${JZOS_HOME}:${JAVA_HOME}/lib/ext"
JVMJZBL2999T #JVMOPTS="$JVMOPTS -Djzos.jdfsort.dir=${JZOS_HOME}"
JVMJZBL2999T #export JZOS_JVM_OPTIONS="$JVMOPTS"
JVMJZBL2999T
JVMJZBL2999T # ----------------------------------------------------------------------
JVMJZBL2999T # Setup PATH and LIBPATH from scratch to avoid installation profile
JVMJZBL2999T # conflicts. This should only be changed if you need to add your
JVMJZBL2999T # own Java native (JNI) library directories.
JVMJZBL2999T # ----------------------------------------------------------------------
JVMJZBL2999T export PATH=/bin:"${JAVA_HOME}"/bin:"${CATALINA_HOME}"/lib
JVMJZBL2999T LIBPATH=/lib:/usr/lib:"${JAVA_HOME}"/bin
JVMJZBL2999T LIBPATH="$LIBPATH":"${JAVA_HOME}"/lib/s390
JVMJZBL2999T LIBPATH="$LIBPATH":"${JAVA_HOME}"/lib/s390/j9vm
JVMJZBL2999T LIBPATH="$LIBPATH":"${JAVA_HOME}"/bin/classic
JVMJZBL2999T LIBPATH="$LIBPATH":"${CATALINA_HOME}"/lib
JVMJZBL2999T #LIBPATH="$LIBPATH":/u/JNI
JVMJZBL2999T # Add the DB2 JDBC native library directory if present:
JVMJZBL2999T if ÝÝ -d "${DB2_JDBC_HOME}/lib" ¨¨; then
JVMJZBL2999T LIBPATH="$LIBPATH":"${DB2_JDBC_HOME}/lib"
JVMJZBL2999T fi
JVMJZBL2999T export LIBPATH="$LIBPATH":
JVMJZBL2999T
JVMJZBL2999T # ----------------------------------------------------------------------
JVMJZBL2999T # Set up Tomcat's "boot" classpath.
JVMJZBL2999T # ----------------------------------------------------------------------
JVMJZBL2999T CLASSPATH="${JAVA_HOME}/lib/tools.jar"
JVMJZBL2999T CLASSPATH="$CLASSPATH":"${CATALINA_HOME}/bin/bootstrap.jar"
JVMJZBL2999T CLASSPATH="$CLASSPATH":"${CATALINA_HOME}/lib"
JVMJZBL2999T # The zfile: URL Protocol handler from here:
JVMJZBL2999T CLASSPATH="$CLASSPATH":"${CATALINA_HOME}/bin/zos-url.jar"
JVMJZBL2999T #CLASSPATH="$CLASSPATH":"${CATALINA_HOME}/webapps/ROOT/WEB-INF/classes"
JVMJZBL2999T #CLASSPATH="$CLASSPATH":"/u/JNI"
JVMJZBL2999T
JVMJZBL2999T # Add the DB2 JDBC jars if present:
JVMJZBL2999T if ÝÝ -d "${DB2_JDBC_HOME}/classes" ¨¨; then
JVMJZBL2999T for i in "${DB2_JDBC_HOME}"/classes/*.jar; do
JVMJZBL2999T export CLASSPATH="$CLASSPATH":"$i"
JVMJZBL2999T done
JVMJZBL2999T for i in "${DB2_JDBC_HOME}"/classes/*.zip; do
JVMJZBL2999T export CLASSPATH="$CLASSPATH":"$i"
JVMJZBL2999T done
JVMJZBL2999T fi
JVMJZBL2999T
JVMJZBL2999T # Add user jars if present:
JVMJZBL2999T #if ÝÝ -d "${CATALINA_HOME}/webapps/ROOT/WEB-INF/classes" ¨¨; then
JVMJZBL2999T # for i in "${CATALINA_HOME}"/webapps/ROOT/WEB-INF/classes/*.jar; do
JVMJZBL2999T # export CLASSPATH="$CLASSPATH":"$i"
JVMJZBL2999T # done
JVMJZBL2999T # for i in "${CATALINA_HOME}"/classes/*.zip; do
JVMJZBL2999T # export CLASSPATH="$CLASSPATH":"$i"
JVMJZBL2999T # done
JVMJZBL2999T #fi
JVMJZBL2999T
JVMJZBL2999T export CLASSPATH="$CLASSPATH":
JVMJZBL2999T
JVMJZBL2999T # ----------------------------------------------------------------------
JVMJZBL2999T # Some default JVM diagnostic settings.
JVMJZBL2999T # See the IBM SDK Diagnostics guide for more info
JVMJZBL2999T # ----------------------------------------------------------------------
JVMJZBL2999T export JAVA_DUMP_HEAP=false
JVMJZBL2999T export JAVA_PROPAGATE=NO
JVMJZBL2999T export IBM_JAVA_ZOS_TDUMP=NO
JVMJZBL2999T
JVMJZBL1005I Output from DD:STDENV config shell script:
JVMJZBL2999T Found environment start string
JVMJZBL2999T ___JZOS_ENV_START___
JVMJZBL1006I JAVA_PROPAGATE = NO
JVMJZBL1006I PATH = /bin:/u/Java6_31/J6.0/bin:/u/local/tomcat/lib
JVMJZBL1006I IBM_JAVA_ZOS_TDUMP = NO
JVMJZBL1006I IBM_JAVA_OPTIONS = -Xms64m -Xmx128m -Dfile.encoding=ISO8859-1 -Dcatalina.base=/u/local/tomcat
-Dcatalina.home=/u/local/tomcat -Djava.io.tmpdir=/u/local/tomcat/temp -Djava.protocol.handler.pkgs=com.dovetail.jzos.url
|com.ibm.crypto.provider -Dd
b2.jcc.ssid=DSN9
JVMJZBL1006I _BPX_SPAWN_SCRIPT = YES
JVMJZBL1006I _ = /bin/env
JVMJZBL1006I CLASSPATH = /u/Java6_31/J6.0/lib/tools.jar:/u/local/tomcat/bin/bootstrap.jar:/u/local/tomcat/lib:/u/local/t
omcat/bin/zos-url.jar:/usr/lpp/db2910_jdbc/classes/db2jcc.jar:/usr/lpp/db2910_jdbc/classes/db2jcc4.jar:/usr/lpp/db2910_j
dbc/classes/db2
jcc_javax.jar:/usr/lpp/db2910_jdbc/classes/db2jcc_license_cisuz.jar:/usr/lpp/db2910_jdbc/classes/sqlj.zip:/usr/lpp/db291
0_jdbc/classes/sqlj4.zip:
JVMJZBL1006I LANG = C
JVMJZBL1006I LIBPATH = /lib:/usr/lib:/u/Java6_31/J6.0/bin:/u/Java6_31/J6.0/lib/s390:/u/Java6_31/J6.0/lib/s390/j9vm:/u/Ja
va6_31/J6.0/bin/classic:/u/local/tomcat/lib:/usr/lpp/db2910_jdbc/lib:
JVMJZBL1006I _BPX_SHAREAS = YES
JVMJZBL1006I JAVA_DUMP_HEAP = false
JVMJZBL1006I JAVA_HOME = /u/Java6_31/J6.0
JVMJZBL1006I PWD = /u
JVMJZBL2999T Setting current working dir to: "/u"
JVMJZBL2999T Found environment stop string
JVMJZBL2999T waiting for child shell process to complete
JVMJZBL2999T -> waitChild()
JVMJZBL2999T child shell process exited with exit code 0
JVMJZBL2999T <- waitChild()
JVMJZBL2999T <- adoptEnvironment()
JVMJZBL2999T argvÝ2¨: org.apache.catalina.startup.Bootstrap
JVMJZBL2999T argvÝ3¨: start
JVMJZBL2999T -> processExtraArgs()
JVMJZBL2999T No JZOS_MAIN_ARGS found
JVMJZBL2999T NO //DD:MAINARGS found
JVMJZBL2999T mainArgsBuf=""
JVMJZBL2999T <- processExtraArgs()
JVMJZBL2999T -> initializeVMArgs()
JVMJZBL2999T vm_args.version: 10004
JVMJZBL2999T Getting CLASSPATH
JVMJZBL2999T Classpath option string: '-Djava.class.path=/u/Java6_31/J6.0/lib/tools.jar:/u/local/tomcat/bin/bootstrap.ja
r:/u/local/tomcat/lib:/u/local/tomcat/bin/zos-url.jar:/usr/lpp/db2910_jdbc/classes/db2jcc.jar:/usr/lpp/db2910_jdbc/class
es/db2jcc4.jar:
/usr/lpp/db2910_jdbc/classes/db2jcc_javax.jar:/usr/lpp/db2910_jdbc/classes/db2jcc_license_cisuz.jar:/usr/lpp/db2910_jdbc
/classes/sqlj.zip:/usr/lpp/db2910_jdbc/classes/sqlj4.zip:'
JVMJZBL2999T -> JniUtil.convert()
JVMJZBL2999T <- JniUtil.convert()
JVMJZBL2999T <- initializeVMArgs()
JVMJZBL2999T -> createJvm()
JVMJZBL2999T JNI_CreateJavaVM elapsed time=2.663139 seconds, cpu time=0.242272 seconds
JVMJZBL2999T <- createJvm()
JVMJZBL2999T -> JniUtil.convert()
JVMJZBL2999T <- JniUtil.convert()
JVMJZBL2999T -> JniUtil.convert()
JVMJZBL2999T <- JniUtil.convert()
JVMJZBL2999T -> JniUtil.convert()
JVMJZBL2999T <- JniUtil.convert()
JVMJZBL2999T -> StaticMethod.invoke()
JVMJZBL2999T com.ibm.jzos.ZUtil.getJavaVersionInfo
JVMJZBL2999T method invocation elapsed time=0.160568 seconds, cpu time=0.022153 seconds
JVMJZBL2999T <- StaticMethod.invoke()
JVMJZBL1012I Java Virtual Machine created. Version information follows:
java version "1.6.0"
Java(TM) SE Runtime Environment (build pmz3160sr9fp1-20110303_01 (SR9 FP1))
IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 z/OS s390-31 jvmmz3160sr9-20110203_74623 (JIT enabled, AOT enabled)
J9VM - 20110203_074623
JIT - r9_20101028_17488ifx3
GC - 20101027_AA)
JVMJZBL2999T -> checkVersions()
JVMJZBL2999T -> JniUtil.convert()
JVMJZBL2999T <- JniUtil.convert()
JVMJZBL2999T -> JniUtil.convert()
JVMJZBL2999T <- JniUtil.convert()
JVMJZBL2999T -> JniUtil.convert()
JVMJZBL2999T <- JniUtil.convert()
JVMJZBL2999T -> StaticMethod.invoke()
JVMJZBL2999T com.ibm.jzos.ZUtil.getJzosJarVersion
JVMJZBL2999T method invocation elapsed time=0.000833 seconds, cpu time=0.000747 seconds
JVMJZBL2999T <- StaticMethod.invoke()
JVMJZBL1049W JZOS batch Launcher Version '2.3.0 2008-05-12' does not match jzos.jar Version '2.3.0 2010-12-14'
JVMJZBL2999T <- checkVersions()
JVMJZBL2999T -> redirectStandardStreams()
JVMJZBL2999T No JZOS_OUTPUT_ENCODING found, using the default codeset 'IBM-1047'
JVMJZBL2999T -> JniUtil.convert()
JVMJZBL2999T <- JniUtil.convert()
JVMJZBL2999T -> JniUtil.convert()
JVMJZBL2999T <- JniUtil.convert()
JVMJZBL2999T -> JniUtil.convert()
JVMJZBL2999T <- JniUtil.convert()
JVMJZBL2999T -> StaticMethod.invoke()
JVMJZBL2999T com.ibm.jzos.ZUtil.redirectStandardStreams
JVMJZBL2999T method invocation elapsed time=0.020803 seconds, cpu time=0.008757 seconds
JVMJZBL2999T <- StaticMethod.invoke()
JVMJZBL1027I Using output encoding: IBM-1047
JVMJZBL2999T <- redirectStandardStreams()
JVMJZBL2999T -> establishMvsCommandListener()
JVMJZBL1016I MVS commands are ENABLED
JVMJZBL2999T -> JniUtil.convert()
JVMJZBL2999T <- JniUtil.convert()
JVMJZBL2999T -> JniUtil.convert()
JVMJZBL2999T <- JniUtil.convert()
JVMJZBL2999T -> JniUtil.convert()
JVMJZBL2999T <- JniUtil.convert()
JVMJZBL2999T -> StaticMethod.invoke()
JVMJZBL2999T com.ibm.jzos.MvsConsole.startMvsCommandListener
JVMJZBL2999T method invocation elapsed time=0.001037 seconds, cpu time=0.001030 seconds
JVMJZBL2999T <- StaticMethod.invoke()
JVMJZBL2999T <- establishMvsCommandListener()
JVMJZBL2999T -> invokeMain()
JVMJZBL2999T javaClassName: 'org.apache.catalina.startup.Bootstrap'
JVMJZBL2999T Arg 1='start'
JVMJZBL1023N Invoking org.apache.catalina.startup.Bootstrap.main()...
JVMJZBL2999T -> JniUtil.convert()
JVMJZBL2999T <- JniUtil.convert()
JVMJZBL2999T -> JniUtil.convert()
JVMJZBL2999T <- JniUtil.convert()
JVMJZBL2999T -> JniUtil.convert()
JVMJZBL2999T <- JniUtil.convert()
JVMJZBL2999T -> JniUtil.convert()
JVMJZBL2999T <- JniUtil.convert()
JVMJZBL2999T -> StaticMethod.invoke()
JVMJZBL2999T org.apache.catalina.startup.Bootstrap.main
CEE5230S The signal SIGXCPU was received.

dovetail
Site Admin
Posts: 1781
Joined: Thu Jul 29, 2004 12:12 pm

Post by dovetail » Sat Jun 11, 2011 10:47 am

You didn't post the rest of the job log, but could the problem be that you are running out of CPU time?

See: http://www.ibm.com/developerworks/forum ... D=14301410

jriemer
Posts: 25
Joined: Thu Jul 06, 2006 11:15 am

Return code 3000

Post by jriemer » Sun Jun 12, 2011 2:23 am

That was it; thanks a bunch. Be nice, though, if somewhere in the output was a disclosure of the associated abend that had been intercepted.

dovetail
Site Admin
Posts: 1781
Joined: Thu Jul 29, 2004 12:12 pm

Post by dovetail » Sun Jun 12, 2011 2:01 pm

Agreed, but that's how LE does it (the SIGXCPU signal).

I guess one could argue that the CEE5230S message is sufficient

Post Reply