HP-UX Java™ SDK, RTE, and Plug-In 1.4.2.09 Release Notes


» Back to SDK, RTE, and Plug-In 1.4.2.x Release Notes

» Back to Runtime Plug-In 1.4.2.x for Netscape/Mozilla Release Notes

SDK 1.4.2.09 with HotSpot Server 1.4.2.09 JVM for HP Integrity and HP 9000 PA-RISC systems for the Java™ Platform
 

Contents

» Overview

» Features
 » HotSpot 1.4.2.09 JVM

» Installation
 » Patches
 » HP-UX PA-RISC System Requirements
 » HP-UX HP Integrity (Itanium) System Requirements
 » Installation instructions
 » Installing into an alternate location
 » File Structure SDK
 » File Structure Runtime Plug-in for Mozilla

» Usage documentation
 » SDK Usage
 » Removing support for unwanted architectures in the RTE
 » Support for dynamic thread local storage (TLS)
 » Signal Chaining Functionality (PA and HP Integrity)
 » Support for C++ applications built with -AA and -AP options (PA-RISC)
 » HotSpot JVM optons
 » Garbage Collectors: Parallel and Concurrent Mark and Sweep
 » Allocating Physical Memory and Swap in the Java Heap
 » Asian TrueType Fonts and Asian Locales
 » Date/Time Methods - New Defaults
 » Profiling
 » Closing a Socket When Accept or Read is Pending (PA-RISC only) - new patch information!
 » Compatibility with Previous Releases
 » Runtime Plug-In usage and configuration
 » Enabling HTML pages to use the Runtime Plug-in for HP-UX
 » Additional HP and Sun documentation

» Problem fixes and Known issues
 » Problem fixes

 » PA-RISC known issues
 » shl_load HotSpot libjvm problem due to TLS
 » 64-bit support X/Motif
 » 64-bit support - System call
 » /dev/poll Runtime support
 » HPjconfig configuration tool
 » Compiler safe points
 » Using Linker option +noenvvar and +compat on HP Integrity and PA-64 systems
 » Running Java with setuid or setgid

 » HP Integrity (Itanium) known issues
 » Initializing a JVM instance with JNI_CreateJavaVM
 » Using Linker option +noenvvar and +compat on HP Integrity and PA-64 systems
 » Running Java with setuid or setgid
 » Running Aries HP Integrity (Itanium) emulation on PA2.0

 » Software support

Overview

The HP-UX Software Development Kit for the Java™ 2 Platform Version 1.4.2.09 release provides the tools for developing and deploying Java applications on HP-UX 11.0, 11.11 (11i v1), and 11.23
(11i v2) HP9000 PA-RISC, and HP-UX 11.22 (11i v1.6) and 11.23 (11i v2) HP Integrity systems. Please see "HP-UX PA-RISC system requirements" for HP-UX releases that are not supported.

There are two principal products in the Java 2 Platform Standard Edition family:

  • J2SE Runtime Environment (RTE)
    The RTE provides the libraries, HotSpot Java virtual machine, and other components necessary for you to execute a Java application. You may include the runtime environment with your Java applications as long as you adhere to the HP software license agreement and supplemental restrictions provided in the LICENSE file. The RTE is provided as a separate product, and it is also included in the SDK download package. Java WebStart technology is also included in the RTE. The Java Runtime Plug-in for Mozilla is a separate download.
  • J2SE Development Kit (SDK)
    The SDK is a superset of the RTE, and includes additional tools such as compilers and debuggers that are necessary for developing applets and applications. The SDK download package includes the RTE.

Features

HP's SDK 1.4.2.09 is a 1.4.2 maintenance release and includes the following:

  • Sun Microsystems' 1.4.2_08 release*

  • Performance enhancements and defects fixed in previous 1.4. releases as well as the defects shown in "Problem Fixes."

  • Support for C++ -AA and -AP options PA-RISC

  • HotSpot 1.4.2.09 server JVM

  • Java Web Start

  • Runs in 32-bit or 64-bit mode on both PA-RISC and HP Integrity-based systems

* Please note that on occasion HP backports a defect fix from a Sun release that has not yet been merged into our current sources. Therefore a Sun defect may be fixed in an HP release even though the Sun release that contains the fix is not part of the HP release.

HotSpot 1.4.2.09 Server JVM

All -X options that were in earlier HotSpot JVMs are included in HotSpot 1.4.2.09. Performance, tool support, tool enhancements, and features are documented at http://java.sun.com/j2se/1.4.2/docs/.

The HotSpot 1.4.2.09 Server JVM for HP-UX 11 PA-RISC and HP Integrity systems is suitable for both client and server workloads. We invoke the Server VM with configuration options that suit client-side applications.

The SDK 1.4.2.09 HotSpot 1.4.2.09 Edition supports the APIs core to the Java 2 platform: Java Foundation Classes (JFC), Security, Java IDL, JDBC™, JavaBeans™, Remote Method Invocation (RMI), Java 2D, the Collections Framework, and a new set of nonblocking i/o APIs.

The Java 2 Platform version 1.4.2 API Specification is available at http://java.sun.com/j2se/1.4.2/docs/api/

Here is a partial list of the functionality that the HotSpot 1.4.2.09 Server JVM provides:

  • Improved performance

  • Nonblocking I/O APIs
    Introduced in 1.4.1, they are now part of the Java system libraries under the package java.nio. The previous implementation of I/O multiplexing using the class com.hp.io.Poll is still being included for backward compatibility. We encourage you to upgrade and use the features provided through the new java.nio package.

  • IPv6 support on HP Integrity and PA-RISC
    Please see "IPv6 support (Internet Protocol version 6) (SDK 1.4 and later)" in the HP-UX Programmer's Guide for Java 2 at HotSpot Technology Tools and Commands#IPv6 for usage information.

  • Java VM Debugging Interface (JVMDI)
    JVMDI and JPDA allow you to run HotSpot with numerous development tools. For more information, refer to http://java.sun.com/j2se/1.4/docs/guide/jpda/architecture.html

  • Java Platform Debugger Architecture (JPDA)
    Architecture and components are documented at http://java.sun.com/products/jpda/ and http://java.sun.com/j2se/1.4.2/docs/guide/jpda/. The jdb for HP-UX is similar to the Solaris implementation. For usage information, refer to Sun VM Invocation Options at http://java.sun.com/products/jpda/doc/conninv.html

  • Java VM Profiling Interface (JVMPI)
    Support for JVMPI allows you to profile java code with the HotSpot 1.4 VM so you can extract more accurate runtime profiles.

  • HP debugger WDB support
    Use HP's debugger WDB 3.0.01 or later to examine backtraces containing mixed language frames (Java and C/C++) in Java thread stacks. This simplifies debugging the VM and Java mixed-language applications. For more information, refer to "Using WDB to examine backtraces in Java thread stacks" in the HP-UX Programmer's Guide for Java 2 at: Debugging#wdb_debug.

  • -Xeprof option: Generates profile data for HPjmeter.
    For syntax and use, refer to the HP-UX Programmer's Guide for Java 2 at HotSpot Technology Tools and Commands

  • Large heap sizes
    Heaps up to 3.5GB are supported on HP-UX 11.23 (11i v2) (no patches required), and up to 3GB on HP-UX 11.11 PA (11i v1) with the installation of patches. Refer to the sections on expanding memory in the HP-UX Programmer's Guide for Java 2 at: Expanding Memory

  • 64-bit mode
    Supported by using the option -d64. For further information, refer to the HP-UX Programmer's Guide for Java 2 at HotSpot Technology Tools and Commands#-d64

  • Support for Java 3D
    For information on HP's Java 3D technology, see "3D for SDK & RTE overview & features" at Java™ 3D for SDK and RTE Downloads and Documentation

  • New garbage collectors
    Supports parallel and concurrent mark and sweep garbage collectors. For a detailed look at garbage collection and the new collectors, refer to JavaSoft's documentation "Tuning Garbage Collection with the 1.4.2 Java Virtual Machine" at http://java.sun.com/docs/hotspot/gc1.4.2/index.html.

  • Java Web Start bundled with the RTE
    The files for Java Web Start technology are part of the jre in the directory javaws. Web Start release notes are also included in the javaws directory.

Installation

Patches

*** IMPORTANT NOTE for PA-RISC Customers! ***

  • Beginning with SDK version 1.4.2.06, the following networking patch (or its superseded patch) must be installed for HP-UX 11.11 (11i v1) PA-RISC. The patch is not required for HP Integrity, or for other PA-RISC versions.
  • HP-UX 11.11 (11i v1) PA-RISC Required patch PHNE_29887 solves socket problems that may cause hangs

  • For all SDK versions 1.4.2.xx, the pthreads patch shown below (or its superseded patch) must be installed for HP-UX 11.0 or HP-UX 11.11 (11i v1) PA-RISC. The patch is not required for HP Integrity.
  • HP-UX 11.0 PA-RISC Required patch PHCO_29959 or
    HP-UX 11.11 (11i v1) PA-RISC Required patch PHCO_29960

    To determine which patches have been installed on your machine, log in as root and check your machine with:

    /usr/sbin/swlist -l product

    For a complete list of required and recommended patches (which includes the patches mentioned above), refer to the web page shown below. Please install ALL dependency patches as well. These will be listed on the IT Resource Center web page from where you download the patch: Patch Information

    Operating system patches should be installed before you install the SDK.

    HP-UX PA-RISC System requirements

    HP Superdome, rp8400, rp7400, rp5400, and rp4440 servers, and PA-based workstations running HP-UX 11.0, 11.11 (11i v1), or 11.23 (11i v2). The minimum system for running Java applications is a PA-RISC 2.0 system.

    HP-UX HP Integrity System Requirements

    The Java technology runs on all HP-UX HP Integrity-based systems. HP-UX 11.22 (11i v1.5) or 11.23 (11i v2) is required. (HP-UX 11.20 is not supported.) Refer to the following website for HP Integrity servers: HP Integrity Servers

    Installation instructions

    You need a total of approximately 160 MB of disk space to download and install the .depot file. The download file runs on both Workstations and Servers. After installing the software, you can remove the .depot file.

    Note:   When downloading a .depot file, some browsers don't recognize the .depot format and treat the file as a text file.  If this happens, right-click the Download Directly >> button (on the Software download confirmation window) and select Save Target As....

    To verify that the file downloaded correctly you need to use MD5 Secure Checksum (md5sum).   You can download MD5 Secure Checksum at HP-UX MD5 Secure Checksum if you do not already have this utility.   To verify your download with MD5 Secure Checksum, at the UNIX prompt, execute the command:
    md5sum <filename>
    If the file downloaded correctly, the checksum number for the file you downloaded should match the MD5 Checksum number given for that file.

    The SDK for the Java™ Platform installs under /opt/java1.4. The RTE is installed under /opt/java1.4/jre. If you have a previous installation of 1.4, please uninstall it using swremove and move any personal files from your existing /opt/java1.4 directory before you begin the new installation. If you do not uninstall a previous installation, you may see messages such as "Error: You have specified more than one fileset selection." As root user, use the following SD-UX swinstall command to install the software:

    /usr/sbin/swinstall

    This command will lead you through the installation. Change Source Depot Type to "Local Directory" and Source Depot Path to /tmp/<filename>. (If you used a directory other than /tmp in the previous step, replace /tmp with that directory name.) We recommend you select the "Reinstall filesets" and unselect the "Mount filesystems" option from the options menu.

    WARNING: Do not unarchive rt.jar, charsets.jar, jpda.jar, tools.jar, jce.jar, and jsse.jar. These files are needed by the SDK tools and the runtime environment.

    Add the directory /opt/java1.4/bin to your PATH.

    Note: To install the software into an alternate location, see the next sections "Installing into an Alternate Location."

    For information on setting important system parameters required for correct execution of Java programs refer to the Programmer's Guide which can be found at Programmer's Guide for Java™ 2.

    Setting install options using Software Depot Install (SD Install)

    1. To set install options, click the Options menu on the main SD Install window and click Change Options. We recommend setting the following install options:
      • Deselect Mount filesystems in /etc/fstab or /etc/checklist.
      • Select Reinstall filesets even if same revision exists.
    2. From the Actions menu click Change Source...
    3. Select Local Directory as the Source Depot Type.
    4. Enter the Source Host Name.
    5. Enter the Source Depot Path. If for example you downloaded the .depot file to the /tmp directory you would enter: /tmp/sdk14_14208_1122.depot
    6. If you used a directory other than /tmp in step two, replace /tmp with that directory name.
    7. Click OK and SD Install will guide you through the installation.

    If you are having problems with the software installation, refer to Software Support in these release notes.

    Verifying file download

    To verify that the file downloaded correctly, at the UNIX prompt run the command cksum <filename>. If the file downloaded correctly, the checksum number for the file you downloaded should match the checksum number given above for that file.

    Installing into an alternate location

    To install the software into an alternate location, add @/<alternatedirectory> to the end of the swinstall line, and add the alternate directory to your PATH.

    For example:

    /usr/sbin/swinstall -s <download> \* @/<alternatedirectory>

    Java prepends <alternatedirectory> to the default product path. Java will therefore install in /alternatedirectory/opt/java1.4.

    If you want your Java home directory in <alternatedirectory> without the /opt/java1.4 directories, you need to install into a temporary directory, and then move the directories to where you want them.

    For example:

    swinstall -s <download> \* @/<temporarydirectory>
    mv <temporarydirectory>/opt/java*/* <finalalternatedirectory >

    Or you can install and link to the directories.

    For example:

    swinstall -s <download> \* @/<actualdirectory>
    ln -s <finalalternatedirectory> /<actualdirectory>/opt/java*

    You will notice that the two files, <alternatedirectory>/etc and <alternatedirectory>/var are created. These may be purged, because they do not apply to a product installed in an alternate location.

    Please note that Java does not use the SD configure step; "installed" is the same as "configured".

    File structure SDK

    The following diagram below displays an abbreviated form of the file structure:

    
      java1.4
    
         |
    
      ___|______________________________________________
    
       |        |        |            |           |        
    
      bin      lib      jre          demo     include 
    
       |        |       javaws files*
    
      java    tools.jar  | 
    
      javac   dt.jar     |
    
      javadoc ir.idl     |
    
      javah   orb.idl    |
    
      javap              | 
    
      jdb                |
    
                      ___|_____________________________
    
                         |                             |
    
                        bin                           lib
    
                         |                             |
    
    ________________________________________________   | 
    
    java PA_RISC PA_RISC2.0 PA_RISC2.0W  IA64N  IA64W    |  
    
                                                       |
    
                                                       |
    
                 __________________________________________________________________
    
                 |      |    |       |        |           |           |        | 
    
               rt.jar  zi security PA_RISC  PA_RISC2.0  PA_RISC2.0W  IA64N   IA64W 
    
            charsets.jar             |________|___________|___________|________|___  
    
              jce.jar                |        |           |           |        |        
    
              jsse.jar            server    server      server      server   server
    
    		  
    

    * The files for Java Web Start technology are part of the jre in the directory javaws. Web Start release notes are also included in the javaws directory.

    The tools are under opt/java1.4/bin and the libraries nstall under opt/java1.4/lib. The tools.jar file contains the classes for supporting the tools and utilities. The file dt.jar contains the DesignTime archive of BeanInfo files.

    The jre directory includes the runtime environment. The file rt.jar contains the runtime classes for the core API. The file charsets.jar contains the internationalization and localization classes and files. The security directory contains security management files.

    The shared libraries used by the HP-UX platform are contained in the following directories:

    PA_RISC PA-RISC 1.1 32-bit
    PA_RISC2.0 PA-RISC 2.0 32-bit
    PA_RISC2.0W PA-RISC 2.0 64-bit
    IA64N HP Integrity 2 32-bit
    IA64W HP Integrity 2 64-bit

    The include directory contains the header files for supporting JNI and JVMDI.

    File structure Runtime Plug-in (JPI) for Mozilla

    The Runtime Plug-in for Mozilla for HP-UX requires the shared library(ies) loaded by the Mozilla browser, the remaining Runtime Plug-in files, and the RTE to be located in the following fixed relative position:

    /opt/java1.4/jre Runtime plug-in and RTE files
    /opt/java1.4/jre/plugin/PA_RISC2.0/mozilla Runtime Plug-in shared libraries loaded by Mozilla browser
    /opt/java1.4/jre/plugin/IA64N/Mozilla Itanium Runtime Plug-in shared libraries loaded by Mozilla browser

    If the JPI is installed in the default location, /opt/java1.4/jre, the following links are created during install to allow the browser to locate the Runtime Plug-in shared library:

    PA-RISC installation:

    
    /opt/mozilla/plugins/libjavaplugin_oji.sl -> \ 
    
        /opt/java1.4/jre/plugin/PA_RISC2.0/mozilla/libjavaplugin_oji.sl 
    
    

    HP Integrity installation:

    
    /opt/mozilla/plugins/libjavaplugin_oji.sl -> \ 
    
        /opt/java1.4/jre/plugin/IA64N/mozilla/libjavaplugin_oji.sl
    
    

    If the Runtime Plugin is installed in a non-default location, you or the system administrator needs to create similar links in order to enable Mozilla to find the Runtime Plug-in. Or you may use the environment variable MOZ_PLUGIN_PATH for Mozilla, which is described in the section below regarding configuration.

    Information on Mozilla for HP-UX is at Mozilla Web Browser for HP-UX Downloads and Documentation. Additional Plug-in documentation and FAQs can be found at http://java.sun.com/products/plugin.
     

    Usage documentation

    NOTE: Some of the usage documentation previously included in these release notes has been moved to the Java for HP-UX Programmer's Guide at Programmer's Guide for Java™ 2

    The Java for HP-UX Programmer's Guide at Programmer's Guide for Java™ 2 contains usage documentation for developers. There you will find information on HotSpot options, HP-specific optons and features, suggestions and examples for allocating memory, how to use WDB to examine backtraces in Java threads, code examples for using Java Native Interface, and much more.

    Another change is that beginning with 1.4.2.08, we are combining the SDK, RTE, and Runtime Plug-in release notes in this document.

    For additional documentation websites, refer to "Additional HP and Sun documentation" in these release notes.

    SDK Usage

    Removing support for unwanted architectures in the RTE

    Under the RTE license agreement, partners who redistribute the RTE may remove support for unwanted architectures. Functional components may NOT be removed under any circumstances. Beginning with this 1.4.2.05 release, you may remove support for unwanted architectures as follows:

    The following commands assume that the RTE has been installed in the standard location, i.e. /opt/java1.4/.

    The swremove commands must be run as root. Use these command lines:

    • On a PA-RISC or HP Integrity (Itanium) system, to remove PA_RISC 1.1 support:

    /usr/sbin/swremove Jre14.JRE14-PA11 Jre14.JRE14-PA11-HS
    (The -pa11 command line option will no longer work.)

    • On a PA-RISC system, to remove 64-bit support:

    /usr/sbin/swremove Jre14.JRE14-PA20W Jre14.JRE14-PA20W-HS
    (The -d64 command line option will no longer work.)

    • On an HP Integrity (Itanium) system, to remove 64-bit support:

    /usr/sbin/swremove Jre14.JRE14-IPF64 Jre14.JRE14-IPF64-HS
    (The -d64 command line option will no longer work.)

    • PA_RISC 2.0 support is not typically installed on HP Integrity, but if it is, to remove it:
      
      /usr/sbin/swremove Jre14.JRE14-PA20 Jre14.JRE14-PA20-HS \
      
               Jre14.JRE14-PA20W Jre14.JRE14-PA20W-HS
      
      

    Support for dynamic thread local storage (TLS)

    Dynamic thread local storage is fully supported on all HP Integrity (Itanium) systems, beginning with SDK Versions 1.4.2.00 and 5.0.

    Dynamic TLS is not available on any HP-UX PA-RISC system. However there is a workaround. Refer to "shl_load HotSpot libjvm problem due to TLS (PA-RISC)" in these release notes for details.

    Signal Chaining Functionality

    With signal chaining functionality, applications can now use signals that the JVM uses and they will not interfere with the JVM's functionality. For signal chaining, the application must load the library libjsig.sl (PA) or libjsig.so (Itanium) before libc.2.

    On PA-RISC, to obtain this functionality, you need to install the patch shown below and then use LD_PRELOAD. On HP Integrity, no patch and no workaround is needed.

    HP-UX 11.11 PA-RISC systems, install patch PHSS_28436 (or the patch that supersedes it)

    For examples and scenarios of how to use LD_PRELOAD, refer to the Java for HP-UX Programmer's Guide at: Using Signals#chaining

    Support for C++ applications built with -AA and -AP options (PA-RISC)

    Java supports the -AA and -AP options to build your C++ product. On HP Itanium systems, the C++ runtime libraries support -AA and -AP by default. On HP-UX 11.0 or 11.11 PA-RISC, if you are using the ANSI Standard C++ runtime (-AA) option in an application that loads Java, you need to use the -AA version of libjvm and libfontmanager. Note that these libraries are provided as a separate download on the same page from where you download the SDK and RTE, starting at this webpage:
    SDK and RTE 1.4.2.x Downloads and Documentation

    These are the Standard C++ Runtime version of these libraries:

    ./jre/lib/PA_RISC2.0/libjvm_v2.sl
    ./jre/lib/PA_RISC2.0W/libjvm_v2.sl
    ./jre/lib/PA_RISC2.0/libfontmanager_v2.sl
    ./jre/lib/PA_RISC2.0W/libfontmanager_v2.sl

    The native application must be linked with, or must dynamically load these versions of the Java libraries if your C++ application is compiled using -AA.

    The Standard C++ version of the JVM libraries are supported for PA_RISC2.0 and PA_RISC2.0W architectures only.

    If the JVM is invoked through the standard Java driver, then use the -V2 option to use the Standard C++ runtime.
    For example:

    java -V2 <javaprog>

    HotSpot JVM Options

    For all standard and non-standard options, please refer to the Java for HP-UX Programmer's Guide at HotSpot Technology Tools and Commands.

    Garbage collectors: Parallel, Concurrent mark, and Sweep

    JavaSoft has implemented new generational collectors that emphasize the throughput of the application or low garbage collection pause times.

    For a detailed look at garbage collection and the new collectors, refer to JavaSoft's documentation "Tuning Garbage Collection with the 1.4.2 Java Virtual Machine" at http://java.sun.com/docs/hotspot/gc1.4.2/index.html

    Allocating physical memory and swap in the Java heap

    The method of allocating physical memory and swap within the Java heap has changed. As a result, you are likely to see higher RSS (resident set size) memory usage when monitoring your Java processes with Glance or other tools, or your application startup may be slightly slower.

    For more details on why this occurs and for examples of using key command line options, see: Allocating Physical Memory and Swap in the Java Heap.

    Asian TrueType fonts and Asian locales

    Asian Locales are supported by HP's 1.4 JDK with TrueType fonts. For more details, please refer to HP-UX Fonts and the Java™ Runtime Environment.

    Date/Time methods - New defaults

    The HotSpot JVM uses the gettimeofday() system call to obtain date and time information.

    For performance reasons a new mechanism is used that uses the number of CPU ticks since the application started, to calculate the current time. As a result, changes to the system date or time using date(1), adjtime(2) or time synchronization utilities such as ntp will not be reflected in the date and time that the Java program returns, until the process is restarted.

    If your application requires that system time changes are immediately reflected, you can use the
    -XX:+UseGetTimeOfDay option to tell the JVM to use the gettimeofday call instead of the new, lightweight mechanism. However you may notice a drop in performance.

    Profiling

    In the SDK Version 1.4, a SIGPROF handler to support future profiling capability is installed automatically. This may cause incompatibilities with other native code or profiling tools which use SIGPROF.

    You can turn off the SIGPROF handler by using the following option -XX:+ReduceSignalUsage

    However be aware that using this option also turns off the SIGQUIT handler, and you therefore will not be able to get a Java stack trace.

    Closing a socket when accept or read is pending (PA-RISC) - new patch information!

    Because of changes to the mechanism by which a socket is closed in the VM, for all supported HP-UX PA-RISC systems, you no longer need to use the -XdoCloseWithReadPending option we recommended in earlier releases. However for HP-UX 11.11 the following patches (or their superseded patches) are required:

    PHKL_32457
    PHKL_25840
    PHKL_25842
    PHNE_25644
    PHNE_25084

    For more detailed information, refer to the Java for HP-UX Programmer's Guide at HotSpot Technology Tools and Commands#socket

    Compatibility with previous releases

    Sun Microsystems maintains upward compatibility, therefore an application written for a 1.3 JVM will run on a 1.4 JVM. Downward compatibility is generally not supported, because new API's are introduced that cannot be run on earlier JVMs.

    For a detailed description of the incompatibilities between 1.3 and 1.4, refer to http://java.sun.com/j2se/1.4/compatibility.html

    Runtime Plug-In usage and configuration

    You can configure the Runtime Plug-In by running the ControlPanel script, which launches the ControlPanel java application, or by loading ControlPanel.html in the browser. Both files are found in the directory jre/bin and jre/, respectively, under the directory where the Runtime Plug-in has been installed.

    The ControlPanel application generates a file,

    $HOME/.java/deployment/deployment.properties.

    This file contains, among other settings, the path to the RTE to be used by the Runtime Plug-in for HP-UX when the browser loads an applet from a Runtime Plug-in enabled html page. If the Plug-in is installed in the default location, this setting is stored in the key:

    javaplugin.jre.path=/opt/java1.4/jre

    No environment variables are necessary for configuring the Runtime Plug-In for HP-UX, Java Edition. However, you may optionally use the following environment variables.

    MOZ_PLUGIN_PATH

    You can use the MOZ_PLUGIN_PATH environment variable to direct the Mozilla browser to search alternate directories for plug-in libraries.

    Note: The entries in the $HOME/.java/deployment/deployment.properties file supersede those of MOZ_PLUGIN_PATH when locating the RTE.

    CLASSPATH

    A user's CLASSPATH environment variable can be passed by the JVM by running the Control Panel and specifying either '-cp' or '-classpath' in the "Java Run Time Parameter" box. You need to exit and rerun the browser for this change to take effect.

    For additional information on the Runtime Plug-In, refer to the Plug-In FAQs at Java™ Runtime Plug-in (JPI) for 1.3, 1.4, 5.0, & 6.0 Frequently Asked Questions.

    Enabling HTML pages to use the Runtime Plug-in for HP-UX

    The first time the Mozilla browser loads an applet from a Runtime Plug-in-enabled HTML page, it will download and install the Runtime Plug-in for HP-UX. Sun Microsystems Inc. has provided some additional tools to assist users in using Plug-in products. They have provided a converter to automate the enabling on HTML pages. They also provide an HTML specification for users who wish to enable their HTML pages manually.

    Information on Sun Microsystems HTML converter and specification is available at http://java.sun.com/reference/docs/index.html. You may want to use it to modify your HTML pages to specify use of the Runtime Plug-in for HP-UX, Java Edition, version 1.4.x instead of the default browser version of the HP-UX Runtime Environment for Java.

    Additional HP and Sun documentation

    The following websites have additional information:

    » HP-UX Programmer's Guide for Java 2
       Java man pages (located at/opt/java1.5/man)
    » Java 2 SDK version 1.4 features and tools
    » Java 2 version 1.4.2 API Specification
    » Java 2 SDK tools and utilities
    » Java 2 platforms and APIs - Authorized Books
    » Java tutorial
    » Java security
    » Java technologies
    » Swing Connection newsletter
    » Mozilla for HP-UX
    » DSPP Developer's Portal Java technologies

    Problem fixes and known issues

    Known JavaSoft bugs are documented in the Bug Database at http://developer.java.sun.com/

    Problem fixes

    Please note that on occasion HP backports a defect fix from a Sun release that has not yet been merged into our current sources. Therefore a Sun defect may be fixed in an HP release even though the Sun release that contains the fix is not part of the HP release.

    This 1.4.2.09 release includes the enhancements and defects fixed in previous HP 1.4.2 releases and in Sun's 1.4.2_08, as well as the following additional defect fixes:

    HP defect HP SR Duplicate JavaSoft ID Description
    JAGaf405208606380286N/AN/ALinkResolver::runtime_resolve_virtual_method crash in Java 1.4.2.04 IA
    JAGaf514268606391281N/A6226790UseParNewGC causes OutOfMemoryError abort
    JAGaf540068606393964N/AN/APerformance of Java_java_nio_Bits_copyFromByteArray is poor
    JAGaf547078606394689N/AN/AA GC cause is incorrectly reported as 'Unknown GC cause'
    JAGaf556978606395691N/AN/ACrash in PhaseIdealLoop::build_loop_late with Java 1.4.2
    JAGaf566908606396707N/AN/Alooping in NMethodSweeper with 1.4.2.05 IPF
    JAGaf572628606397280JAGaf671584896773C heap corruption when using libdcpr.sl
    JAGaf572958606397313N/AN/AFatal: CodeCache: no room for CodeBuffer constructor with Java 1.4.2.06
    JAGaf578768606397894N/AN/AJ JVM exits if it tries to report an error during error reporting
    JAGaf594198606399463N/AN/AJS: Java EUC_JP encoding, different "replacement" values are returned
    JAGaf609488606400999N/AN/AClient memory footprint, smaller initial heap size with no -Xms
    JAGaf653318606405410N/AN/AESupport execution of Java from a setuid environment
    JAGaf656938606405783N/AN/A15-20% Performance Regression in 1.4.2.08
    JAGaf671468606407240N/AN/ASDK 1.4.2 printing issues on HP-UX
    JAGaf690438606409143N/AN/AJVM Hangs in ObjectSynchronization logic

    PA-RISC Known Issues

    Below is some information on known PA-RISC defects. Some of the solutions require installing patches. For more information on locating and installing patches, go to: Patch Information

    shl_load HotSpot libjvm problem due to TLS (HP-UX 11.0 PA-RISC)

    The libjvm library for the HotSpot 1.4 JVM uses thread local storage (TLS). Currently, the dynamic loader that is used by shl_load does not support dynamically loading a shared library containing TLS when the library was not included in the link line.

    You may need to load a library dynamically (using shl_load or dlopen) that contains TLS, such as libjvm.sl, without having linked your application against it. This might be the case if your application uses plug-ins.

    The current workaround is a new linker feature LD_PRELOAD that is available for HP-UX 11.0 in patch PHSS_28434 (or its supersede patches). For HP-UX 11.11 (11i v1) the feature is included. For more information on LD_PRELOAD functionality and its limitations, read the man page for dld.sl AFTER you have installed the patch.

    64-bit Support X/Motif (HP-UX 11.00 & 11.11 (11i v1) PA-RISC)

    For 64-bit support on X/Motif, you will need to install one of the patches shown below (or their supersede patch), depending on your operating system.

    HP-UX 11.00 PHSS_28368 64-bi
    HP-UX 11.11 PHSS_28875 32/64-bit

    These fix GUI failures due to the window height of some Java application pop-up windows being too large.

    64-bit Support - System Call (HP-UX 11.00 PA-RISC)

    The lightweight timer may not function correctly because the system call __lw_get_thread_times() may fail.

    For HP-UX 11.0, the workaround is to install the two patches shown below, or their supersede patch. HP-UX 11.11 (11i v1) system calls function correctly.

    HP-UX 11.00 PHKL_28202 __lw_get_thread_times reports incorrect time
    HP-UX 11.00 PHKL_26008 cumulative pstat patch

    /dev/poll Runtime Support (HP-UX 11.00 & 11.11 (11i v1) PA-RISC)

    For systems where /dev/poll runtime support is required, you will need to install one of the following patches, depending on your HP-UX version. If the patches have been superseded, you may install the supersede patch.

    HP-UX 11.00 PHKL_24064
    HP-UX 11.11 PHKL_25468

    HPjconfig Configuration Tool

    HPjconfig version 2.0 is not supported on the HotSpot 1.4 VM. HPjconfig version 2.1 and later is supported, which you can download free from: Java™ Technology Software on HP-UX.

    Compiler Safe Points (HP-UX 11.00 & 11.11 (11i v1) PA-RISC)

    For both HP-UX 11.0 and 11.11, using Compiler Safe Points requires a patch. The required patch numbers are shown below. For information on locating and installing the patches, go to: Patch Information If the patches have been superseded, you may install the supersede patch.

    HP-UX 11.00 PHKL_28202
    HP-UX 11.00 PHKL_27089 (for 64-bit)
    HP-UX 11.11 (11i v1) PHKL_24751 and PHKL_27317
    HP-UX 11.11 (11i v1) PHKL_27092 (for 64-bit)

    In SDK 1.4.2.09, compiler safe points is off by default. To turn it on, use the -XX:+UseCompilerSafepoints option. Enabling compiler safepoints guarantees a more deterministic delay to stop all running java threads before doing a safepoint operation, namely garbage collection and deoptimization.

    Using Linker Option +noenvvar and +compat on HP Integrity and PA-64 Systems

    If your application links with libjvm and uses the JNI interface APIs to load the JVM directly, do not use the linker options +noenvvar or +compat on HP Integrity or PA-64 systems. The defect does not exist on PA-RISC 32-bit systems.

    Running Java with setuid or setgid

    Running java from setuid/setgid executables is restricted on HP-UX. In previous releases of HP-UX, executing java from a setuid/setgid environment has been disallowed.

    The HP-UX 11i September 2005 Quality Pack patch bundle provides support for /etc/dld.sl.conf which allows sys admins to specify a list of trusted paths on the system. When executing within a setuid environment, the dynamic loader will compare the paths in SHLIB_PATH/LD_LIBRARY_PATH against the list of trusted paths found in /etc/dld.sl.conf. If the path is a trusted path, then it will be used for library lookup.

    Users can run java from a setuid environment if the jre path is added to the /etc/dld.sl.conf file.

    The file /etc/dld.sl.conf is only referenced when the application is executing within an suid environment.

    On IPF, starting with JDK 1.4.2.09, users can launch java from an suid application with linker patch PHSS_32765 (or superceding patch) installed on the system.

    With JDK 1.4.2.09 and patch PHSS_32765, users do not need to specify the JRE path in /etc/dld.sl.conf.

    HP Integrity Known Issues

    Initializing a JVM instance with JNI_CreateJavaVM or attaching to JVM with AttachCurrentThread()

    Starting in 1.4.2.00 with the 64-bit SDK, the stack size required to initialize a JVM instance with JNI_CreateJavaVM or to attach to JVM with AttachCurrentThread() is greater than the HP-UX 11.23 (11i v2) Itanium pthread default of 256K. If you wish to call JNI_CreateJavaVM or AttachCurrentThread() from a pthread, you need to create the pthread with a larger stack size, at least 416K. Stack overflow failures during JVM initialization are not always clearly reported as such, since the JVM may not have yet installed its handlers, and the failures may appear as random exceptions. The solution is make sure you have enough stack space.ures may appear as random exceptions. The solution is make sure you have enough stack space.

    Using Linker Option +noenvvar and +compat on HP Integrity and PA-64 Systems

    If your application links with libjvm and uses the JNI interface APIs to load the JVM directly, do not use the linker options +noenvvar or +compat on HP Integrity or PA-64 systems. The defect does not exist on PA-RISC 32-bit systems.

    Running Java with setuid or setgid

    Running java from setuid/setgid executables is restricted on HP-UX. In previous releases of HP-UX, executing java from a setuid/setgid environment has been disallowed.

    The HP-UX 11i September 2005 Quality Pack patch bundle provides support for /etc/dld.sl.conf which allows sys admins to specify a list of trusted paths on the system. When executing within a setuid environment, the dynamic loader will compare the paths in SHLIB_PATH/LD_LIBRARY_PATH against the list of trusted paths found in /etc/dld.sl.conf. If the path is a trusted path, then it will be used for library lookup.

    Users can run java from a setuid environment if the jre path is added to the /etc/dld.sl.conf file.

    The file /etc/dld.sl.conf is only referenced when the application is executing within an suid environment.

    On IPF, starting with JDK 1.4.2.09, users can launch java from an suid application with linker patch PHSS_32765 (or superceding patch) installed on the system.

    With JDK 1.4.2.09 and patch PHSS_32765, users do not need to specify the JRE path in /etc/dld.sl.conf.

    Running Aries HP Integrity emulation on PA2.0

    If you are running the Aries HP Integrity emulator on a PA2.0 system with HP-UX 11.22 or 11.23, a defect exists which causes Java math calculations to produce incorrect math routine results. This problem is fixed by installing the following patches, or the patches that supersede them:

    HP-UX 11.22 PHSS_29654 (or the patch that supersedes it)
    HP-UX 11.23 PHSS_29658 (or the patch that supersedes it)

     

    Software Support

    If you are having problems with the download or software installation, please take a minute to read through these commonly encountered problems, which might apply to you.
    • If you cannot resolve the download problem, report your download problem and provide us with the following information:
      • Java version you are trying to download
      • HP-UX OS version (in a shell window, type uname -a)
    • If you cannot resolve the software installation problem, please contact your authorized support provider and provide them with the information below. Check HP's support page at: http://www1.itrc.hp.com/service/home/home.do for HP support information.

      The IT resource center will need the following the following information to assist you:
      • The command line you are using to run swinstall
      • The output of the command
      • The options you chose in swinstall
      • The source depot path

    For other problems, please refer to SDK & RTE 1.4 product support page at: Java HP-UX support page.

    For information on using Java, see the Programmer's Guide.

    Legal notices

    © Copyright 2001, 2005 Hewlett-Packard Development Company, L.P.
    Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.