You are on page 1of 6

1.

Check That the J2EE Engine Was Started


If the J2EE Engine was started, the following file must exist:
<DIR INSTANCE>/work/dev_jcontrol
where <DIR_INSTANCE> 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:
<DIR_INSTANCE>/work/dev_jcontrol
The following problems may have been logged:
Instance properties files are missing or empty:

*** ERROR => JStartupReadArgumentsEx: can't enumerate nodes


[<DIR_INSTANCE>\j2ee\cluster\instance.properties;
<DIR_INSTANCE>\SDM\program\config\sdm_jstartup.properties] (rc=-1)
In this case, check the installation log files for previous error messages and retry the
installation.
1. Connecting to the Message Server fails:

*** ERROR => Can't attach to message server (<hostname>/<port>) [rc=-


100]-> terminate
Check that the SCS instance (the SAP Central Services instance containing the
Message Server and the Enqueue Server for the J2EE Engine) on host <hostname> is
running and that the Message Server port is correct.
1. 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\java.exe" -cp .
JdkDetection_<pid> > ./JdkDetection_<pid>.txt 2>&1]
- output file [./JdkDetection_<pid>.txt]
- java file [./JdkDetection_<pid>.java]
- class file [JdkDetection_<pid>]
- used vm type [-server]
- used vm type []
*** ERROR => can't get JDK information (rc=-1)
Verify that the bootstrap.JavaPath property in the
<DIR_INSTANCE>/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 <DIR_INSTANCE>/work directory from a command
interpreter.
1. 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.
1. 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. 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.
1. 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.
MainClass The main class of the Java program.
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)
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 <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.0

Invalid 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.
4. 4. Restart the J2EE instance.

You might also like