1. Check That the J2EE Engine En gine Was Started If the J2EE Engine was started, the following file must exist:
/work/dev_jcontrol INSTANCE>/work/dev_jcontrol where is the root directory of the J2EE instance. If the file does not exist, check the installation log files for error messages.
2. Check the JControl Developer Trace File If the J2EE Engine was started, analyze the following trace file: /work/dev_jcontrol
The following problems may have been logged: Instance properties files are missing or empty:
*** ERROR => JStartupReadArgumentsEx: can't enumerate nodes [\j2ee\cluster\instance.properties; \SDM\program\config\sdm_jstartup.properties] (rc=-1)
In this case, check the installation log files for previous error messages and retry the installation. Connecting Connecting to the Message Server fails:
*** ERROR => Can't attach to message server (/) [rc=100]-> terminate
Check that the SCS instance (the SAP Central Services instance con taining the Message Server and the Enqueue Server for the J2EE Engine) on host is running and that the Message Server port is correct. Detecting the Java Development Kit fails:
*** ERROR => invalid vm detection, please have a look the files - java command ["C:\j2sdk1.4.2_02\jre\bin\ ["C:\j2sdk1.4.2_02\jre\bin\java.exe" java.exe" -cp . JdkDetection_ > ./JdkDetection_.txt 2>&1] - output file [./JdkDetection_.txt] - java file [./JdkDetection_.java] - class file [JdkDetection_] - used vm type [-server] - used vm type [] *** ERROR => can't get JDK information (rc=-1)
Verify that the bootstrap.JavaPath property in the /j2ee/cluster/instance.properties file points to a full version of the Java Development Kit (and not to an installation of the Java Runtime Environment).
Retry the command in the /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 = /j2ee/os_libs/jlaunch -> arg[00] = /j2ee/os_libs/jlaunch -> arg[01] = pf=/SYS/profile/__ -> arg[02] = -file=/j2ee/cluster/instance.properties -> arg[03] = -syncSem=JSTARTUP_WAIT_ON_ -> arg[04] = -nodeName=bootstrap -> arg[05] = -nodeId=-1 -> arg[06] = -jvmOutFile=/work/jvm_bootstrap.out -> arg[07] = -stdOutFile=/work/std_bootstrap.out -> arg[08] = -locOutFile=/work/dev_bootstrap -> arg[09] = -mode=BOOTSTRAP -> arg[10] = pf=/SYS/profile/__ -> 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 /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: /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 /j2ee/cluster/bootstrap directory exists and that it is not empty.
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 /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: /work/std_bootstrap.out
The following problems may have been logged: Invalid Java VM parameters:
Unrecognized 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: /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///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: . =
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.
MainClass
The main class of the Java program.
MaxHeapSize Name
The heap size of the loaded Java VM. The value is in MB (megabytes). 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_
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_ 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) JLaunchCloseProgram: close program (exitcode=-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 can be bootstrap , dispatcher , server , and so on.
#test1. : ---------------------------------------#test1. : generated VM parameters #test1. : Tue May 06 08:26:28 2003 #test1. : ---------------------------------------.javaVMPath=C:\jdk1.4.2 .javaVMVersion=1.4.2 .javaVMVendor=Java HotSpot(TM) Client VM (build 1.4.2, mixed mode) .javaVMType=classic
.javaVMLibPath=C:\jdk1.4.2\lall\bin\classic;C:\jdk1.4.2\jre\bin .javaVMExePath=C:\jdk1.4.2\bin .javaVMPropVers=1.0
Invalid Administration Shared Memory After updating the startup framework, you may receive the following error message in dev_jcontrol or dev_ 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= -c .
4.
4. Restart the J2EE instance.