Warning: “License has expired!” is reported by an HP Diagnostics Mediator server

The following warning message was found in the "server.log" file on an HP Diagnostics Mediator server:

License has expired!

If an independent (non Commander mode) Diagnostics Mediator server has a license installed, the license validation check will take the following action:

for a Permanent License: after the "Instant-on" license expires (30 days) , the Mediator server will show license WARNINGs for invalid license even though no license is required for a Mediator,

for an Instant-on License: see WARNING: Instant-on license will expire.

As the Mediator is not in Commander mode, it does not require any license. Remove any license files and restart the Mediator.

Advertisements

Error :”Fatal initialization error. wrong ELF class” when starting SAP Collector

If the SAP collector fails to start with the below error in the collector.log file in the collector installation directory.

Error: SEVERE r3collector [main] Fatal initialization error. R3 Collector will terminate.

java.lang.ExceptionInInitializerError: JCO.classInitialize(): Could not load middleware layer ‘com.sap.mw.jco.rfc.MiddlewareRFC’ JCO.nativeInit(): Could not initialize dynamic link library sapjcorfc [/opt/MercuryDiagnostics/Collector/nanny/solaris/bin/libsapj
corfc.so: ld.so.1: java: fatal: /opt/MercuryDiagnostics/Collector/nanny/solaris/bin/libsapjc orfc.so: wrong ELF class: ELFCLASS64

Collector is installed on a 64bit Solaris machine and pointed to a 64bit SAPJco driver due to which this error occurs.

Verify that the JCO driver is a 32 bit version. Switch to a 32bit JCO driver for the SAPJco. The collector for Solaris was compiled on a 32bit machine, so the connecting drivers should be 32bit as well. The
collector and 32-bit SAPJco will work on the 64bit environment.

Diagnostics User Interface does not appear when using Internet Explorer 8

When Internet Explorer 8 (IE8) is used to view the Diagnostics User Interface (e.g. http://<servername>:2006/) some or all pages are not correctly displayed.

The Diagnostics User Interface (UI) is not fully compatible with the IE8 browser.

Use the IE8 compatibility mode when viewing the Diagnostics UI.

To configure the compatibility mode in IE8, choose Tools->Compatibility View Settings. In the "Compatibility View Settings" dialog, specify the address of the Diagnostics UI in the list of "Websites in Compatibility View", or tick "Display all websites in Compatibility View".

Alternatively, when a Diagnostics UI page does not display in IE8, click the button "Compatibility View" next to the IE8 address bar to enable compatibility mode.

Export a dump thread in one single file

By default, when exporting a dump thread, it is only possible to get one dump one at a time.

With this configuration, in order to get a single dump file for all exported threads, it would be necessary to develop a thread dump batch program running on servers with issues.

It is possible to execute a java utility from the probes in order to avail such functionality.

Such utility can be accessed through:

<JavaAgent>\DiagnosticsAgent\contrib\JASMUtilities\Snapins\runSupportSnapshot.cmd

Which will dump all the threads into one txt file.

Error: “java.lang.OutOfMemoryError: GC overhead limit exceeded” causing a Diagnostics Server crash

When running HP Diagnostics Server (various versions) with the Sun JVM 1.6.0_18, the Diagnostics Server is found to crash frequently due to a memory leak with messages of the form:

2011-04-05 16:07:52,582: SEVERE common : Unexpected Error [java.lang.OutOfMemoryError: GC overhead limit exceeded] occurred in thread [Probe Puller Main S_PULLER_IDLE_WAIT]

java.lang.OutOfMemoryError: GC overhead limit exceeded

and

2011-04-05 16:39:45,706: SEVERE mediator : Out Of Memory on thread Thread[Probe Puller Task,5, HP Diagnostics Server]: java.lang.OutOfMemoryError: GC overhead limit exceeded

and

2011-03-23 15:49:06,447: SEVERE equentEventScheduler: While running rare event: Calculate availability for Mercury System/Mercury System/<servername>

java.lang.OutOfMemoryError: GC overhead limit exceeded

being found in the "server.log" file. A JVM crash dump file may also be present indicated an issue with the garbage collection functionality for example it may contain:

Current thread (0x0000000000479800): GCTaskThread [stack: 0x0000000005f50000,0x0000000006050000] [id=1200]

or

Current thread (0x67f80400): GCTaskThread [stack: 0x680d0000,0x68120000] [id=2064]

This issue is due to a bug in the default garbage collector chosen by the JVM. For more information on this issue see:

http://forums.oracle.com/forums/thread.jspa?threadID=1539972&tstart=165

A workaround for this issue is to specify that the liner garbage collector should be used by the JVM by adding the "-XX:+UseSerialGC" flag to the server.nanny file located at:

<diagnostics_server_install_dir>\nanny\windows\dat\nanny\

for Windows. To add this flag modify the start_<platform> line in this file which should then look like:

start_nt="C:\MercuryDiagnostics\Server\jre\bin\javaw.exe" -server -Xmx512m -XX:+UseSerialGC

-Dsun.net.client.defaultReadTimeout=70000

-Dsun.net.client.defaultConnectTimeout=30000

"-javaagent:C:\MercuryDiagnostics\Server\probe\lib\probeagent.jar"

-classpath "C:\MercuryDiagnostics\Server\lib\mediator.jar;

C:\MercuryDiagnostics\Server\lib\loading.jar;

C:\MercuryDiagnostics\Server\lib\common.jar;

C:\MercuryDiagnostics\Server\lib\mercury_picocontainer-1.1.jar"

com.mercury.opal.mediator.util.DiagnosticsServer