IBM(R) Rational(R); PurifyPlus(TM) for Windows Release Notes, V7.0.1

Version 7.0.1

This file last updated: 10/05/2009

Material ID: GI11-9431-00


(C) Copyright IBM Corporation. 1992, 2009. All Rights Reserved.

This documentation (the "Work") is protected under the copyright laws of the United States and/or other jurisdictions, as well as various international treaties. Any reproduction or distribution of the Work is expressly prohibited without the prior written consent of IBM Corporation.

Before using this information, be sure to read the general information in Appendix. Notices



Scope

Product changes described in this document apply to:

These Release Notes include:

These release notes provide information critical to installing and using PurifyPlus, including the list of supported platforms and known issues with this release.

Components of PurifyPlus include:

References to PurifyPlus in these release notes applies to Purify, Quantify and PureCoverage.

Contents

What's New in This Release
Product Documentation
Hardware/Software Information
Compatibility Issues
With Rational Products
With Third-Party Products
Restrictions and Guidelines
Known Issues and Resolved Issues
Known Issues in This Release
Resolved Issues in Service Releases
Documentation Updates
Additional Information
Contacting IBM Customer Support for Rational software products

What's New in This Release

Product Documentation

PurifyPlus product documentation is available from the following locations:

Hardware/Software Information

The following sections outline the supported platforms and installation requirements for this version of PurifyPlus.

Desktop Requirements and Recommendations
Item
Hardware Requirements and Recommendations
Operating Systems
  • Microsoft Windows Vista Business, base through SP2
  • Microsoft Windows Vista Enterprise, base through SP2
  • Microsoft Windows Vista Ultimate, base through SP2
  • Microsoft Windows XP Professional, base through SP3
  • Microsoft Windows 2000 Professional, SP2 through SP4
  • Microsoft Windows 2000 Server, SP2 through SP4
  • Microsoft Windows 2000 Advanced Server, SP2 through SP4
  • Microsoft Windows Server 2003 Standard Edition, base through SP2
  • Microsoft Windows Server 2003 Enterprise Edition, base through SP2
  • Microsoft Windows Server 2003 R2 Standard Edition, base through SP2
  • Microsoft Windows Server 2003 R2 Enterprise Edition, base through SP2
  • Microsoft Windows Server 2008 Enterprise Edition, base through SP2
  • Microsoft Windows Server 2008 Standard Edition, base through SP2
  • Microsoft Windows Server 2008 Datacenter Edition, base through SP2
Hardware
  • Pentium III, Pentium 4, Xeon, Opteron
  • 500 MHz or higher
  • 256 MB RAM required, 1024 MB RAM recommended;
    more memory generally improves responsiveness
  • Swap space: 2 x physical memory
  • 600 X 800 X 256-color video resolution, or higher; high color or true color recommended
  • Microsoft Mouse or compatible pointing device
Disk Space to Install
  • IBM Rational PurifyPlus - 97 MB
  • IBM Rational Purify - 55 MB
Additional Disk Space

(needed to accommodate instrumentation cache)
  • Depends on the number and size of .exe and .dll files being instrumented. As a rough guide, expect instrumented modules to be 50% bigger than the original module.
Item
Software Requirements and Recommendations
Integrations with 3rd Party Applications
Compilers
  • Microsoft Visual C++ 6.0 with Visual Studio 6.0, SP4 through SP6
  • Microsoft Visual C++ 6.0 Processor Pack
  • Microsoft Visual Basic 6.0 with Visual Studio 6.0, SP4 through SP6
  • Microsoft Visual C++ .NET (unmanaged)
  • Microsoft ASP.NET, Visual Basic, C++, C#, J# .NET (managed)
  • Microsoft Visual C++ .NET 2003 SP1 (unmanaged)
  • Microsoft ASP.NET, Visual Basic, C++, C#, J# .NET 2003 (managed)
  • Microsoft Visual C++ 2005 SP1 (unmanaged)
  • Microsoft ASP.NET 2.0, Visual Basic, Visual C#, Visual C++, Visual J# 2005 (managed)
  • Microsoft Visual C++ 2008 SP1 (unmanaged)
  • Microsoft ASP.NET 3.5 & 3.5 SP1, Visual Basic, Visual C#, Visual C++, Visual J# 2008 (managed)
Debuggers
  • Microsoft Visual Studio 6.0, SP3 through SP6 (Debug format: COFF, CV4) (Debug Files: .exe, .pdb, .dbg, .map)
  • Microsoft Visual Studio .NET (Debug Format: COFF, CV4, CLR) (Debug files: .exe, .pdb)
  • Microsoft Visual Studio .NET 2003 SP1 (Debug Format: COFF, CV4, CLR) (Debug files: .exe, .pdb)
  • Microsoft Visual Studio 2005 SP1 (Debug Format: COFF, CV4, CLR) (Debug files: .exe, .pdb)
  • Microsoft Visual Studio 2008 SP1 (Debug Format: COFF, CV4, CLR) (Debug files: .exe, .pdb)
IDEs
Integrated Development Environments
  • Microsoft Visual Studio 2005, SP1
  • Microsoft Visual Studio 2008, SP1
Run-time Environments
  • IBM JVM 1.4.2, 5.0 (PureCoverage only)
  • Sun JVM 1.4.2, 1.5.0 (PureCoverage only)
  • Microsoft .NET Framework, 1.1, 2.0, 3.0, 3.5, 3.5 SP1
IBM Rational Documentation
Adobe Acrobat Reader 4.x or higher required to read online PDF files. Download the free Adobe Acrobat Reader from www.adobe.com.
Language Support
You can install PurifyPlus on these international operating systems:
  • Simplified or Traditional Chinese
  • Dutch, French
  • German
  • Hebrew
  • Italian
  • Japanese
  • Korean
  • Swedish
All displays, menus, controls, wizards, reports, and user documentation are in U.S. English.
  • If you have a Traditional Chinese, Dutch, Hebrew, or Korean operating system, enter data (such as path names) in U.S. English or the ASCII character set.
  • If you have a Simplified Chinese, French, German, Italian, Japanese, or Swedish operating system, enter data in U.S. English or the native language character set. Regional date, time, currency, and numbering conventions are also supported for both input and output.

Compatibility Issues

This section identifies special considerations for using PurifyPlus with other products, including Rational products and third-party software products.

With Third-Party Products

Installing IBM Rational Software in a Windows Terminal Server Environment

You can install and run PurifyPlus on a Windows Terminal Server console system as you would on any other supported Windows Server system.

To use IBM Rational products on a Terminal Server client, you must configure your console system to use floating licenses.

Restrictions and Guidelines

Restrictions and Guidelines
Topic
Applies To
Restriction
Installation PurifyPlus If PurifyPlus v7.0 (or earlier) is currently installed, you must uninstall it before you can install v7.0.1. This is because v7.0 used a different install technology that is incompatible with IBM Installation Manager. Use Add or Remove Programs to uninstall v7.0, then install v7.0.1.
Installation PurifyPlus The IBM Rational Common Licensing client is an optional feature that is selected by default, and once installed will create an entry in the Add/Remove programs list. You should install this feature and you should not uninstall it by using Add/Remove programs. Use the Modify functionality of Installation Manager to both add and remove this feature.
Installation PurifyPlus If you are installing on Windows 2000 SP4, you must have gdiplus.dll installed before Installation Manager will run. Gdiplus is not installed by default on Windows 2000, but will be installed as a part of various downloads such as Visual Studio, Platform SDKs, and others. If you don't have it installed, you should search for gdiplus.dll on www.microsoft.com/downloads to find an appropriate download.
AppInit_DLLs PurifyPlus PurifyPlus does not work correctly when dlls are injected into a process via the AppInit_DLLs registry key because it fails to instrument the injected libraries. In order for PurifyPlus to work correctly, the application which uses the key must be uninstalled and the system must be rebooted. The utility ComSpyNT is known to use this registry key.
Visual C++ PurifyPlus Applying changes to a running, instrumented program, using "Edit & Continue" in Visual C++ is not supported.
SetWindowsHook PurifyPlus There are compatibility problems between PurifyPlus and applications that use SetWindowsHook() and SetWindowsHookEx(). Often these compatibility problems can be solved by using minimal instrumentation for the hook DLL.

The SetWindowsHookEx() API is disabled in instrumented programs. This is to avoid hooking uninstrumented code from within an instrumented application. For workarounds to this, please contact Rational Software's Technical Support.

Stdin PurifyPlus You cannot use the stdin redirection request, as in test.exe < test.txt, when you instrument and run programs using the Run Program dialog. Use the command line interface instead.
argv[0] PurifyPlus In natively instrumented applications, argv[0] is set to the instrumented filename. You can specify a name for the instrumented file in Settings>Executable Settings>Files>Instrumented File Name, if your application depends on a specific value for argv[0].
Debug Data PurifyPlus PurifyPlus does not support the use of the NB05 debug data format in modules. You can use the cvpack utility program, included with Microsoft Visual Studio, to update the debug information for use with PurifyPlus. To do this, make a backup copy of the module, then run cvpack on the module. It will rewrite the module in place with the new debug information.
Instrumentation PurifyPlus The instrumentation of files fails to happen in the following situations:
  • A .pdb file is supplied after a .dll or .exe file has been instrumented. When the application is re-run, the .pdb file is not reinstrumented.
  • Two .dlls that have the same name and the same creation time are swapped, such as a debug version and a production version. The "new" .dll is not instrumented, because an identically-named file with the same timestamp already exists in the cache directory.
  • Instrumented .dll and .exe files that are located outside of the cache directory are not deleted when a new version of PurifyPlus is installed. When an application that uses one of these files is run, the existing instrumented version is used.
In each case, the problem can be resolved by deleting the instrumented files to force reinstrumentation.
Cache directory PurifyPlus PurifyPlus does not support Universal Naming Convention (UNC) names for the cache directory setting. Instead, a network drive should be mapped to specify a cache directory on a remote machine.
VirtualAlloc PurifyPlus PurifyPlus does not support VirtualAlloc regions that contain executable code. The code is considered to be part of the data section, and is not instrumented.
Relocations PurifyPlus PurifyPlus requires relocation data in order to provide source line information for an instrumented application. To ensure an application contains the necessary relocations, the Visual C++ linker option /FIXED:NO should be used when building an executable.
Hand-coded Assembly PurifyPlus PurifyPlus does not support modules that include hand-coded assembly. To ensure proper behavior, these modules should be instrumented in Exclude mode.
Japanese Language Pack PurifyPlus Due to a synchronization problem within the Japanese Language Pack on Windows XP, PurifyPlus must change the default keyboard setting for instrumented programs from Japanese to English. Before doing this, a dialog box will be displayed requesting consent to do so.
Running as a non-administrative user PurifyPlus The default location of the PurifyPlus cache directory is under the install folder which is typically located in the c:\Program Files\Rational\PurifyPlus directory. A user without administrative privileges does not have write access to the Program Files folder and may encounter error messages from PurifyPlus about not being able to create (or write to) a cache directory. In order to resolve this issue, non administrative users are advised to define an environment variable to point PurifyPlus to a writable folder for the cache directory:
set RATL_PQC_PROFILE_DIR=<writable folder> - e.g. user's profile directory
Further information can be found in the Files and File Locations section of the PurifyPlus online help.
Analyzing unmanaged C/C++ modules built in Microsoft Visual Studio 2005 or Visual Studio 2008 when neither is installed PurifyPlus You can run modules buit in Visual Studio 2005 or Visual Studio 2008 on machines that do not have either installed; however, in order to provide details about symbolic data in the code being analyzed, all PurifyPlus components (Purify, PureCoverage, and Quantify) require that the Microsoft Debug Interface Access Software Development Kit (DIA SDK) be installed. The DIA SDK can be installed by using an install package that comes with the Visual Studio 2005 installation. The package is located in your Visual Studio 2005 install directory, typically in Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86.exe.

If you do not install the DIA SDK, the PurifyPlus components will continue to operate, but will not be able to provide you with as much detailed information about unmanaged C/C++ modules as you normally see.

SetErrorMode Purify SetErrorMode() suppresses all system-level message boxes, including the Windows Application Error message box. If you enable Purify's Break On Error for a program that calls SetErrorMode(), Purify displays the access error in the Error View window, but the Application Error message box does not appear and the program continues to run.
Debugging Purify Purify assigns a default debugger based on the default AeDebug Debugger entry in the Registry. If you do not have Microsoft Visual Studio installed, it's possible that the registered program will not support full debugging.
Variable clock speed Quantify Quantify may provide incorrect timing results on systems equipped with variable clock rate mechanisms. Some processors, including many mobile processors, are designed so that their clock rates change on the fly. If the system is busy, the clock rate is higher; if it's not so busy the clock rate drops. Quantify measures the clock rate at a time when the processor is busy and then counts clock ticks to measure the times for functions that block or wait, such as Sleep(). When the clock rate slows down, there aren't as many clock ticks, and so the numbers that Quantify reports for functions like Sleep() may appear too low. To correct the timing results on these systems, shut down the operating system, and disengage the variable clock rate feature via the system's CMOS settings. This feature is known by different names, including SpeedStep (on Intel processors) and PowerNow! (on AMD processors). By disabling this feature while you are using Quantify, you can ensure that timing results are accurate even while the system is not constantly busy.

Known Issues and Resolved Issues

Known Issues in this release

The following table lists the known issues in PurifyPlus v7.0.1.

Known Issues
Topic
Product
Change Request
Description
Debugging PurifyPlus RATLC00031747 When debugging a managed application from within Visual Studio .NET, setting breakpoints and single-stepping will not work if PurifyPlus is engaged. This problem is unique to Visual Studio .NET. Debugging works as expected in Visual Studio .NET 2003.
Debugging PurifyPlus RATLC00369792 Within Visual Studio .NET and Visual Studio .NET 2003, the PurifyPlus engage button does not work for unmanaged applications. In order to run an unmanaged application with PurifyPlus engaged, the Run menu item should be selected for one of the PurifyPlus components. As an example, to run an unmanaged application with Purify engaged, select PurifyPlus>Purify>Run. In order to debug an unmanaged application with Purify engaged, the application must be run from the standalone Purify GUI with Run under the debugger checked in the Run dialog. It is currently not possible to debug an unmanaged application with PureCoverage or Quantify engaged.
Selective instrumentation and ASP.NET PurifyPlus RATLC0070331 Using PurifyPlus to selectively instrument ASP.NET applications does not work. The options necessary to enable this feature are not properly passed to the running application. This problem can be circumvented by setting a system environment variable. For Purify, this can be accomplished with the following:

PURIFYOPTIONS=sys_ini_filename="<User Profile>\Application Data\Rational\Purify\purifyw_pure.ini"

Where <User Profile> is the system-returned location for the Windows user profile directory.

Profiling .NET application running as a Service PurifyPlus RATLC00031871 In order to correctly profile a .NET application running as a Windows Service, perform the following steps:
  1. set COR_ENABLE_PROFILING=1
  2. set COR_PROFILER={679367E3-FC39-11D3-8A11-00105A2A1490}
  3. set PURE_MONITOR_ENABLE=<Product>
    where <Product> is one of Purify, Quantify or PureCoverage.
  4. set PURE_MONITOR_TARGET_PATTERN=<Basename of EXE>
    where <Basename of EXE> is the basename of your service executable (e.g. foo is the basename of foo.exe.)
  5. Reboot your machine
JNI Quantify RATLC00369104 When profiling native code invoked through Java's JNI interface, the Java runtime may throw an exception and abort. This is a known problem that can be worked around by specifying the Quantify option /profiler-runtime-flags=4 when instrumenting the native code. This may cause the Descendant time for functions that return back through JNI to appear larger than normal. The function time, however, will still be correct.
Data Set operations Quantify RATLC00369110 Data set operations such as focus and delete subtree data can change F and F+D times or even eliminate certain functions that have annotated source. Currently all the data collected at line level is NOT changed during data set operations (it reflects the totals over the entire dataset).

Resolved Issues in this Release

This table describes all issues resolved since v7.0.0.0-011 was released. This was the latest interim fix for v7.0.

This means that it includes issues that have already been delivered in post-v7.0.0.0-011 limited availability interim fixes. In these cases, the fix in which it was included is identified.

Issues that were first resolved in v7.0.1 are highlighted in grey.

Resolved Issue
Product
Defect Number
APAR
Description
Delivered in build
Purify, Quantify, PureCoverage RATLC00402303 PK86825 CQ PurifyPlus Integration: CQ 7.1 is not integrated with PurifyPlus 7.0 Limited Availability Interim Fix 7.0.0.0-011.B build 10240
PureCoverage RATLC00415133 - CoverageW crashes when running Java program with no classes filtered Limited Availability Interim Fix 7.0.0.0-011.B build 10240
Purify RATLC00415252 PK94479 Purify'd app and Purify itself aborts after the memory leak button is clicked Limited Availability Interim Fix 7.0.0.0-011.B build 10240
Purify RATLC00768090 IC48235 Formatted string displays abnormally in status bar Limited Availability Interim Fix 7.0.0.0-011.B build 10240
PureCoverage RATLC01479817 PK82870 "PureCoverage has encountered a problem and needs to close." message displayed when PureCoverage exits Limited Availability Interim Fix 7.0.0.0-011.A build 10193
Purify RATLC01485928 PK89722 New Leaks button reports false memory leaks. Limited Availability Interim Fix 7.0.0.0-011.A build 10193
Purify RATLC01487543 PK92049 Using Quick Filter for an MLK causes a crash when New Leaks button is used after filtering. Limited Availability Interim Fix 7.0.0.0-011.A build 10193

Documentation Updates

There are no known documentation issues at this time.

Additional Information

Product Notes
Topic
Applies To
Note
Debug data PurifyPlus PurifyPlus has a limited ability to display symbolic and line level information if it can not find the associated debug data for a given module. When you copy a DLL that you want to instrument into your working directory, also copy any related .pdb, .dbg, or .map files. This ensures that messages and profiling detail are as informative as possible. To verify that the debug data has been found and instrumented, check the module instrumentation dialog (Settings>Executable Settings>PowerCheck>Modules to Instrument>Configure).
Custom Allocators Purify Purify supports some custom memory allocators. Custom versions of new and malloc may initialize memory or increase the size of allocations. Custom allocation schemes that do their own sub-allocation are also supported. The function prototypes and calling conventions of overloaded new, malloc, calloc, realloc, delete, and free must match the standard allocators. In addition, it is still important to match new/delete and malloc/free calls.
First chance exceptions Purify When you run an application instrumented with Purify under a debugger, "First-chance exceptions" or access violations are displayed. These messages can safely be ignored.
Object Reference Data Purify In the Object List View of the Data Browser (for Java code), the Object + Reference (O+R) column does not list data by default. Since the O+R calculation is potentially time-consuming, it is an optional calculation. To force the system to make this calculation, display the Object details view: Right click in the Object reference graph pane and select the Line Scale Factors->Linear or the Line Scale Factors->Logarithmic menu item.
Stock Sample Purify Purify provides the source files to build a sample program, the Stock program. The Stock program contains intentional errors. If you try to run the program outside of Purify or a debugger, the program might crash.

Additional product information is available at the IBM Publications Center.

Contacting IBM Customer Support for Rational software products

If you have questions about installing, using, or maintaining this product, contact IBM Customer Support as follows:

The IBM software support Internet site provides you with self-help resources and electronic problem submission. The IBM Software Support Home page for Rational products can be found at http://www.ibm.com/software/rational/support/.

Voice Support is available to all current contract holders by dialing a telephone number in your country (where available). For specific country phone numbers, go to http://www.ibm.com/planetwide/.

Note:
When you contact IBM Customer Support, please be prepared to supply the following information:

Downloading the IBM Support Assistant

The IBM Support Assistant (ISA) is a locally installed serviceability workbench that makes it easier to resolve software product problems. ISA is a free, stand-alone application that you download from IBM.

ISA includes these features:

For more information about ISA, including instructions for downloading and installing ISA and product plug-ins, go to the ISA Software Support page.

IBM Support Assistant: http://www.ibm.com/software/support/isa/

Appendix. Notices

This information was developed for products and services offered in the U.S.A. IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service.

IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not grant you any license to these patents. You can send license inquiries, in writing, to:

IBM Director of Licensing 
IBM Corporation, North Castle Drive 
Armonk, NY 10504-1785 
U.S.A.

For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property Department in your country or send inquiries, in writing, to:

IBM World Trade Asia Corporation Licensing 
2-31 Roppongi 3-chome, Minato-ku 
Tokyo 106, Japan

The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you.

This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice.

Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk.

IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you.

Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact:

IBM Corporation 
Department BCFB
20 Maguire Road
Lexington, MA 02421 
U.S.A. 

Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee.

The licensed program described in this document and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any equivalent agreement between us.

Any performance data contained herein was determined in a controlled environment. Therefore, the results obtained in other operating environments may vary significantly. Some measurements may have been made on development-level systems and there is no guarantee that these measurements will be the same on generally available systems. Furthermore, some measurement may have been estimated through extrapolation. Actual results may vary. Users of this document should verify the applicable data for their specific environment.

Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.

COPYRIGHT LICENSE:

This information contains sample application programs in source language, which illustrates programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. You may copy, modify, and distribute these sample programs in any form without payment to IBM for the purposes of developing, using, marketing, or distributing application programs conforming to IBM's application programming interfaces.

Each copy or any portion of these sample programs or any derivative work, must include a copyright notice as follows:

(c) (your company name) (year). Portions of this code are derived from IBM Corp. Sample Programs. (c) Copyright IBM Corp. _enter the year or years_. All rights reserved.

Additional legal notices are described in the legal_information.html file that is included in your Rational software installation.

Trademarks

AIX, ClearCase, ClearCase Attache, ClearCase MultiSite, ClearDDTS, ClearGuide, ClearQuest, DB2, DB2 Universal Database, DDTS, Domino, IBM, Lotus Notes, MVS, Notes, OS/390, Passport Advantage, ProjectConsole, PureCoverage, Purify, PurifyPlus, Quantify, Rational, Rational Rose, Rational Suite, Rational Unified Process, RequisitePro, RUP, S/390, SoDA, SP1, SP2, Team Unifying Platform, WebSphere, XDE, and z/OS are trademarks of International Business Machines Corporation in the United States, other countries, or both.

Java and all Java-based trademarks and logos are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.

Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both.

UNIX is a registered trademark of The Open Group in the United States and other countries.

Linux is a trademark of Linus Torvalds in the United States, other countries, or both.

Other company, product or service names may be trademarks or service marks of others.

The following copyright applies to portions of the ClearQuest integration and HTML based help system.

Copyright 1996 Netscape Communications Corporation, all rights reserved. Created: Jamie Zawinski (jwz@netscape.com), 24-Dec-94. Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. No representations are made about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.