1.0 Known problems and limitations
1.1 Generic Log Adapter
1.1.1 Problems running Generic Log Adapter rules IBM's Java Runtime Environment (JRE) v1.4.1
1.1.2 Importing a log file from a remote z/OS system may result in incomplete data
1.1.3 Invalid Common Base Event XML generated for log files containing control characters
1.1.4 Long message elements truncated when converting to Common Base Event
1.1.5 ExtendedDataElement elements created not to Common Base Event specification
1.2 Agent Controller
1.2.1 Console text is garbled when profiling a Java application on a DBCS system
1.2.2 Agent Controller file copy on HP 11i does not work
1.2.3 Agent Controller reports "sh: sysdef: not found" error on Solaris
1.2.4 Agent Controller running with a Sun JVM on Linux enters an infinite loop
1.2.5 Agent extension does not work on iSeries systems
1.2.6 Multiple instances of Agent Controller on one machine not permitted
1.2.7 Agent Controller crashes when RAServer command typed in with incorrect case on Windows
1.3 Log and Trace Analyzer
1.3.1 Logging agent does not show up in Agents tab in new profiling configuration wizard
1.3.2 Continuous log monitoring is not supported for localhost
1.4 Probekit
1.5 Profiling Tool
1.5.1 Problem with garbage collection when using IBM JDK 1.4.1
1.5.2 With Sun JVM, some method calls are not traced
1.5.3 Profiling on Solaris using the Sun JDK 1.4.x may cause JVM to crash
1.5.4 Potential crash when running in standalone mode with STACK_INFORMATION=contiguous on Solaris
1.5.5 Negative timeout values for WAIT and WAITED events
1.5.6 Incorrect monitor dumps with IBM JDK 1.4.2
1.5.7 Method counts incorrect with JIT Inlining
1.6 Statistical Console
1.7 Test
1.7.1 Common Test Issues
1.7.1.1 JUnit, Manual, and URL Tests do not work on iSeries
1.7.1.2 Datapool Access
1.7.2 Hyades URL Test
1.7.2.1 URL response time and hit rate reports are not visible in the Test navigator
1.7.2.2 URL Test Recorder displays "IWAT3042E recording aborted due to exception: null"
1.7.2.3 Executing URL Tests as JUnit tests
1.7.2.4 Executing the URL Test Sample
1.7.2.5 URL Test Sample readme.html incorrectly refers to 'Component Test'
The IBM JDK 1.4.1 that ships in 2003 causes problems in the rule-based Apache access log parser.
Service Release (SR2) and above is required when running IBM's Java Runtime Environment (JRE) v1.4.1 to use the Generic Log Adapter and/or importing log files in Hyades using a rules-based log file parser.
Bugzilla defect: 80730
Importing a log file using Log and Trace Analyzer from a remote z/OS system may result in incomplete data shown in the Log View. The import operation may stop prematurely and not all of the log records are shown in the Log View. This problem occurs when one of the following IBM JDK versions is installed on the z/OS system:
To work around this problem, change the configuration of the Hyades Agent Controller on the z/OS system by doing the following steps:
<Parameter position="prepend" value="-Djava.version=1.4"/> <Parameter position="prepend" value="-Djava.compiler=NONE"/> <Parameter position="append" value=""config_path=%GLA_CONFIG_PATH%""/>
Bugzilla defect: 81490
Generic Log Adapter may generate invalid Common Base Event XML for log files that contain control characters, such as x01. Specifically, if the control character is parsed into a Common Base Event field, invalid XML will be generated. The XML generated by Generic Log Adapter in these cases may cause errors or exceptions when users of the Generic Log Adapter, such as Log and Trace Analyzer, try to parse the XML. In the case of Log and Trace Analyzer, only Common Base Events preceding the incorrect XML will be shown in the Log View. To avoid this problem, ensure log files do not contain any control characters.
Bugzilla defect: 81649
When parsing log file records with messages longer than 1024 characters, Generic Log Adapter may not capture the end of the message in the Common Base Event. The Common Base Event specification gives a limit of 1024 characters to the value of the msg field. When GLA parses a message longer than 1024 characters, it sets the msg field to contain the first 1024 characters of the message and then stores the full message in two or more Extended DataElement elements, each containing up to 1024 characters. Generic Log Adapter fails to store the last portion of the message if it is less than 1024 characters. This last portion of the message is not stored in the Common Base Event.
In other words, the message is stored in a set of strings 1024 characters long, and if the last of these strings is less than 1024 characters, it is discarded.
There is no work around for this problem.
Bugzilla defect: 79880
Generic Log Adapter may create Common Base Events that do not conform to the Common Base Event specification with respect to ExtendedDataElement elements. The Common Base Event version 1.0.1 specification indicates that the ExtendedDataElement values field is an array of Strings and there is a 1024 limit to the size of the String. Generic Log Adapter does not check the size of the value string parsed from the log record before adding it to the values String array and therefore may create an ExtendedDataElement with the values array containing Strings longer than 1024 characters.
There is no work around for this problem.
When profiling a remote Java application within Eclipse on a DBCS (e.g. Traditional Chinese, Simplified Chinese, Japanese, Korean) system, the console output is displayed as garbled text. This problem happens on all platforms except the Z/OS and iSeries.
To work around this problem, add a Java VM argument -Dconsole.encoding=UTF8 when launching the remote Java application. This will ensure proper encoding when transferring the console output from the remote side back to the Eclipse workbench.
The file copy does not work because the file server does not startup. This is due to the JVM library libjvm.sl not being loaded at run-time, which in turn causes the file server not to run.
To work around this, the linker patch version PHSS_30049 or higher is required. The linker version from patch 30049 is as follows:
/bin/ld:
$Revision: 1.2 $
HP aC++ B3910B X.03.37.01 Classic Iostream Library
HP aC++ B3910B X.03.37.01 Language Support Library
ld_msgs.cat: $Revision: 1.2 $
92453-07 linker command s800.sgs ld PA64 B.11.38 REL 031217
To check the version number: what /bin/ld
To list the installed patches: swlist -l fileset
Grep for "ld" to get the version number for the cumulative ld and linker tools patch.The Agent Controller uses the sysdef command to obtain the maximum size for a shared memory buffer on your system. If the Agent Controller is unable to run sysdef, it will use dataChannelSize="30M" specified in the <RAServer>/plugins/org.eclipse.hyades.datacollection/pluginconfig.xml file. The following error will be reported on the console where the RAServer.exe was launched:
sh: sysdef: not foundTo work around this problem, add the /usr/sbin directory, which contains sysdef, to the PATH variable.
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION" text="Service starting"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"
text="Successfully loaded plugin: org.eclipse.hyades.datacollection"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"
text="Successfully loaded plugin: org.eclipse.hyades.logging.parsers"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"
text="Successfully loaded plugin: org.eclipse.hyades.test"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"
text="Active configuration set to: default"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"
text="Loaded configuration: default"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"
text="Service started successfully"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="Server stopping"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="Internal server closed"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="External server closed"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="Server stopping"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="Internal server closed"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="External server closed"/>
To work around this problem, set LD_LIBRARY_PATH pointing to all .so files before starting
Agent Controller. For example, before running the RAServer, issue this command:
export LD_LIBRARY_PATH=/opt/j2sdk1.4.2_04/jre/lib/i386/server:/opt/j2sdk1.4.2_04/jre/li b/i386
Agent extensions do not work on iSeries systems.
To work around this problem, before starting the Agent Controller on the iSeries machine, execute the following command:
ADDLIBLE LIBNAMEwhere LIBNAME is the library name that contains the agent extension code. This will allow the Agent Controller to find and load the library.
Only one instance of the Agent Controller may be installed on a machine. This means that if you have installed the engine or an extended version of the engine with another product, you will have to uninstall that instance for a new instance to work correctly. For example, some IBM WebSphere Studio or IBM Rational products, or the Autonomic Computing Toolkit from developerWorks, include optional installs of the Agent Controller under the name Agent Controller.
Bugzilla defect: 80367
The RAServer command is case sensitive on Windows. If you type in "raserver", Agent Controller will crash.
To work around this problem, use the correct case when typing in the command:
RAServer.
Bugzilla defect 80399
If you are creating a profiling configuration, but the agent you need to use is not showing up in the Agents tab, ensure that the hyadesdc\bin directory is in the PATH environment variable setting. If you are starting the workbench from the command line, you can set the PATH variable from the same command line window as you will be starting the workbench. If you will be starting it from an icon, set the variable and then reboot for the PATH change to take effect system-wide (especially on Windows XP).
Log and Trace Analyzer does not support continuous log monitoring via localhost. However, if you want to continuously monitor local log files, you can through the loopback interface (127.0.0.1), thus simulating a remote import with a local log file. In this case the logging agent can be at any time terminated to avoid hanging the UI.
To import or continuously monitor via loopback, Agent Controller must be started (not necessary for importing from localhost).
If the user's application uses an extremely large amount of heap space, requesting Collect Object References or Run GC, can potentially cause the JVM to crash with the following error message:
**Out of memory, aborting**
*** panic: JVMCI023: Cannot allocate memory to collect heap dump in jvmpi_heap_dump
abnormal program termination
You can try to work around this by running without the -Xmx parameter, if you are currently running with it.
Bugzilla defect: 69051
Using the Sun JDK on Windows, certain method calls in Java programs are not being traced by JVMPI.
There is no known workaround.
Bugzilla defect:56404
When profiling on Solaris using the Sun JDK 1.4.x
may cause the JVM to crash. This is due to a bug in the Sun JVM.
To work around this problem, use only one of the following profiling sets:
The problem arises if you use these in combination, or if "Show instance level" information is turned on.
Bugzilla defect:
50090
When profiling on Solaris, you may encounter problems with standalone profiling. The problem only occurs when
STACK_INFORMATION=contiguous (or boundaryAndContiguous) and TRACE_MODE=full. This problem may result in your JVM crashing.
To work around this problem with STACK_INFORMATION=contiguous, set TRACE_MODE=noObjectCorrelation. The problem does not occur when STACK_INFORMATION=none or STACK_INFORMATION=normal.
Bugzilla defect: 63969
When running with IBM 1.4.2 JDK, with the Hyades jvmpi profile option 'MONITOR_MODE=all' (in standalone mode), you may see negative timeout attributes on monitorWait and monitorWaited elements in their trace. These are actually extremely large timeout values cast as positive 64 bit integers. This bug is the result of a JDK bug.
Bugzilla defects: 65193 and 72180
Because of a JDK bug, when running Hyades in standalone mode with the jvmpi profile option 'MONITOR_MODE=all', you may get incorrect monitor dumps. For bug 65193 particularly, this happens when the '-Xj9' VM argument is used.
Bugzilla defect 70660 (closed as "Won't fix")
If you suspect that the method counts you are seeing in the analysis tools are too low, turn off JIT inlining, if you are using it. This problem happens only when with the IBM Java 2 Runtime Environment v.1.4.2, and only when JIT is enabled.
The only work-around for this problem is to turn off inlining. To do this, set the following environment variable:
JITC_COMPILEOPT=NINLINING
N/A
Bugzilla defect: 68899
Bugzilla defect: 68911
The documentation that describes accessing a datapool from a Hyades test is missing a step
and contains a code sample that doesn't completely work.
The following jars need to be added to the Java build path. ([ECLIPSE_HOME] is the directory
where Eclipse has been installed.
[ECLIPSE_HOME]/plugins/org.eclipse.hyades.models.common_3.0.0/common_model.jar [ECLIPSE_HOME]/plugins/org.eclipse.hyades.test.datapool_3.0.0/datapool_api.jar [ECLIPSE_HOME]/plugins/org.eclipse.emf.ecore_2.0.0/runtime/ecore.jar [ECLIPSE_HOME]/plugins/org.eclipse.emf.common_2.0.0/runtime/common.jar
The following code snippet demonstrates how to access a datapool and extract information properly.
IDatapoolFactory dpFactory = new Common_DatapoolFactoryImpl();
IDatapool datapool = dpFactory.load(new File("d:\\hyades3.0\\workspace\\testproj\\dpoo1.datapool"), false);
IDatapoolIterator iter = dpFactory.open(datapool, "org.eclipse.hyades.datapool.DatapoolIteratorSequentialPrivate");
iter.dpInitialize(datapool, -1);
while (!iter.dpDone())
{
String firstName = iter.dpCurrent().getCell("First Name").getStringValue();
// your code here
iter.dpNext();
}
Bugzilla defect:68553
URL response time and hit rate reports are not visible in the Test navigator. The reports can be found by opening the project
under which they were created in the 'Resource' perspective.
Bugzilla defect:66199
When Eclipse is launched with the the '-Xj9' argument, after multiple recordings the
'Recorder Control' view will display "IWAT3042E recording aborted due to exception: null".
The workaround is to close and reopen Eclipse.
Hyades URL Tests can be executed as JUnit tests. In order to do so, the following entries must be added to the Java build path of the project containing the URL Test:
[ECLIPSE_HOME]/plugins/org.eclipse.hyades.logging.core_3.0.0/hlcore.jar
[ECLIPSE_HOME]/plugins/org.eclipse.hyades.logging.core_3.0.0/hlcbe101.jar
[ECLIPSE_HOME]/plugins/org.eclipse.emf.ecore_2.0.0/runtime/ecore.jar
[ECLIPSE_HOME]/plugins/org.eclipse.hyades.logging.java14_3.0.0/hl14.jar
[ECLIPSE_HOME]/plugins/org.eclipse.emf.common_2.0.0/runtime/common.jar
The URL Test Sample won't execute directly after its creation. Two artifacts must be configured for it to run successfully. artifact1's CLASSPATH variable should point to the location of the workspace on the machine:
[ECLIPSE_HOME]/eclipse/workspace/URL Test Sample/bin
location1's ROOTDIR variable should point to the directory that represents the workspace
[ECLIPSE_HOME]/workspace
The default name of the URL Test Sample contains spaces. This may cause problems for certain operating systems. The name of the sample can be changed when it is created.
Bugzilla defect:68910
The URL Test Sample web page refers to an online help section named 'Component Test', which does not exist. The web page should refer to the 'Test' section of online help.