1.Q: The JVM cores on Windows 2000 with the following error in the file hs_err_pidxxxx.log: An unexpected exception has been detected in native code outside the VM. Unexpected Signal: EXCEPTION_ACCESS_VIOLATION occurred at PC=0x77e8b518 Function name=InterlockedCompareExchange Library=C:WINNTsystem32KERNEL32.dll
A: Modify the corresponding Windows 2000 permissions:
- Start MMC (Microsoft Management Console)
- Add snap-in 'GroupPolicy' (local)
- Expand tree:
-> Local Computer Policy
-> Computer Configuration
-> Windows Settings
-> Security Settings
-> Local Policies
-> User Rights Assignment
Adjust the permissions of the policy 'Create global objects'.
If the policy doesn't exist, the permissions are correct or the exception still occurs:
Please make sure that the user, under which the monitor server is running, is included in the security properties of the executable sapccmsr and vice versa.
This is necessary because the process that starts first will create the shared memory segment. The shared memory permissions are taken from the permissions of the executable. To allow the subsequent process an attach to the created shared memory segment, the user of this second process must be listed in the security properties of the first process.
2.Q: Manual installation of JMon (only 6.20). How to avoid version conflicts?
A: JMON.SAR contains a shared library, a Java library (jmonapi.jar) and the executable sapccmsr.
Make sure that all components (Jar file, shared library and sapccmsr) are replaced by the new version. Otherwise there might be version conflicts that are very difficult to handle.
Keep in mind that the Jar file and the shared library are installed at more than one location.
JMON.SAR is available on the service marketplace under the alias 'patches'
-> SAP Software Distribution Center
-> Support Packages and Patches
-> Entry by Application Group
-> SAP NetWeaver
-> SAP NetWeaver components ( < SAP NW 04 )
-> SAP Web AS
-> SAP Web AS 6.20
-> SAP WEB AS ABAP
-> SAP Kernel 6.20 [32-Bit/64-Bit]
-> #Database independent
Use the SAP tool 'sapcar' to unpack JMON.SAR. For more information regarding 'sapcar' see OSS note 212876.
Copy jmonapi.jar into the following folders:
<engine root>cluster<each server node>additional-lib
3.Q: Where does the JMon shared library need to be installed (only 6.20)?
A: The shared library is called
jmon.dll on Windows,
libjmon.dll (only 6.20) and later libjmon.so on OS390,
libjmon.sl on HP-UX and
libjmon.so on the other UNIX platforms.
The following installations are valid:
- Copy JMon library into any directory of the local J2EE installation (e.g. 'os_libs') and extend the search path (e.g. PATH on Windows) in go.bat with that directory. Make sure that no JMon library of a different version is also referenced in this search path, because otherwise it depends on the sequence which version will be loaded.
- Copy JMon library in the same directories where jmonapi.jar is installed. No search path has to be defined. No version conflicts are possible.
4.Q: Which version of JMon (32 or 64 bit) should I use (only 6.20)?
A: The version of JMon and the version of SAPCCMSR should match the VM of the J2EE with regard to the bit version. Note that the bit version of the operating system is not important here. Download the relevant package JMON.SAR from the SAP Service Marketplace (http://service.sap.com/patches).
5.Q: The trace file ccms_jmon.trc has the following entry (only 6.20): 'com.sap.mona.api.JMonAPIException: Could not Create/Attach Shared Memory. Permission Denied. Wrong User ID ?'
A: Stop all processes that are connected to the monitoring shared memory segment (sapccmsr, the monitor server and all j2ee nodes).
Install the latest JMON.SAR from the SAP Service Marketplace. Make sure that all occurrences of jmonapi.jar, the shared library and the agent sapccsmr are updated.
On UNIX: Check whether the shared memory segment 0x4dc4 really doesn't exist any longer (call 'ipcs -m'). If it still exists, remove the segment with cleanipc or reboot the host.
After a restart the shared memory segment must be created with permission 760.
If different J2EE cluster are installed on one host, JMON.SAR must be patched on each J2EE cluster (apply 3. to each J2EE cluster). Furthermore all processes (agent sapccmsr, monitor server for each cluster, J2EE nodes for each cluster) must run under users that belong to the same user group.
6.Q: The trace file ccms_jmon.trc has the following entry (only 6.20): 'java.lang.UnsatisfiedLinkError: no jmon in java.library.path'
A: Make sure that the shared library is installed correctly (see 3.).
7.Q: The trace file ccms_jmon.trc has the following entry (only 6.20): 'java.lang.RuntimeException: Version of JNI library is X.Y - required is A.B.'
A: Make sure that jmonapi.jar and the shared library are both updated with the new version (see 2.).
8.Q: How to register the agent sapccmsr?
A: To be able to view the monitoring data of the SAP J2EE Engine in transaction RZ20 of your monitoring system, you must register the agent sapccmsr at this monitoring system.
Detailed information about sapccmsr is available on:
-> Monitoring in Detail
-> CCMS Agents: Features, Installation and Usage
The registration is done via the following command line call.
After a successful registration the monitoring data can be displayed in transaction RZ20 with the monitor 'J2EE Engine' (or 'J2EE Applications') of the monitor set 'SAP CCMS Monitor Templates'
6.30 (or higher):
'sapccmsr -r -j2ee pf=<instance profile of the j2ee engine>'
Please note that the release of the monitoring system must be 6.40 or higher.
After a successful registration the monitoring data can be displayed in transaction RZ20 with the monitors of the monitor set 'SAP J2EE Monitor Templates'.
9.Q: Where to find a hint if the CCMS monitoring doesn't work?
For more information see the trace file 'ccms_jmon.trc' located in the same directory where the process is started (e.g.: '/tools' or '/cluster/server').
6.30 (or higher):
For more information see the trace files 'ccms_jmon.trc' and 'ccms_connector.trc' in the directories 'j2ee<nodeID>' under '/usr/sap/CCMS/<SID>_<instanceNumber>'.
10.Q: How to increase the size of the shared memory segment?
!! Please do not modifiy the size of the CCMS memory if not really necessary! In most cases it make sense to switch off parts of the JMX tree in CCMS instead. Please check note 1088985
A: For a more detailed description see OSS note 135503.
Add the following line to the profile of the agent sapccmsr:
alert/MONI_SEGM_SIZE=<new size of the segment>
If the agent runs without profile, create a new profile with the line above and register the agent with this profile.
Modify 'go.bat' (for all J2EE server) and 'monitor.bat' as follows:
'%JAVA_HOME%binjava' -Dsapccmsr.profile=<profile of the agent> ...
Restart all affected processes. Make sure that the shared memory segment doesn't exist any longer after stopping the processes.
6.30 (or higher):
Add the following line to the instance profile of the SAP J2EE Engine:
alert/MONI_SEGM_SIZE=<new size of the segment>
Restart all processes that are connected to the shared memory segment. Make sure that the shared memory segment doesn't exist any longer after stopping the processes.
11.Q: Monitor server terminates because of UnsatisfiedLinkError (only 6.20)
A: If the UnsatisfiedLinkError is thrown due to the missing of the JMon native shared library, please install JMon.SAR Patchlevel 15 or higher from Service Marketplace.
12.Q: The trace file ccms_connector.trc has the following entry (6.40): 'com.sap.mona.api.JMonAPIException: Internal error in tree structure'. In this case the file ccms_connector.trc might grow very fast because of many analogous exceptions.
A: Until the problem is fixed with a new SP of the J2EE engine, it is necessary to disable the reporting of the JMX monitoring data to CCMS.
This is done as follows:
-> start the offline configuration editor and switch to edit mode
-> choose 'cluster_data' -> 'server' -> 'cfg' -> 'services'
-> open 'Propertysheet monitor'
-> change 'CCMS_Mapping' from 'true' to 'false'
Restart the engine if it is running.
13.Q: The trace file ccms_connector.trc has the following entry (>= 6.40): 'com.sap.engine.library.monitor.mapping.ccms.CcmsConnectorException: Incompatibility detected. See OSS note 657143 how to handle this ...'
A: If only a few nodes are incompatibel open RZ20 in the central monitoring system and delete the nodes with option 3.
If the number of incompatible nodes is very high it's more convenient to stop all processes of the J2EE instance and the agent sapccmsr, remove the shared memory on UNIX with ipcrm and delete the files AL*.DAT in DIR_PERF.
14.Q: Which configuration steps are necessary to enable the CCMS monitoring in 6.20 when using the J2EE engine together with the startup framework?
A: Open the file 'service.ini' (in folder 'usrsap<XXXX>j2eej2ee_<XX>configtool') and append '-Dsap.jmon.nosystem=true' to all lines starting with 'Service_<Y>_JavaParameters' where 'Service_<Y>_Name=monitor'.