HP-UX 11i Java JDK and JRE Version 8.0.18 Release Notes

Page created by Cathy Espinoza
 
CONTINUE READING
HP-UX 11i Java™ JDK and JRE Version
8.0.18 Release Notes

Part Number: P08519-005
Published: June 2019
Edition: 1
©   Copyright 2019, Hewlett Packard Enterprise Development LP

Notices
         The information contained herein is subject to change without notice. The only warranties for Hewlett
         Packard Enterprise products and services are set forth in the express warranty statements accompanying
         such products and services. Nothing herein should be construed as constituting an additional warranty.
         Hewlett Packard Enterprise shall not be liable for technical or editorial errors or omissions contained
         herein.
         Confidential computer software. Valid license from Hewlett Packard Enterprise required for possession,
         use, or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer
         Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government
         under vendor's standard commercial license.
         Links to third-party websites take you outside the Hewlett Packard Enterprise website. Hewlett Packard
         Enterprise has no control over and is not responsible for information outside the Hewlett Packard
         Enterprise website.

Acknowledgments
         Intel®, Itanium®, Pentium®, Xeon®, Intel Inside®, and the Intel Inside logo are trademarks of Intel
         Corporation in the U.S. and other countries.
         Microsoft® and Windows® are either registered trademarks or trademarks of Microsoft Corporation in the
         United States and/or other countries.
         Adobe® and Acrobat® are trademarks of Adobe Systems Incorporated.
         Java® and Oracle® are registered trademarks of Oracle and/or its affiliates.
         UNIX® is a registered trademark of The Open Group.
Contents

    HP-UX 11i Java™ JDK and JRE version 8.0.18 release notes.............5
          Java overview............................................................................................................................... 5
          JDK and JRE overview................................................................................................................. 5
          Java SE 8 Features...................................................................................................................... 5
          POODLE SSL v3 vulnerability...................................................................................................... 8

    What is new in 8.0.18............................................................................ 10
          Equivalent Oracle release...........................................................................................................10
          HotSpot Java Virtual Machine.....................................................................................................10
          Java command-line option for disabling execute permissions....................................................10
          Known Oracle issues.................................................................................................................. 10
          New Japanese Era Name and Implementation.......................................................................... 10
          Defects fixed in this release........................................................................................................ 11
          Security fixes in this release........................................................................................................11

    Installing JDK and JRE.........................................................................12
          Required patches for JDK and JRE............................................................................................ 12
          HP-UX system requirements.......................................................................................................12
          Installation instructions................................................................................................................12
          Installing the JDK or JRE from a single download bundle.......................................................... 13
          Installing into an alternate location..............................................................................................13
          File structure: JDK and JRE........................................................................................................14
          Removing support for unwanted architectures in the JRE..........................................................15

    Using JDK and JRE...............................................................................16
          Enabling support for X/Open Socket...........................................................................................16
          Obsolete options......................................................................................................................... 16
          Obsolete Environment Variable...................................................................................................16
          Change in JVM error message at startup................................................................................... 16
          Lower initial RSS starting in JDK 6.0.03..................................................................................... 16
          Interruptible I/O support is disabled by default on JDK 7.0 and higher.......................................17
          Caching ClassLoader to improve performance...........................................................................17

    Known issues........................................................................................ 18
          Warning with -Xmpas.................................................................................................................. 18
          Identical values specified for -Xmx -Xms on Java 6, 7, and 8.................................................... 18
          Stream Control Transport Protocol (SCTP) supported with limitation.........................................18
          libjvm.so no longer links with libstd_v2.so.................................................................................. 19
          Setting the value of PTHREAD_SUSPEND_SYNC....................................................................19
          Supplementary characters display as empty boxes....................................................................19
          Initializing a JVM instance for JNI_CreateJavaVM() or AttachCurrentThread()..........................19
          Linker option +noenvvar and +compat........................................................................................19
          Running Java with setuid or setgid on HPE Integrity Systems................................................... 19

                                                                                                                                                      3
Support and other resources...............................................................21
          Accessing Hewlett Packard Enterprise Support......................................................................... 21
          Accessing updates......................................................................................................................21
          Customer self repair....................................................................................................................22
          Documentation feedback............................................................................................................ 22
          Remote support.......................................................................................................................... 22

4
HP-UX 11i Java™ JDK and JRE version 8.0.18
release notes
Java overview
   Java™ Platform, Standard Edition 8 (Java SE 8) for HP-UX provides tools for developing and deploying
   32-bit and 64-bit Java applications on HP-UX 11i Integrity systems. For information about what HP-UX
   releases are supported, see HP-UX system requirements.

JDK and JRE overview
   The two principal products delivered in a single Java SE 8 download package are:

   •   Java SE 8 Runtime Environment 8 (JRE)
       The JRE provides the libraries, HotSpot Java virtual machine, and other components necessary for
       executing a Java application. Ensure to include the JRE with the Java applications as long as
       complying to the Hewlett Packard Enterprise software license agreement and supplemental
       restrictions. Include all runtime environment files provided by Hewlett Packard Enterprise.
   •   Java SE 8 Development Kit (JDK)
       The JDK is a superset of the JRE and includes additional tools such as compilers and debuggers
       necessary for developing applets and applications. The JDK that is installed from the Java download
       package includes the installation of the JRE.

   The release notes are not included in the software kit. The online version is available at http://
   www.hpe.com/info/hpux-java-docs, which is the primary source of information for the release. It has
   updated information, especially regarding known defects. Ensure to check this version occasionally for
   updates. Note that Java SE 8 for HP-UX does not include the Runtime Plug-in or Java Web Start.

Java SE 8 Features
   Java SE 8 is a major release. It includes many new features, enhancements, updates, and also preserves
   upward compatibility with previous releases. Some of the new features in Java SE 8 are:

   •   Java Programming Language
       ◦   Lambda Expressions, a new language feature, has been introduced in this release. They enable
           you to treat functionality as a method argument or code as data. Lambda expressions let you
           express instances of single-method interfaces (called as functional interfaces) more compactly.
       ◦   Method references provide easy to read lambda expressions for methods that already have a
           name.
       ◦   Default methods enable new functionality to be added to the interfaces of libraries and ensure
           binary compatibility with code written for older versions of those interfaces.
       ◦   Repeating Annotations provide the ability to apply the same annotation type more than once to the
           same declaration or type use.
       ◦   Type Annotations provide the ability to apply an annotation anywhere a type is used, not just on a
           declaration. Used with a pluggable type system, this feature enables improved type checking of
           your code.

                                             HP-UX 11i Java™ JDK and JRE version 8.0.18 release notes           5
◦   Improved type inference.
            ◦   Method parameter reflection.

        •   Collections
            ◦   Classes in the new java.util.stream package provide a Stream API to support functional style
                operations on streams of elements. The Stream API is integrated into the Collections API, which
                enables bulk operations on collections, such as sequential or parallel map-reduce transformations.
            ◦   Performance Improvement for HashMaps with Key Collisions.

        •   Compact Profiles contain predefined subsets of the Java SE platform and enable applications that do
            not require the entire Platform to be deployed and run on small devices.
        •   Security
            ◦   Client-side TLS 1.2 enabled by default.
            ◦   New variant of AccessController.doPrivileged that enables code to assert a subset of its
                privileges, without preventing the full traversal of the stack to check for other permissions.
            ◦   Stronger algorithms for password-based encryption.
            ◦   SSL/TLS Server Name Indication (SNI) Extension support in JSSE Server.
            ◦   Support for AEAD algorithms: The SunJCE provider is enhanced to support AES/GCM/NoPadding
                cipher implementation and GCM algorithm parameters. The SunJSSE provider is enhanced to
                support AEAD mode based cipher suites. See Oracle Providers Documentation, JEP 115.
            ◦   KeyStore enhancements, including the new Domain KeyStore type
                java.security.DomainLoadStoreParameter, and the new command option -
                importpassword for the keytool utility.

            ◦   SHA-224 Message Digests.
            ◦   Enhanced Support for NSA Suite B Cryptography.
            ◦   Better Support for High Entropy Random Number Generation.
            ◦   New java.security.cert.PKIXRevocationChecker class for configuring revocation
                checking of X.509 certificates.
            ◦   New rcache Types in Kerberos 5 Replay Caching.
            ◦   Support for Kerberos 5 Protocol Transition and Constrained Delegation.
            ◦   Kerberos 5 weak encryption types disabled by default.
            ◦   Unbound SASL for the GSS-API/Kerberos 5 mechanism.
            ◦   SASL service for multiple host names.
            ◦   Support for stronger strength ephemeral DH keys in the SunJSSE provider.
            ◦   Support for server-side cipher suites preference customization in JSSE.
            ◦   Inclusion of several new ECC-based algorithms (ECDSA/ECDH).

        •   JTools
            ◦   The jjs command is provided to invoke the Nashorn engine.

            ◦   The java manpage has been reworked.

            ◦   The jdeps command-line tool is provided for analyzing class files.

6   HP-UX 11i Java™ JDK and JRE version 8.0.18 release notes
◦   Java Management Extensions (JMX) provide remote access to diagnostic commands.
    ◦   The jarsigner tool has an option for requesting a signed time stamp from a Time Stamping
        Authority (TSA).

•   Javac tool
    ◦   The -parameters option of the javac command can be used to store formal parameter names
        and enable the Reflection API to retrieve formal parameter names.
    ◦   The type rules for equality operators in the Java Language Specification (JLS) Section 15.21 are
        now correctly enforced by the javac command.

    ◦   The javac tool now has support for checking the content of javadoc comments for issues that
        could lead to various problems, such as invalid HTML or accessibility issues, in the files that are
        generated when javadoc is run. The feature is enabled by the new -Xdoclint option. For more
        information, see the output from running javac -X. This feature is also available in the javadoc
        tool, and is enabled there by default.
    ◦   The javac tool now provides the ability to generate native headers, as needed. This removes the
        need to run the javah tool as a separate step in the build pipeline. The feature is enabled in javac
        by using the new -h option, which is used to specify a directory in which the header files should be
        written. Header files will be generated for any class which has either native methods, or constant
        fields annotated with a new annotation of type java.lang.annotation.Native.

•   Javadoc tool
    ◦   The javadoc tool supports the new DocTree API that enables you to traverse Javadoc comments
        as abstract syntax trees.
    ◦   The javadoc tool supports the new Javadoc Access API that enables you to invoke the Javadoc
        tool directly from a Java application, without executing a new process. For more information, see
        Enhancements in Javadoc, Java SE 8 page.
    ◦   The javadoc tool now has support for checking the content of javadoc comments for issues that
        could lead to various problems, such as invalid HTML or accessibility issues, in the files that are
        generated when javadoc is run. The feature is enabled by default, and can also be controlled by
        the new -Xdoclint option. For more details, see the output from running javadoc -X. This
        feature is also available in the javac tool, although it is not enabled by default there.

•   Internationalization
    ◦   Unicode Enhancements, including support for Unicode 6.2.0.
    ◦   Adoption of Unicode CLDR Data and the java.locale.providers System Property.
    ◦   New Calendar and Locale APIs.
    ◦   Ability to Install a Custom Resource Bundle as an Extension.

•   Date-Time Package: A new set of packages that provide a comprehensive date-time model.
•   Scripting: Nashorn Javascript Engine.
•   Pack200
    ◦   Pack200 Support for Constant Pool Entries and New Bytecodes Introduced by JSR 292.
    ◦   JDK8 support for class files changes specified by JSR-292, JSR-308, and JSR-335.

•   IO and NIO

                                           HP-UX 11i Java™ JDK and JRE version 8.0.18 release notes           7
◦   New SelectorProvider implementation for Solaris based on the Solaris event port mechanism.
                To use, run with the system property java.nio.channels.spi.Selector set to the value
                sun.nio.ch.EventPortSelectorProvider.

            ◦   Decrease in the size of the /jre/lib/charsets.jar file.

            ◦   Performance improvement for the java.lang.String(byte[], *) constructor and the
                java.lang.String.getBytes() method.

        •   java.lang and java.util Packages
            ◦   Parallel Array Sorting.
            ◦   Standard Encoding and Decoding Base64.
            ◦   Unsigned Arithmetic Support.

        •   JDBC
            ◦   The JDBC-ODBC Bridge has been removed.
            ◦   JDBC 4.2 introduces new features.
            ◦   Java DB.
            ◦   JDK 8 includes Java DB 10.10.

        •   Networking
            ◦   The class java.net.URLPermission has been added.

            ◦   In the class java.net.HttpURLConnection, if a security manager is installed, calls that request
                to open a connection require permission.

        •   Concurrency
            ◦   Classes and interfaces have been added to the java.util.concurrent package.

            ◦   Methods have been added to the java.util.concurrent.ConcurrentHashMap class to
                support aggregate operations based on the newly added streams facility and lambda expressions.
            ◦   Methods have been added to the java.util.concurrent.ForkJoinPool class to support a
                common pool.
            ◦   The java.util.concurrent.locks.StampedLock class has been added to provide a
                capability-based lock with three modes for controlling read or write access.

        •   Java XML: JAXP
        •   HotSpot
            ◦   Removal of PermGen.
            ◦   Default Methods in the Java Programming Language are supported by the byte code instructions
                for method invocation.

POODLE SSL v3 vulnerability
        Starting with JDK 8.0.01 release, the SSL (Secure Socket Layer) v3 protocol is deactivated and not
        available by default. See the java.security.Security property
        jdk.tls.disabledAlgorithms in /lib/security/java.security file.

8   HP-UX 11i Java™ JDK and JRE version 8.0.18 release notes
If SSL v3 protocol is required, activate it by removing SSLv3 from the jdk.tls.disabledAlgorithms
property in the java.security file. Set the security property to true before JSSE is initialized,
dynamically to alter it.
Prior to JDK version 8.0.01, Oracle recommends disabling SSL v3 as described in the POODLE
vulnerability document is published by Oracle.
Hewlett Packard Enterprise does not support Java Applets or WebStart for Java 8.0 releases.

                                       HP-UX 11i Java™ JDK and JRE version 8.0.18 release notes   9
What is new in 8.0.18
Equivalent Oracle release
       This HP-UX JDK and JRE 8.0.18 release includes the functionality, enhancements, and defect fixes
       equivalent to Oracle releases up to and including Java 8u212 and certain HP-UX platform-specific defect
       fixes. The HP-UX JDK and JRE 8.0.18 release passes all the tests in Oracle Java Compatibility Kit test
       suite (JCK 8). The -XX:+UseCompressedOops option is not supported in JDK and JRE 8.0.18.

HotSpot Java Virtual Machine
       All -X options supported in the earlier HotSpot Java Virtual Machine (JVMs) are included in HotSpot
       8.0.18. Performance, tool support, tool enhancements, and features are documented in the HP-UX
       Programmer Guide for Java 2 and the Java Troubleshooting Guide for HP-UX Systems on the Hewlett
       Packard Enterprise Support Center, and at the Oracle website. For a list of -X options, see the
       Hotspot Technology Tools and Commands section of the HP-UX Programmer Guide for Java 2.
       The HotSpot 8.0.18 Server JVM for HP-UX 11i for HPE Integrity systems is suitable for both client and
       server workloads. For client-side workloads, -XX:+ClientApp will initiate the JVM with configuration
       options that suit client-side applications.
       The JDK and JRE 8.0.18 HotSpot 8.0.18 Edition supports the APIs core to the Java 2 platform, among
       them Remote Method Invocation (RMI), nonblocking I/O APIs, the Collections Framework, and IPv6.

Java command-line option for disabling execute
permissions
       Starting with JDK 8.0.03, a new Java command-line option -Dhp.disableExecutePermission=true
       is added to disable execute permissions of files created using the File API. Prior to this release, files were
       added to disable execute permissions of files created using the File API. Prior to this release, files were
       created with “777” permission by default. With this new command-line option, files are created with “666”
       permission.

Known Oracle issues
       Known Oracle bugs are documented in the Oracle Bug Database at http://bugs.sun.com/bugdatabase/
       (login required).
       Hewlett Packard Enterprise occasionally backports defect and security fixes from a later Oracle release
       that has not yet been merged into our current sources. An Oracle defect might be fixed in an HP-UX
       release though the Oracle release that contains the fix is not part of the HP-UX release.

New Japanese Era Name and Implementation
       For Japan, an era starts with the ascension of a new emperor and will continue until the ascension of the
       next emperor. Support for the new Japanese era has been added to this update. Japanese calendars,
       both in java.time.chrono and java.util packages support the upcoming Japanese new era are
       effective from May 1, 2019. The name of the era is unknown. The placeholder names for (元号 Japanese,
       NewEra for other languages) are provided for the display names. Earlier, Japanese era name was
       Heisei, whereas the new Japanese era name is Reiwa and the abbreviated format is R. The placeholder
       NewEra has been replaced with Reiwa.
       For more information, click here.

10   What is new in 8.0.18
Defects fixed in this release
    HPE defect             HPE SR       Duplicate     JavaSoft ID    Description

    QXCR1001693668         N/A          N/A           N/A            HP-UX Java does not use TZ variable
                                                                     settings correctly.

    QXCR1001696020         N/A          N/A           N/A            JOEM has a question about
                                                                     BUG:JDK-8035424.

    QXCR1001689309         N/A          N/A           N/A            Stack overflow error when
                                                                     PTHREAD_COMPAT_MODE=1 is
                                                                     enabled.

Security fixes in this release
    CVE                                 Component                          Note

    CVE-2019-2699                       Windows DLL                        See Note 1.

    CVE-2019-2697                       2D                                 See Note 2.

    CVE-2019-2698                       2D                                 See Note 2.

    CVE-2019-2602                       Libraries                          See Note 3.

    CVE-2019-2684                       RMI                                See Note 1.

    NOTE:

    1. This vulnerability applies to Java deployments, typically in clients running sandboxed Java Web Start
       applications or sandboxed Java applets (in Java SE 8), that load and run untrusted code (for example,
       code that comes from the Internet) and rely on the Java sandbox for security. This vulnerability can
       also be exploited by using APIs in the specified component through a web service which supplies data
       to the APIs.
    2. This vulnerability applies to Java deployments, typically in clients running sandboxed Java Web Start
       applications or sandboxed Java applets (in Java SE 8), that load and run untrusted code (for example,
       code that comes from the Internet) and rely on the Java sandbox for security. This vulnerability does
       not apply to Java deployments, typically in servers, that load and run only trusted code (for example,
       code installed by an administrator).
    3. This vulnerability can only be exploited by supplying data to APIs in the specified Component without
       using Untrusted Java Web Start applications or Untrusted Java applets, such as through a web
       service.

                                                                                   What is new in 8.0.18   11
Installing JDK and JRE
Required patches for JDK and JRE
       Prerequisites

       •   It is recommended having the latest HP-UX Quality Pack installed, based on the published date.
           To obtain it, navigate to the Hewlett Packard Enterprise Support Center.
       •   An HP-UX support contract is required to obtain quality packs and patches.
           Check what patches are required for the Java version. Navigate to the HP-UX Java Patch
           Information webpage and follow the recommendations for Java.

       HP-UX JDK and JRE 8.0.18 Patch requirements are the same as for 8.0, with this patch:
       •   setuid/setgid users
           If you use setuid/setgid, you must install patches and set up /etc/dld.sl.conf to run the
           application.
       •   X/Open Socket Support
           The following patch is required when X/Open Socket support is enabled:
           PHSS_43690 (11.31)

       The required patches change frequently and may include other patches. To ensure that you have installed
       all required and recommended patches, see the HP-UX Java Patch Information webpage.

HP-UX system requirements
       Integrity servers running HP-UX 11i v3 (11.31) are supported. For more information about Integrity
       servers, see the following website: HPE Integrity Servers.

Installation instructions
       Prerequisites
       •   Approximately 446 MB of disk space is required to download and install Java 8.
       •   The HP-UX JDK and JRE for Java 8 must be installed under the /opt/java8 folder.

       •   Do not unarchive rt.jar, charsets.jar, jpda.jar, tools.jar, jce.jar, and jsse.jar files.

       Procedure

       1. From the JDK/JRE 8.0.x Downloads and Documentation page, select JDK and JRE 8.0.x version to
          download from the JDK/JRE 8.0.x Downloads list.
       2. Select the depot file listed and download to a local directory.
           For Java 8.0.x, there is only one download depot file, which contains both the combined JDK and JRE
           and the standalone JRE. During the installation procedure, you will be able to choose which one you
           want to install.
       3. Log in to the system as Root and use the SD-UX swinstall command to install JDK and JRE
          software:

12   Installing JDK and JRE
/usr/sbin/swinstall

        This command guides you through the installation. Change the Source Depot Type to Local Directory
        and Source Depot Path to  or . It is recommended selecting the
        Reinstall filesets and clear the Mount file systems option from the Options menu.
        Add the directory /opt/java8/bin to the PATH.
        For more information on setting system parameters required for Java programs, see the HP-UX
        Programmer Guide for Java 2 on the Hewlett Packard Enterprise Support Center.

Installing the JDK or JRE from a single download bundle
    If you use the GUI version of swinstall, by default the top-level bundle Java80 appears. In this case:

    •   To install the complete JDK (including the JRE), mark this bundle and complete the installation.
    •   To install only the JRE, select Actions-> Open Item. From the list, mark Jre80, and select
        Actions-> Install.

    Prerequisites

    Procedure

    1. To install the full JDK (including the JRE), use this command:

        swinstall -s / \*
    2. To install the JRE only, use this command:

        swinstall -s / Java80.Jre80

Installing into an alternate location
    •   Designate filesets – either:

        ◦   JDK installation: Java80.Jdk80.JDK80-* and Java80.Jre80.JRE80-*

        ◦   JRE installation: Java80.Jre80.JRE80-*

    •   Add "@/" to the end of the swinstall command.

    •   Add the alternate directory to the PATH.

    For example: The swinstall command is at /usr/sbin/swinstall.
    To install the software into an alternate location:

    Procedure

    1. JDK (direct method)
        swinstall -s / Java80.Jdk80.JDK80-* Java80.Jre80.JRE80-* @/
        mv /opt/java8/* 

    2. JRE (direct method)

                                                                                      Installing JDK and JRE     13
swinstall -s / Java80.Jre80.JRE80-* @/
           mv /opt/java8/* 

        3. JDK (directory link method)
           swinstall -s / Java80.Jdk80.JDK80-* Java80.Jre80.JRE80-* @/
           ln -s //opt/java8/* 

        4. JRE (directory link method)

           swinstall -s / Java80.Jre80.JRE80-* @/
           ln -s //opt/java8/* 

File structure: JDK and JRE
        The following diagram displays an abbreviated form of the file structure:

         java8
           ____|___________________________________
         |          |              |                |
        bin        lib            jre            include
         |          |              |
        java      tools.jar        |
        javac     dt.jar           |
        javadoc ir.idl             |
        javah     jconsole.jar     |
        javap     orb.idl          |
        jdb                        |
        jhat                       |
        jrunscript                 |
        rmid                       |
        tnameserv                  |
        wsgen                      |
         :                         |
                                   |
                             _____|___________________
                           |                           |
                          bin                         lib
                           |                           |
                          java                         |
                          rmid                         |
                          tnameserv                    |
                           :                           |
                                                       |
                                  ____________________|_________________________________
                                |                 |        |               |      |
                             rt.jar           security    ext            IA64N IA64W
                             charsets.jar         |        |            ___|______|___
                            deploy.jar         jar and    jar              |      |
                            jce.jar             policy    files          server server
                            jss2.jar            files
                                 :

        The tools are under opt/java8/bin and the libraries are under opt/java8/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 Java runtime environment. The file rt.jar contains the runtime classes
        for the core API. The charsets.jar file contains the internationalization and localization classes and
        files. From Java version 8.0.12, JDK 8.0 supports both limited and unlimited strength jurisdiction

14   Installing JDK and JRE
policy. Both limited and unlimited strength jurisdiction policy files are available in the limited and
   unlimited directories respectively under the security directory.
   The shared libraries used by the HP-UX platform are contained in the following directories:

   IA64N              32-bit
   IA64W              64-bit

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

Removing support for unwanted architectures in the JRE
   Under the JRE license agreement, partners who redistribute the JRE can remove support for unwanted
   architectures. Functional components cannot be removed under any circumstances. Support for
   unwanted architectures cannot be removed.
   Use this command to remove 64-bit support:

   /usr/sbin/swremove Java80.Jre80.JRE80-IPF64 Java80.Jre80.JRE80-IPF64-HS

   Prerequisites
   JRE must be installed in the standard location: /opt/java8/.

                                                                                   Installing JDK and JRE   15
Using JDK and JRE
Enabling support for X/Open Socket
       Starting with JDK and JRE 8.0.00, support for X/Open sockets is added. This support rectifies the
       behavior of the java.net.Socket.setSoLinger() method. Java native methods outside the JDK
       calling socket functions are not affected.
       Prerequisites
       The following X/motif patch is installed on the system:
       PHSS_43690 (11.31)

       Procedure
       Enable support for X/Open Socket by adding the following Java runtime option to the Java run command:
       -XX:+UseXOpenSockets
       Example: /opt/java8/bin/java -XX:+UseXOpenSockets myProg

Obsolete options
       The following options are not necessary on Java 8 and are not supported:
       -Xoptgc
       -XX:MaxLiveObjectEvacuationRatio=
       -XdoCloseWithReadPending
       These options are supported on JDK 1.4.2, 5.0, and 6.0 up to and including JDK 6.0.10, but are
       obsoleted starting in JDK 6.0.11.

Obsolete Environment Variable
       The HP-UX-specific _JAVA_LAUNCHER_OPTIONS environment variable, available in Java 1.4.2, 5.0, and
       6.0, is not supported from Java 8.

Change in JVM error message at startup
       On Java 6 and previous releases, starting up the JVM with an invalid option results in an error such as:
       Unrecognized option: 
       Could not create the Java virtual machine.
       Starting with Java 7, the error message has been changed to:
       Unrecognized option: 
       Error: Could not create the Java Virtual Machine.
       Error: A fatal exception has occurred. Program will exit.

Lower initial RSS starting in JDK 6.0.03
       Starting in JDK and JRE 6.0.03, there was a change in how the JVM commits memory. This change
       applies to JVMs on HP-UX 11.23 and 11.31 systems executing MPAS enabled and PHKL_35448. With
       this change, the initial resident memory or Resident Set Size value of the java process is smaller.

16   Using JDK and JRE
Interruptible I/O support is disabled by default on JDK 7.0
and higher
    On previous releases of the HP-UX JDK, the Thread.interrupt() method can interrupt some
    blocking I/O operations. This method resulting in InterruptedIOException displayed by the target thread
    and leaving socket or file streams in an inconsistent state. This behavior is the same as on the Solaris
    platform, but different from Windows and Linux. The JVM option UseVMInterruptibleIO controls this
    function.
    Use the -XX:+UseVMInterruptibleIO option to enable interruptible I/O in JDK 7.0 and higher.
    For more information, see UseVMInterruptibleIO at https://www.oracle.com/technetwork/java/javase/
    releasenotes-142123.html and https://www.oracle.com/technetwork/java/javase/jdk7-
    relnotes-418459.html.

Caching ClassLoader to improve performance
    -Dcom.hp.cacheLUDL=[true|false]
    Setting this system property informs ObjectInputStream to cache the result of
    latestUserDefinedLoader, improving the performance of deserialization of serialized objects. This
    property has a value of false by default.

                                                                                    Using JDK and JRE     17
Known issues
Warning with -Xmpas
       The usage of -XX:+UseCompressedOops and -XX:+UseCompressedClassPointers is not
       supported on the HP-UX operating system.

Identical values specified for -Xmx -Xms on Java 6, 7, and
8
       With identical values specified for -Xmx -Xms on Java 6, 7, and 8, heap and stack memory have different
       values set internally depending upon CPU count, memory and other options used by the application.
       For additional information, see Oracle documentation.

Stream Control Transport Protocol (SCTP) supported with
limitation
       Stream Control Transport Protocol (SCTP) in Java is supported from Java 7 on HP-UX. Although, SCTP
       is not available by default on HP-UX, it can be downloaded from: https://h20392.www2.hpe.com/portal/
       swdepot/displayProductInfo.do?productNumber=SCTP.

       SCTP has a known limitation on HP-UX:
       The MessageInfo Class is supported only when a valid socket address is passed to the
       MessageInfo.createOutgoing() method. In the example, a messageinfo object is created and sent
       on to a socket channel using send API for an already connected socket. This sample code will display a
       java.net.SocketException exception because HP-UX does not support passing null for the
       SocketAddress:
       
       SctpServerChannel ssc = SctpServerChannel.open();
       InetSocketAddress serverAddr = new InetSocketAddress(SERVER_PORT);
       ssc.bind(serverAddr);
       ...
       MessageInfo messageInfo = MessageInfo.createOutgoing(null, US_STREAM);
       sc.send(buf, messageInfo);
       
       Workaround:
       In the following example, a messageinfo object is created with a valid socket address and sent on to a
       socket channel using send API:
       
       SctpServerChannel ssc = SctpServerChannel.open();
       InetSocketAddress serverAddr = new InetSocketAddress(SERVER_PORT);
       ssc.bind(serverAddr);
       ...
       MessageInfo messageInfo = MessageInfo.createOutgoing(serverAddr, US_STREAM);
       sc.send(buf, messageInfo);
       
       For more information on SCTP, see http://www.oracle.com/technetwork/java/index.html.

18   Known issues
libjvm.so no longer links with libstd_v2.so
    Starting with JDK 6.0.07, the libjvm.so library is no longer linked with libstd_v2.so. The intent was
    to reduce the chance of incompatibility when using JNI code compiled with a C++ compiler other than
    aCC. However, applications that previously relied on libjvm.so being linked with libstd_v2.so
    encounters an UnsatisfiedLinkError for an unsatisfied symbol. To solve the issue, the application links
    with libstd_v2.so directly.

Setting the value of PTHREAD_SUSPEND_SYNC
    On an HP-UX 11.31 system, you run Java programs with either the PTHREAD_FORCE_SCOPE_SYSTEM or
    the PTHREAD_COMPAT_MODE environment variables set to 1. Setting the environment variable
    PTHREAD_SUSPEND_SYNC to 1 is recommended.
    This condition holds good with the -XX:+UseBoundThreads option.

    Prerequisites
    The values of environment variables PTHREAD_FORCE_SCOPE_SYSTEM or PTHREAD_COMPAT_MODE
    must be predefined.
Supplementary characters display as empty boxes
    Supplementary characters are not part of the HP-UX default TrueType fonts and they are unavailable. In
    Java 7 and higher releases, if supplementary characters are to be displayed, empty boxes are displayed.
    Use fonts to display supplementary characters, but must edit the fontconfig.properties file
    accordingly.
    For more information on editing font configuration files, see http://download.oracle.com/javase/1.5.0/
    docs/guide/intl/fontconfig.html.

Initializing a JVM instance for JNI_CreateJavaVM() or
AttachCurrentThread()
    In Java 7.0 or higher, the stack size required to initialize a JVM instance with JNI_CreateJavaVM() or
    AttachCurrentThread() is greater than the Integrity pthread default of 256 KB. If the
    JNI_CreateJavaVM() or AttachCurrentThread() from a pthread is invoked, you must create the
    pthread with a larger stack size. Stack overflow failures during JVM initialization are not always clearly
    reported as such, since the JVM will not install.
    The failures may appear as random exceptions. The solution is to ensure that you have enough stack
    space.

    Prerequisites
    •   The pthread default size must be at least 256 KB.
    •   The pthread must have a large stack size of at least 512 KB.

Linker option +noenvvar and +compat
    If the application links with libjvm and uses the JNI interface APIs to load the JVM directly, do not use
    the linker options +noenvvar or +compat.

Running Java with setuid or setgid on HPE Integrity
Systems
    Running Java from setuid/setgid executables is restricted on HP-UX.

                                                                                            Known issues        19
Prerequisites
       •   Required patches must be installed.
       •   The SHLIB_PATH and LD_LIBRARY_PATH environment variables must be set.

       •   A configuration file must be set up.

       Procedure

       1. Run Java from a setuid or setgid environment if the jre and jli paths are added to the /etc/
          dld.sl.conf file as displayed.
           cat /etc/dld.sl.conf:
           /jre/lib/IA64N
           /jre/lib/IA64N/server
           /jre/lib/IA64N/jli
           /jre/lib/IA64W
           /jre/lib/IA64W/server
           /jre/lib/IA64W/jli

           echo

           /jre/lib/IA64N:/jre/lib/IA64N/server:/jre/lib/IA64N/jli:
           /jre/lib/IA64W:>/jre/lib/IA64W/server:java8>/jre/lib/IA64W/jli

       2. Reference the file when the application is executing within a setuid environment.
           Open the /etc/dld.sl.conf file and check the manpage entry for dld.sl.

20   Known issues
Support and other resources
Accessing Hewlett Packard Enterprise Support
   •   For live assistance, go to the Contact Hewlett Packard Enterprise Worldwide website:
       http://www.hpe.com/info/assistance
   •   To access documentation and support services, go to the Hewlett Packard Enterprise Support Center
       website:
       http://www.hpe.com/support/hpesc

   Information to collect
   •   Technical support registration number (if applicable)
   •   Product name, model or version, and serial number
   •   Operating system name and version
   •   Firmware version
   •   Error messages
   •   Product-specific reports and logs
   •   Add-on products or components
   •   Third-party products or components

Accessing updates
   •   Some software products provide a mechanism for accessing software updates through the product
       interface. Review your product documentation to identify the recommended software update method.
   •   To download product updates:
       Hewlett Packard Enterprise Support Center
         www.hpe.com/support/hpesc
       Hewlett Packard Enterprise Support Center: Software downloads
         www.hpe.com/support/downloads
       Software Depot
          www.hpe.com/support/softwaredepot
   •   To subscribe to eNewsletters and alerts:
       www.hpe.com/support/e-updates
   •   To view and update your entitlements, and to link your contracts and warranties with your profile, go to
       the Hewlett Packard Enterprise Support Center More Information on Access to Support Materials
       page:
       www.hpe.com/support/AccessToSupportMaterials

                                                                             Support and other resources     21
IMPORTANT: Access to some updates might require product entitlement when accessed through
             the Hewlett Packard Enterprise Support Center. You must have an HPE Passport set up with
             relevant entitlements.

Customer self repair
       Hewlett Packard Enterprise customer self repair (CSR) programs allow you to repair your product. If a
       CSR part needs to be replaced, it will be shipped directly to you so that you can install it at your
       convenience. Some parts do not qualify for CSR. Your Hewlett Packard Enterprise authorized service
       provider will determine whether a repair can be accomplished by CSR.
       For more information about CSR, contact your local service provider or go to the CSR website:
       http://www.hpe.com/support/selfrepair

Documentation feedback
       Hewlett Packard Enterprise is committed to providing documentation that meets your needs. To help us
       improve the documentation, send any errors, suggestions, or comments to Documentation Feedback
       (docsfeedback@hpe.com). When submitting your feedback, include the document title, part number,
       edition, and publication date located on the front cover of the document. For online help content, include
       the product name, product version, help edition, and publication date located on the legal notices page.

Remote support
       Remote support is available with supported devices as part of your warranty or contractual support
       agreement. It provides intelligent event diagnosis, and automatic, secure submission of hardware event
       notifications to Hewlett Packard Enterprise, which will initiate a fast and accurate resolution based on your
       product's service level. Hewlett Packard Enterprise strongly recommends that you register your device for
       remote support.
       If your product includes additional remote support details, use search to locate that information.

       Remote support and Proactive Care information
       HPE Get Connected
         www.hpe.com/services/getconnected
       HPE Proactive Care services
         www.hpe.com/services/proactivecare
       HPE Proactive Care service: Supported products list
         www.hpe.com/services/proactivecaresupportedproducts
       HPE Proactive Care advanced service: Supported products list
           www.hpe.com/services/proactivecareadvancedsupportedproducts

       Proactive Care customer information
       Proactive Care central
          www.hpe.com/services/proactivecarecentral
       Proactive Care service activation
          www.hpe.com/services/proactivecarecentralgetstarted

22   Support and other resources
You can also read