1. Check That the J2EE En
1. Check That the J2EE En
gine Was Started
gine Was Started
If the J2EE Engine was
If the J2EE Engine was started, the following file must exist:started, the following file must exist: <DIR
<DIR INSTANCEINSTANCE>/work/dev_jcontrol >/work/dev_jcontrol where <DIR_INSTANC
where <DIR_INSTANCE> is the root E> is the root directory of the J2EE instance.directory of the J2EE instance. If the file does not exist, check the installation log files for error messages. If the file does not exist, check the installation log files for error messages.
2. Check the JControl Developer
2. Check the JControl Developer
Trace File
Trace File
If the J2EE Engine was started, analyze the following trace file: If the J2EE Engine was started, analyze the following trace file:<DIR_INSTANCE>/work/dev_jcontrol <DIR_INSTANCE>/work/dev_jcontrol
The following problems may have been logged: The following problems may have been logged:
Instance properties files are missing or
Instance properties files are missing or empty:empty:
*** ERROR => JStartupReadArgumentsEx: can't enumerate nodes *** ERROR => JStartupReadArgumentsEx: can't enumerate nodes [<DIR_INSTANCE>\j2ee\cluster\instance.properties;
[<DIR_INSTANCE>\j2ee\cluster\instance.properties;
<DIR_INSTANCE>\SDM\program\config\sdm_jstartup.properties] (rc=-1) <DIR_INSTANCE>\SDM\program\config\sdm_jstartup.properties] (rc=-1)
In this case, check the
In this case, check the installation log files for previous error messages and retry theinstallation log files for previous error messages and retry the installation.
installation.
Connectin
Connecting to the g to the Message Server fails:Message Server fails:
*** ERROR => Can't attach to message server (<hostname>/<port>) *** ERROR => Can't attach to message server (<hostname>/<port>) [rc=-100]-> terminate
100]-> terminate
Check that the SCS instance (the SAP Central Services instance con
Check that the SCS instance (the SAP Central Services instance con taining thetaining the Message Server and the Enqueue
Message Server and the Enqueue Server for the J2EE Engine) on host Server for the J2EE Engine) on host <hostname> is<hostname> is running and that the Message
running and that the Message Server port is correct.Server port is correct.
Detecting the Java Development Kit fails: Detecting the Java Development Kit fails:
*** ERROR => invalid vm detection, please have a look the files *** ERROR => invalid vm detection, please have a look the files -
- java java command command ["C:\j2sdk1.4.2_02\jre\bin\["C:\j2sdk1.4.2_02\jre\bin\java.exe" java.exe" -cp -cp .. JdkDetection_<pid> > ./JdkDetection_<pid>.txt 2>&1]
JdkDetection_<pid> > ./JdkDetection_<pid>.txt 2>&1] -
- output output file file [./JdkDetection_<pid>.txt][./JdkDetection_<pid>.txt] -
- java java file file [./JdkDetection_<pid>.java][./JdkDetection_<pid>.java] -
- class class file file [JdkDetection_<pid>][JdkDetection_<pid>] - used vm type [-server]
- used vm type [-server] - used vm type []
- used vm type []
*** ERROR => can't get JDK information (rc=-1) *** ERROR => can't get JDK information (rc=-1)
Verify that the
Verify that the bootstrap.JavaPath property bootstrap.JavaPath property in thein the <DIR_INSTANCE>/j2ee/cluster/instance.properties
<DIR_INSTANCE>/j2ee/cluster/instance.properties file points to a full version of file points to a full version of the Java Development Kit (and
the Java Development Kit (and not to an installation of the Java Runtimenot to an installation of the Java Runtime Environment). Environment). 1. 1. 1. 1.
Retry the command in the <DIR_INSTANCE>/work directory from a command interpreter.
The instance bootstrap fails:
*** ERROR => invalid return code of process [bootstrap] (exitcode=-1)
Check the bootstrap log files. See 4. Check the Instance Bootstrap Log File from the Java VM.
The instance bootstrap does not terminate.
In this case, the last block in the dev_jcontrol file is:
*************************************************************** JStartupStartJLaunch: program = <DIR_INSTANCE>/j2ee/os_libs/jlaunch -> arg[00] = <DIR_INSTANCE>/j2ee/os_libs/jlaunch -> arg[01] = pf=<DIR_SYSTEM>/SYS/profile/<SYSTEM>_<INSTANCE>_<host> -> arg[02] = -file=<DIR_INSTANCE>/j2ee/cluster/instance.properties -> arg[03] = -syncSem=JSTARTUP_WAIT_ON_<pid> -> arg[04] = -nodeName=bootstrap -> arg[05] = -nodeId=-1 -> arg[06] = -jvmOutFile=<DIR_INSTANCE>/work/jvm_bootstrap.out -> arg[07] = -stdOutFile=<DIR_INSTANCE>/work/std_bootstrap.out -> arg[08] = -locOutFile=<DIR_INSTANCE>/work/dev_bootstrap -> arg[09] = -mode=BOOTSTRAP -> arg[10] = pf=<DIR_SYSTEM>/SYS/profile/<SYSTEM>_<INSTANCE>_<host> -> lib path = <...> -> exe path = <...> ****************************************************************
Check the bootstrap log files. See 6. Check whether the instance bootstrap terminates. If you cannot find any problems in the JControl developer trace file, create a customer message for the BC-JAS-COR component, create an archive containing the installation log files and all files from the <DIR_INSTANCE>/work directory, and send the archive as an attachment to the customer message.
3. Check the Instance Bootstrap Developer Trace File
If the instance bootstrap was started, you need to analyze the following trace file:<DIR_INSTANCE>/work/dev_bootstrap
The following problems may have been logged:
The Java files for the bootstrap are missing:
*** ERROR => Can't load main class
[com.sap.engine.offline.OfflineToolStart
Verify that the <DIR_INSTANCE>/j2ee/cluster/bootstrap directory exists and that it is not empty.
1.
1. The Java VM starts, but aborts immediately:
JLaunchIAbortJava: abort hook is called
Check the bootstrap log files. See 4. Check the Instance Bootstrap Log File from the Java VM.
1. The Java VM starts and terminates with a non-zero return code:
JLaunchIExitJava: exit hook is called (rc=66)
Check the bootstrap log files. See 5. Check the Output from the Instance Bootstrap Java Class.
If you cannot find any problems in the bootstrap developer trace file, create a customer message for the BC-JAS-COR component, create an archive containing the installation log files and all files from the <DIR_INSTANCE>/work directory, and send the archive as an attachment to the customer message.
4. Check the Instance Bootstrap Log File from the Java
VM
The Java VM, which executes the instance bootstrap, is started by using the following log file:
<DIR_INSTANCE>/work/std_bootstrap.out
The following problems may have been logged:
Invalid Java VM parameters:
Unrecognized option: <some option>
The option supplied in the bootstrap.JavaParameters property is not valid for the Java VM. Correct the property value and try again.
Inconsistent memory settings for the Java VM:
Error occurred during initialization of VM
Incompatible initial and maximum heap sizes specified
The memory settings supplied in the bootstrap.JavaParameters and
bootstrap.MaxHeapSize properties do not fit together (for example, MaxHeapSize is smaller than the initial heap size specified with –Xms).
Correct the property values and try again.
5. Check the Output from the Instance Bootstrap Java
Class
The output from the bootstrap Java program is stored in the following file:
<DIR_INSTANCE>/work/jvm_bootstrap.out
The following problems may have been logged:
• Illegal options for the bootstrap main class:
[Bootstrap module]> Bootstrap must be called through the Startup Framework with the appropriate parameters!!!
Correct the bootstrap.Parameters property and restart the instance.
A Missing instance.properties File
The values of the instance.properties file ( /usr/sap/<SID>/<instance name>/j2ee/cluster/instance.properties ) are stored in the database and are synchronized to the file during the startup process. The export of the
instance.properties file is handled in the bootstrap section of the startup framework. However, the bootstrap process apart from using the bootstrap.properties file (for example, to connect to the database), also uses the instance.properties file for some additional parameters (such as, the path to the JVM). Therefore, in case of a missing instance.properties file, the bootstrap will not be able to start. Thus, you will not be able to start the whole J2EE Engine unless you recover the instance.properties file with the parameters, which the bootstrap needs.
The instance.properties file is divided into sections. Each section describes a Java program. The format of one line in the property file is:
<section>.<property name> = <property value>
The parameters from the instance.properties file, which the bootstrap uses, are stored in one section called
bootstrap.*
. These properties and their descriptions are:Property Name Description
ClassPath The class path of the Java program.
JavaParameters Contains additional Java parameters. This string is passed to the loaded Java VM. Execute Java without arguments to get help for the valid Java parameters and options. JavaPath The path to the JDK installation directory.
The same as the value of the JAVA_HOME environment variable.
MaxHeapSize The heap size of the loaded Java VM. The value is in MB (megabytes).
Name The name of the Java program (for example, bootstrap).
Parameters Program arguments used to start the bootstrap process.
RootPath The root path of the Java program.
Type The type of the Java program. The possible values are:unknown,bootstrap,
dispatcher,server,sdm.
Example
The following is an example of an instance.properties file containing the minimal properties needed by the bootstrap to start and to recover the whole instance.properties
file: bootstrap.ClassPath=./bootstrap/launcher.jar bootstrap.JavaParameters=-Djco.jarm=1 bootstrap.JavaPath=C:/j2sdk1.4.2_07 bootstrap.MainClass=com.sap.engine.offline.OfflineToolStart bootstrap.MaxHeapSize=128 bootstrap.Name=bootstrap bootstrap.Parameters=com.sap.engine.bootstrap.Bootstrap ./bootstrap ID0098278 bootstrap.RootPath=C:/usr/sap/J2E/JC00/j2ee/cluster bootstrap.Type=bootstrap
Invalid Shared Library Path (in
dev_<component name>)
The VM detection builds the library path to find the JVM shared library. If this path is incorrect, you will receive the following error messages in the dev_<node name> trace file:
*** ERROR => DlLoadLib: LoadLibrary(jvm.dll) Error 126 Error 126 = "The specified module could not be found."
*** ERROR => Can't load VM shared library (jvm.dll) (rc=-2) *** ERROR => Can't load DLL for Java VM
*** ERROR => can't launch program (rc=-2)
Solution
Check the javaVMLibPath property in the VM property file
(instance.properties.vmprop ). The file is located in the cluster directory of the J2EE instance. In the example below, the incorrect property line is in bold (instead of “jre” the path contains “lall”). The <component name> can be bootstrap, dispatcher , server<n>,
and so on.
#test1. : ---#test1. : generated VM parameters
#test1. : Tue May 06 08:26:28 2003
#test1. : ---<component name>.javaVMPath=C:\jdk1.4.2
<component name>.javaVMVersion=1.4.2
<component name>.javaVMVendor=Java HotSpot(TM) Client VM (build 1.4.2, mixed mode) <component name>.javaVMType=classic
<component
name>.javaVMLibPath=C:\jdk1.4.2\lall\bin\classic;C:\jdk1.4.2\jre\bin
<component name>.javaVMExePath=C:\jdk1.4.2\bin <component name>.javaVMPropVers=1.0Invalid Administration Shared Memory
After updating the startup framework, you may receive the following error message in dev_jcontrol or dev_<component name> trace files:
*** ERROR => Can't create to administration shared memory *** ERROR => Can't attach to administration shared memory
This problem usually appears on UNIX.
Solution
The reason for this error message is an already existing shared memory segment with wrong size. In this case:
1. ...
1. 1. Stop the J2EE instance.
2. 2. Go to the os_libs directory of the J2EE instance. 3. 3. To invoke the shared memory cleanup, execute:
jcontrol pf=<SAP instance profile> -c .