Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
HP-UX 11i Java™ JDK and JRE Version 6.0.33 Release Notes Part Number: 845979-013 Published: March 2017 Edition: 1 Contents Hewlett Packard Enterprise secure development lifecycle..................... 4 HP-UX 11i Java™ JDK and JRE version 6.0.33 release notes................. 5 Java overview......................................................................................................................................5 JDK and JRE overview........................................................................................................................5 POODLE SSL v3 vulnerability............................................................................................................. 5 What is new in version 6.0.33..................................................................... 6 Equivalent Oracle release................................................................................................................... 6 HotSpot Java Virtual Machine............................................................................................................. 6 Known Oracle fixes..............................................................................................................................6 Defect fix in this release...................................................................................................................... 6 Security fixes in this release................................................................................................................ 7 Installing JDK and JRE............................................................................... 8 Patches................................................................................................................................................8 HP-UX system requirements............................................................................................................... 8 Web browser requirements................................................................................................................. 9 Installation instructions........................................................................................................................ 9 PA-RISC add-on package................................................................................................................... 9 JDK and JRE consistency................................................................................................................. 10 Installing into an alternate location.................................................................................................... 10 File structure: JDK or JRE................................................................................................................. 11 File structure: Runtime Plug-in.......................................................................................................... 12 Removing support for unwanted architectures in the JRE................................................................ 12 Support for C++ applications built with -AA and -AP options (PA-RISC only)................................... 13 Using JDK and JRE................................................................................... 14 X/Open Socket support for Itanium................................................................................................... 14 Handling large GC log files................................................................................................................14 Change in loading of .hotspot_compiler and .hotspotrc files............................................................. 14 Option -XX:+SXTElimination enabled by default in 6.0.15................................................................ 14 Obsolete options................................................................................................................................15 Lower initial RSS starting in JDK 6.0.03............................................................................................15 Interruptible I/O..................................................................................................................................15 Known issues.............................................................................................16 Using CompilerRecoveryMode to avoid an abort because of a compiler crash................................ 16 Running Java applications with hyperthreading enabled.................................................................. 16 Invoking jstat or jps on java_q3p/java_q4p on PA-RISC................................................................... 17 libjvm.so no longer links with libstd_v2.so......................................................................................... 17 Recommend setting PTHREAD_SUSPEND_SYNC to 1 under certain conditions (HP-UX 11.31 (11i v3))..............................................................................................................................................18 Supplementary characters display as empty boxes (11i HPE Integrity and HPE 9000 PA-RISC).... 18 2 Contents Initializing a JVM instance with JNI_CreateJavaVM() or attaching to JVM with AttachCurrentThread() on HPE Integrity ................................................................................. 18 Using compiler safepoints (HP-UX 11.11 (11i v1) PA-RISC)............................................................. 18 shl_load HotSpot libjvm problem due to TLS (HP-UX PA-RISC 32-bit only) ............................ 18 Using linker option +noenvvar and +compat on HPE Integrity and PA-64 systems .................... 19 Running Java with setuid or setgid on Integrity and PA-RISC...........................................................19 Running Aries PA-RISC emulation on HPE Integrity.........................................................................20 PA-RISC 32-bit applications will use both LD_LIBRARY_PATH and SHLIB_PATH.......................... 20 X/Open Socket Support.....................................................................................................................20 Java API Documentation Updater Tool..............................................................................................20 Documentation feedback.......................................................................... 22 Contents 3 © 2017 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®, Intel Inside®, and the Intel Inside logo are trademarks of Intel Corporation in the United States 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. Hewlett Packard Enterprise secure development lifecycle Starting with HP-UX 11i v3 March 2013 update release, Hewlett Packard Enterprise secure development lifecycle provides the ability to authenticate HP-UX software. Software delivered through this release has been digitally signed using Hewlett Packard Enterprise's private key. You can now verify the authenticity of the software before installing the products, delivered through this release. To verify the software signatures in signed depot, the following products must be installed on your system: • • B.11.31.1303 or later version of SD (Software Distributor) A.01.02.00 or later version of HP-UX Whitelisting (WhiteListInf) To verify the signatures, run: /usr/sbin/swsign -v -s <depot_path> For more information, see Software Distributor documentation at: http://www.hpe.com/info/sd-docs. NOTE: Ignite-UX software delivered with HP-UX 11i v3 March 2014 release or later supports verification of the software signatures in signed depot or media, during cold installation. For more information, see IgniteUX documentation at: http://www.hpe.com/info/ignite-ux-docs. 4 Hewlett Packard Enterprise secure development lifecycle HP-UX 11i Java™ JDK and JRE version 6.0.33 release notes Java overview Java Platform, Standard Edition 6 (Java SE 6) 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 6 download package are: • Java SE 6 Runtime Environment 6 (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. • The JRE is included in the JDK download package and is provided as a separate product. Both the Runtime Plug-in and the Java Web Start technology are packaged with the JRE. Java SE 6 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 download package includes 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 is the source of information for the release. It has the most up-to-date information, especially regarding known defects. Ensure to check it occasionally for updates. Information about the Runtime Plug-in and Java Web Start is also included in these release notes. POODLE SSL v3 vulnerability To safeguard against SSL v3 vulnerability in OpenSSL, Oracle recommends disabling SSL v3 as described in the POODLE vulnerability document published by Oracle. HP-UX 11i Java™ JDK and JRE version 6.0.33 release notes 5 What is new in version 6.0.33 The following new features are included in HP-UX JDK or JRE 6.0.33. Equivalent Oracle release This HP-UX JDK 6.0.33 release includes the functionality, enhancements, and defect fixes equivalent to Oracle releases up to and including 6u141, and certain HP-UX platform-specific defect fixes. The HP-UX JDK 6.0.33 release passes all of the tests in Oracle Java Compatibility Kit test suite (JCK V6b). The experimental option -XX:+UseG1GC is not part of the officially supported product, but is available for experimentation. The two JVM options: -XX:+UseCompressedOops and -XX:+DoEscapeAnalysis in the Oracle JDK release (available since 5.0u19) are not supported in HP-UX JDK or JRE 6.0.33. HotSpot Java Virtual Machine All -X options supported in earlier HotSpot JVMs are included in this version. 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. These documents are available on the Hewlett Packard Enterprise Support Center (HPESC) at http://www.hpe.com/info/hpux-java-docs, and at the Oracle web site: http://download.oracle.com/javase/6/docs/. 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 JVM for HP-UX 11i for Integrity and 9000 PA-RISC systems is suitable for both client and server workloads. For client-side workloads, -XX:+ClientApp invokes the JVM with configuration options that suit client-side applications. The HP-UX JDK 6.0.33 HotSpot 6.0.33 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. The Java 2 Platform version 6.0 API specification is available at http://download.oracle.com/javase/6/docs/api/ index.html. The JDK 6 Adoption Guide will help users upgrading from JDK 5 to JDK 6. This guide is found at http:// www.oracle.com/technetwork/java/javase/adoptionguide-137484.html. Known Oracle fixes The Known Oracle bugs are documented in the Oracle Bug Database at http://bugs.java.com/ bugdatabase/ (login required). For known HP-UX platform-specific Java problems, see Known issues on page 16. This HP-UX JDK 6.0.33 release includes the functionality, enhancements, and defect fixes equivalent to Oracle releases up to and including 6u141, and certain HP-UX platform-specific defect fixes. The HPE JDK 6.0.33 release passes all of the tests in Oracle Java Compatibility Kit test suite (JCK V6b). 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 is fixed in an HP-UX release even though the Oracle release that contains the fix is not part of the HP-UX release. To view problems fixed in previous HP-UX JDK or JRE 6.0 releases, see JDK/JRE 6.0.x Older Versions Release Notes Portfolio under Getting started at: http://www.hpe.com/info/hpux-java-docs. Defect fix in this release The following HP-UX specific defect fixes are included in this release: 6 What is new in version 6.0.33 HPE HPE SR Duplicate JavaSoft ID Description QXCR1001528626 N/A N/A N/A Crash in compiled code - JDK 1.6. Security fixes in this release The following security fixes are included in this release. CVE Component Note CVE-2017-3272 Java SE, Java SE Embedded See Note 1. CVE-2017-3241 Java SE, Java SE Embedded, JRockit See Note 2. CVE-2017-3253 Java SE, Java SE Embedded, JRockit See Note 3. CVE-2016-5546 Java SE, Java SE Embedded, JRockit See Note 3. CVE-2016-5548 Java SE, Java SE Embedded See Note 1. CVE-2017-3252 Java SE, Java SE Embedded, JRockit See Note 3. CVE-2016-5552 Java SE, Java SE Embedded, JRockit See Note 3. CVE-2017-3231 Java SE, Java SE Embedded See Note 1. CVE-2017-3261 Java SE, Java SE Embedded See Note 1. CVE-2017-3259 Java SE See Note 1. CVE-2016-2183 Java SE, Java SE Embedded See Note 3. NOTE: 1. This vulnerability applies to Java deployments typically in clients running sandboxed Java Web Start applications or applets that load and run untrusted code. For example, code that comes from the internet and relies on the Java sandbox for security. It does not apply to Java deployments typically in servers that load and run only trusted code. For example, code installed by an administrator. 2. 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. For example, access through a web service. 3. This vulnerability applies to client and server deployment of Java and can be exploited through sandboxed Java Web Start applications and applets. It can also be exploited by supplying data to APIs in the specified component without using sandboxed Java Web Start applications or applets. Security fixes in this release 7 Installing JDK and JRE This chapter contains information about installation of JDK and JRE 6.0.33. Patches *** REQUIRED JAVA 6.0 PATCHES *** Certain HP-UX patches are required for HP-UX JDK or JRE 6.0.33. Hewlett Packard Enterprise recommends having the latest HP-UX Quality Pack installed. To obtain it, navigate to the Hewlett Packard Enterprise Support Center site at http://www.hpe.com/support/hpesc. An HP-UX support contract is required to obtain quality packs and patches. Check what patches are required for the Java version and HP-UX version/Quality Pack. Navigate to the HP-UX Java Patch Information web page at: http://www.hpe.com/info/JavaPatchInfo and follow the Java 6.0 recommendations. The Java Patch Information page displays how to determine the Quality Pack installed on a system. Second, on PA-RISC systems, a linker patch is required to fix a problem loading libjli.sl. The following patches are required: • • • HP-UX 11i v1 (11.11) PA-RISC systems: PHSS_35385 HP-UX 11i v2 (11.23) PA-RISC systems: PHSS_37201 HP-UX 11i v3 (11.31) PA-RISC systems: PHSS_37202 mpas on HP-UX 11i v2 (11.23) Integrity Systems On HP-UX 11i v2 (11.23) Integrity systems, to use mpas (java_q4p), patch PHKL_35552 is required. IMPORTANT: • A NOTE FOR JAVA 6.0 setuid/setgid USERS • If you use setuid/setgid, patches must be installed and set up /etc/dld.sl.conf to run the application. A NOTE FOR PA-RISC CUSTOMERS ON HP-UX 11i v1 (11.11) Patch PHNE_35183 (or the superseding patch) must be installed for HP-UX 11i v1 (11.11) PA-RISC; this patch solves socket problems that may cause hangs. Additionally, pthreads patch PHCO_36229 (or its superseding patch) must also be installed. These patches are not required for Integrity systems or PA-RISC systems running HP-UX 11.23 or 11.31. To determine whether these patches have been installed, log in as root and check the machine with: /usr/sbin/swlist -l product • X/Open Socket Support The following patches are required when X/Open Socket support is enabled: ◦ ◦ PHSS_43341 (11.23) PHSS_43291 (11.31) The required patches change frequently and will include patches other than the ones listed in these release notes. To ensure that you have installed all of the required and recommended patches needed, see the HPUX Java Patch Information web page at: http://www.hpe.com/info/JavaPatchInfo. HP-UX system requirements HPE Integrity servers: Integrity servers running HP-UX 11i v2 or v3 (11.23 or 11.31) are supported. For more information about Integrity servers, see the following website : HPE Integrity Servers. 8 Installing JDK and JRE HP PA-RISC 9000 systems: Java 6.0 is supported on all PA-RISC 2.0 machines running HP-UX 11i v1 (11.11), 11i v2 (11.23), or 11i v3 (11.31). Web browser requirements The only web browser supported for the Java 6.0 Plug-in is Mozilla or Firefox for HP-UX version 1.6.0.00 or later. Netscape is not supported. Installation instructions From the JDK, JRE, and Plug-In 6.0.x Downloads and Documentation page, click a JDK or JRE 6.0.x version to download from the JDK/JRE 6.0.x Downloads list. It displays the download page for that version (for example, http://www.hpe.com/downloads/JDKJRE6033 for 6.0.33). Select one of the depot or tar files listed, and download to a local directory. On Integrity systems, approximately 446 MB of disk space is required to download and install JDK 6. This file size is inclusive of the JRE 6 containing the Runtime Plug-in and the Java Web Start technology (requiring approximately 296 MB). On PA systems, approximately 360 MB is required for JDK 6 and approximately 218 MB is required for JRE 6. Beginning with JDK 5.0, Hewlett Packard Enterprise provides the Runtime Plug-in as part of the JRE depot. When installing the JRE, the Plug-in is also installed. The HP-UX JDK, JRE, and Plug-in for Java SE 6 install under /opt/java6. Use the following SD-UX swinstall command (logged in as root) to install the software: /usr/sbin/swinstall This command proceeds with the installation. Change Source Depot Type to Local Directory and Source Depot Path to /tmp/<filename> . It is recommended selecting 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. The JDK files require these files for the runtime environment. Add the directory /opt/java6/bin to the PATH. For information on setting important system parameters required for correct execution of Java programs, see the HP-UX Programmer guide for Java 2 on the Hewlett Packard Enterprise Support Center: http:// www.hpe.com/info/hpux-java-docs. PA-RISC add-on package An add-on package for PA-RISC systems is available for C++ applications compiled with the -AA option: • Integrity systems: The PA add-on package is not required for applications running natively on Integrity systems. If the Integrity system includes the PA add-on, swinstall will display a message indicating that you can remove it. Use the following SD commands to remove the PA add-on bundles: • /usr/sbin/swremove Java60JDKadd /usr/sbin/swremove Java60JREadd PA-RISC systems: When using a PA-RISC system, the application requires the PA add-on package. Upgrade the PA add-on package besides upgrading the JRE or JDK. The add-on package is named either Java60JDKadd or Java60JREadd and can be obtained by downloading one of the following PA bundles: Web browser requirements 9 jdk6aa_16014_pa.depot, jre6aa_16014_pa.depot, or jre6aa_16014_pa.tar.Z. JDK and JRE consistency If a system contains both the JRE and JDK products, they must be upgraded to maintain consistency in numbering between the JRE and JDK for swlist. Installing into an alternate location To install the software into an alternate location: • Designate filesets – either: • • ◦ JDK installation: Jdk60.JDK60-* and Jre60.JRE60-* ◦ JRE installation: Jre60.JRE60-* Add @/<alternate_directory> to the end of the swinstall command. Add the alternate directory to the PATH. The swinstall command is at /usr/sbin/swinstall). JDK: swinstall -s <download> Jdk60.JDK60-* Jre60.JRE60-* @/<alternate_directory> JRE: swinstall -s <download> Jre60.JRE60-* @/<alternate_directory> SD-UX prepends <alternate_directory> to the default product path. Java will therefore install in / <alternate_directory>/opt/java6 . Set the Java home directory in <alternate_directory> without the /opt/java6 directories. It must be installed to a temporary directory and the directories moved to another location on requirement. For example: JDK: swinstall -s <download> Jdk60.JDK60-* Jre60.JRE60-* @/<temporary_directory> mv <temporary_directory>/opt/java6/* <final_alternate_directory> JRE: swinstall -s <download> Jre60.JRE60-* @/<temporary_directory> mv <temporary_directory>/opt/java6/* <final_alternate_directory> The location can also be installed and linked to the directories. For example, JDK: swinstall -s <download> Jdk60.JDK60-* Jre60.JRE60-* @/<actual_directory> ln -s /<actual_directory>/opt/java6/* <final_alternate_directory> JRE: swinstall -s <download> Jre60.JRE60-* @/<actual_directory> ln -s /<actual_directory>/opt/java6/* <final_alternate_directory> 10 JDK and JRE consistency NOTE: If Java 6 is installed to an alternate location, all the paths referring to /opt/java6 in the rest of this document must be appropriately modified. File structure: JDK or JRE The following diagram displays an abbreviated form of the file structure: java6 | ___|________________________________________________ | | | | | bin | lib | jre | java tools.jar | javac dt.jar | javadoc ir.idl | javah jconsole.jar | javap orb.idl demo include | javaws jdb jhat jrunscript rmid tnameserv wsgen : | | | | | | | | __|_____________________________ | | bin lib | java rmid tnameserv : | | | | | | _____________________| __________________________________________ | | PA_RISC2.0W IA64N | | | | | zi security ext PA_RISC2 charsets.jar | | deploy.jar jar and jar jce.jar policy files | rt.jar IA64W __________|________|___ | | | server server server |__|___________| | server File structure: JDK or JRE 11 jss2.jar : files The tools are under opt/java6/bin and the libraries are under opt/java6/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. The security directory contains security management files. The shared libraries used by the HP-UX platform are contained in the following directories: PA_RISC2.0 PA_RISC2.0W IA64N IA64W PA-RISC 2.0 32-bit PA-RISC 2.0 64-bit Integrity 32-bit Integrity 64-bit The include directory contains the header files for supporting JNI and JVMDI. File structure: Runtime Plug-in The Runtime Plug-in requires shared libraries loaded by the Mozilla or Firefox browser. The remaining Runtime Plug-in files, and the JRE to be located in the following fixed relative position: /opt/java6/jre /opt/java6/jre/plugin/PA_RISC2.0/mozilla loaded by Mozilla/Firefox browser /opt/java6/jre/plugin/IA64N/mozilla loaded by Mozilla/Firefox browser /opt/java6/jre/plugin/desktop Runtime plug-in and RTE files Runtime Plug-in shared libraries IPF Runtime Plug-in shared libraries Java 6 support for desktop interfaces When JPI is installed on the default location (/opt/java6/jre), the following links are created during the installation to allow the browser to locate the Runtime Plug-in shared library: Runtime Plug-in PA-RISC installation: /opt/mozilla/plugins/libjavaplugin_oji.sl -> \ /opt/java6/jre/plugin/PA_RISC2.0/mozilla/libjavaplugin_oji.sl Runtime Plug-in HP Integrity installation: /opt/mozilla/plugins/libjavaplugin_oji.sl -> \ /opt/java6/jre/plugin/IA64N/mozilla/libjavaplugin_oji.sl If the Runtime Plug-in is installed on a non default location, the system administrator must create similar links to enable Mozilla or Firefox to find the Plug-in. The environment variable MOZ_PLUGIN_PATH for Mozilla or Firefox can be used. Information on Mozilla or Firefox for HP-UX can be found at Mozilla Web Browser for HP-UX Downloads and Documentation. Plug-in documentation and FAQs can be found at http://www.oracle.com/ technetwork/java/index-jsp-141438.html. Removing support for unwanted architectures in the JRE Under the JRE license agreement, partners who redistribute the JRE are allowed to remove support for unwanted architectures. Functional components will not be removed under any circumstances. Support for unwanted architectures can be removed. The following commands assume that the JRE has been installed in the standard location, that is, /opt/ java6/. 12 File structure: Runtime Plug-in • On PA-RISC, to remove 64-bit support: • /usr/sbin/swremove Jre60.JRE60-PA20W Jre60.JRE60-PA20W-HS On Integrity, to remove 64-bit support: • /usr/sbin/swremove Jre60.JRE60-IPF64 Jre60.JRE60-IPF64-HS PA filesets are not installed by default on Integrity. If they have been installed, remove them using this command: /usr/sbin/swremove Jre60.JRE60-PA20 Jre60.JRE60-PA20-HS \ Jre60.JRE60-PA20W Jre60.JRE60-PA20W-HS Support for C++ applications built with -AA and -AP options (PA-RISC only) Java supports the -AA and -AP options to build C++ applications. On HP-UX 11.11 and later releases on PARISC systems, C++ uses the -AP runtime option by default. When using the ANSI Standard C++ runtime (AA) option in an application, use the -AA version of libjvm and libfontmanager. These libraries are the Standard C++ Runtime versions: /opt/java6/jre/lib/PA_RISC2.0/libjvm_v2.sl /opt/java6/jre/lib/PA_RISC2.0W/libjvm_v2.sl /opt/java6/jre/lib/PA_RISC2.0/libfontmanager_v2.sl /opt/java6/jre/lib/PA_RISC2.0W/libfontmanager_v2.sl Any native application must be either linked with or dynamically load these versions of the Java libraries if the 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> Support for C++ applications built with -AA and -AP options (PA-RISC only) 13 Using JDK and JRE For usage documentation for developers, see the HP-UX Programmer guide for Java 2 under User guide at http://www.hpe.com/info/hpux-java-docs. At this location, HotSpot options are available as well. Many Hewlett Packard Enterprise specific options are available. Features, suggestions, examples for allocating memory, using WDB to examine backtraces in Java threads and code examples for using Java Native Interface are some. The JDK or JRE 6.0.n Usage Notes appendix is useful. X/Open Socket support for Itanium Starting in JDK and JRE 6.0.18, support for X/Open sockets has been added only for Itanium. This characteristic corrects the behavior of the java.net.Socket.setSoLinger() method. Java native methods outside the JDK that call socket functions are not affected. To enable this support, use the option: -XX:+UseXOpenSockets. The following X/motif patch must be installed on the system: • • PHSS_43341 (11.23) PHSS_43291 (11.31) Handling large GC log files In JDK or JRE 6.0.16, new Oracle command-line options were introduced to support GC log file rotation. These options are -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=<num_of_files> XX:GCLogFileSize=<logsize>. Prior to JDK or JRE 6.0.17, this option could be used with -Xloggc, but was not supported with Xverbosegc. Starting in JDK or JRE 6.0.17, this option is also supported with -Xverbosegc. Hewlett Packard Enterprise GC log rotation option, -XX:GCLogLimits, introduced in JDK or JRE 6.0.05, remains unchanged and is still supported with both -Xloggc and –Xverbosegc. Change in loading of .hotspot_compiler and .hotspotrc files Starting in JDK or JRE 6.0.15, the default implicit loading of the .hotspot_compiler and .hotspotrc file from the current working directory has changed. These files are no longer loaded by default. For existing deployments that rely on .hotspot_compiler and .hotspotrc, an unsupported behavioral option is provided to simulate the old loading behavior. The following command-line options support old behavior: • • -XX:Flags=.hotspotrc reverts to old behavior for .hotspotrc. -XX:CompileCommandFile=.hotspot_compiler reverts to old behavior for the .hotspot_compiler. NOTE: The implicit loading of .hotspot_compiler from the directory where libjvm resides remains unchanged. Option -XX:+SXTElimination enabled by default in 6.0.15 Starting in JDK or RE 6.0.14, the option -XX:+SXTElimination enables a run-time compiler optimization that removes redundant sign-extension instructions from generated code. This option is only available in 64-bit mode. Using this option has resulted in approximately 5% improved performance on some applications. 14 Using JDK and JRE In 6.0.14 by default, SXTElimination is false. Starting in 6.0.15 by default, SXTElimination is true. To turn off the optimization, add the java option: -XX:-SXTElimination Obsolete options The following options have been obsoleted starting in JDK 6.0.11. In JDK 6.0.11 and 6.0.12, if these options are used, the JVM will report Unrecognized option and fail to start up. Beginning in JDK 6.0.13, the JVM will issue a Warning message and proceed to start up normally: • -Xoptgc, -XX:MaxLiveObjectEvacuationRatio=<percent> • Starting in JDK 6.0.11, the -Xoptgc and -XX:MaxLiveObjectEvacuationRatio options have been obsoleted. Improvements to garbage collection make these options unnecessary. -XdoCloseWithReadPending Starting in JDK 6.0.11, the -XdoCloseWithReadPending option has been obsoleted. This option helps solving a problem on PA-RISC where a socket could not be closed. If there was an outstanding read pending on that socket, this socket is not closed. Java 5 and Java 6 do not require use of this option. Lower initial RSS starting in JDK 6.0.03 Starting in JDK/JRE 6.0.03, there was a change in how the JVM commits memory. This change applies to JVMs on 11.31 systems and to JVMs on 11.23 running with MPAS enabled and PHKL_35448. With this change, the initial resident memory or RSS (Resident Set Size) value of the java process is much smaller. To get the same reduced initial RSS value on JDK 5.0 or on 6.0 releases prior to 6.0.03, use the following option: -XX:+ForceMmapReserved Interruptible I/O The Thread.interrupt() method can interrupt some blocking I/O operations, resulting in InterruptedIOException thrown 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. On HPE JDK 6.0 (and JDK 1.5.0.08 and later), this function is controllable by the JVM option UseVMInterruptibleIO, which is on by default. To turn off interruptible I/O, use the option: -XX:-UseVMInterruptibleIO Beginning in JDK 7.0, the default is changed, and UseVMInterruptibleIO is off by default. For more information, see UseVMInterruptibleIO at http://www.oracle.com/technetwork/java/javase/ releasenotes-142123.html and http://bugs.java.com/bugdatabase/view_bug.do?bug_id=4385444. Obsolete options 15 Known issues NOTE: When the Aries option is set to -pa_os_cpu globally on HPE Itanium servers, HP-UX Java incorrectly runs PA binaries instead of IA binaries. The installation happens silently, without any messages. The performance degrades by 2-3 times. The problem is fixed for JDK releases beginning with 6.0.01, but it is seen across previously released JDKs. The following are known problems for HP-UX 11i Integrity and 9000 PA-RISC systems. Some of the solutions require installing patches. For more information on locating and installing patches, see the HP-UX Java Patch Information web page at: http://www.hpe.com/info/JavaPatchInfo Using CompilerRecoveryMode to avoid an abort because of a compiler crash Application aborts due to problems detected in the compilation phase of a method are very rare. Use of the XX:+CompilerRecoveryMode option is a way to avoid an application abort due to a fault detected while compiling a method. When using this option if the JVM detects a failure that would normally result in an application abort, the compiler thread will terminate the current method compilation and remain active to compile other methods. Execution of the Java method that triggered the failure will continue to use the interpreter. The name of the Java method that triggered the failure will be logged in a file called .hotspot_compiler. In future runs you can avoid attempts to compile the method that triggered the compiler failure by editing .hotspot_compiler to add an “exclude” line naming that method, then use the XX:CompileCommandFile=.hotspot_compiler option. There are some cases where the application may still abort in the compilation process. If you experience an abort, you can report the same. Running Java applications with hyperthreading enabled Prior to JDK 6.0.17, java applications crash with an SEGV in interpreter code on systems with hyperthreading enabled. Additional fixes have been added to JDK 6.0.23 and Hewlett Packard Enterprise recommends this version or later to avoid this issue. The crash occurs when an interpreted method is executing one of the fast getfield or putfield bytecodes. A crash can be determined by using gdb to analyze the core file written at the time of the crash. Use the gdb bt command to examine the stack trace and find the stack frame that caused a signal handler to be called. Use the frame and info frame commands to see which bytecode the errant frame was executing. For example, the excerpted gdb session indicates that the crash occurred in Hashtable::put while executing the fast_igetfield function: > > > > > > > > > > > > > > 16 (gdb) bt ... #7 0x60000000cc4ad4a0:0 in os::Hpux::signalHandler () #8 <signal handler called> #9 0x200000007ac25c01 in interpreted frame: java.util.Hashtable::put (java.lang.Object, java.lang.Object) ->java.lang.Object bci: 166 ... (gdb) frame 9 #9 0x200000007ac25c01 in interpreted frame: java.util.Hashtable::put (java.lang.Object, java.lang.Object) ->java.lang.Object bci: 166 (gdb) info frame ... Java interpreted frame specific info: ... Known issues > > bytecode pointer: 0x3682e0be, bytecode: fast_igetfield ... To determine if hyperthreading is enabled, run the setboot system command: setboot To disable hyperthreading, change the boot parameter and reboot the system: setboot -m off reboot To work around the crash with hyperthreading enabled, use the option: -XX:-RewriteBytecodes Invoking jstat or jps on java_q3p/java_q4p on PA-RISC Problem: The java launcher invokes different executables depending on the heap size specified on the command line. On PA-RISC, there are three possible executables, java, java_q3p, and java_q4p. Attempting to connect to the java_q3p executable using the jstat command can result in an error: Exception in thread "main" java.lang.OutOfMemoryError: Could not map PerfMemory Attempting to connect to the java_q3p executable using the jps command can result in the following: <pid> -- process information unavailable Workaround: To work around the issue, you can chatr the jps and jstat executables to enable q3p: cd <java location>/bin/PA_RISC2.0 cp jps jps_q3p chatr +q3p enable jps_q3p cp jstat jstat_q3p chatr +q3p enable jstat_q3p To connect to the running java_q3p process, invoke the following: <java location>/bin/PA_RISC2.0/jstat_q3p <options> <java location>/bin/PA_RISC2.0/jps_q3p <options> On PA-RISC, it is not possible to connect to java_q4p using jps or jstat. To work around the issue, try lowering the heap settings such that one of the other java executables is invoked. 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 might encounter an UnsatsifiedLinkError for an unsatisfied symbol. To resolve this issue, the application will need to link with libstd_v2.so directly. Invoking jstat or jps on java_q3p/java_q4p on PA-RISC 17 Recommend setting PTHREAD_SUSPEND_SYNC to 1 under certain conditions (HP-UX 11.31 (11i v3)) When Java programs are executed with either the PTHREAD_FORCE_SCOPE_SYSTEM or PTHREAD_COMPAT_MODE environment variable set to 1 and with the option -XX:+UseBoundThread. Setting the environment variable PTHREAD_SUSPEND_SYNC to 1 is recommended. For more information, see the pthread_suspend manpage. Supplementary characters display as empty boxes (11i HPE Integrity and HPE 9000 PA-RISC) Supplementary characters are not part of the HP-UX default TrueType fonts; therefore, they will not be available on HP-UX 11i PA-RISC or Integrity. If you try to display supplementary characters in Java 6.0, empty boxes will be displayed. You may use your own fonts to display supplementary characters, but you will need to edit the fontconfig.properties 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 with JNI_CreateJavaVM() or attaching to JVM with AttachCurrentThread() on HPE Integrity The Java 6.0 stack size required to initialize a JVM instance with JNI_CreateJavaVM() or to attach with AttachCurrentThread(). Operating system being higher than the HP-UX 11.23 and 11.31 (11i v2 and v3) Integrity and with a pthread default of 256 KB. If you wish to call JNI_CreateJavaVM() or AttachCurrentThread() from a pthread, the pthread has to be created with a larger stack size (at least 512 KB). Stack overflow failures during JVM initialization are not clearly reported. As the JVM does not have installed handlers and the failures appear as random exceptions. The solution is to ensure that there is enough stack space. Using compiler safepoints (HP-UX 11.11 (11i v1) PA-RISC) Using compiler safepoints guarantees a delay to stop all running Java threads before doing an operation requiring a safepoint synchronization, such as a garbage collection. The compiler safepoints feature is enabled by default beginning with Java 5.0. It uses a newer implementation than in previous releases which requires no HP-UX patches. It can be disabled with -XX:-UseCompilerSafepoints. shl_load HotSpot libjvm problem due to TLS (HP-UX PARISC 32-bit only) The libjvm library for the HotSpot 1.4 JVM uses thread local storage (TLS). The dynamic loader that is used by shl_load does not support loading a library containing TLS. A library can be dynamically loaded using shl_load or dlopen that contains TLS without having it linked with the application. The application displays this behavior when using plug-ins. The current workaround is a new linker feature LD_PRELOAD_ONCE. To obtain the LD_PRELOAD_ONCE functionality, install the following patch (or the patch that supersedes it): HP-UX 11.11 systems, install patch PHSS_35385 HP-UX 11.23 PA systems do not need a patch HP-UX 11.31 PA systems do not need a patch 18 Recommend setting PTHREAD_SUSPEND_SYNC to 1 under certain conditions (HP-UX 11.31 (11i v3)) For more information on LD_PRELOAD_ONCE functionality and limitations, read the manpage for dld.sl after installing the patch. NOTE: Using LD_PRELOAD_ONCE the Java launcher program instead of the previously used Java launcher script, signal chaining for the actual Java program does not work as expected. If you experience this problem, use the new environment variable (JAVA_PRELOAD_ONCE). In the top-level driver, the value of JAVA_PRELOAD_ONCE is set to LD_PRELOAD_ONCE, so that the LD_PRELOAD_ONCE is set for the actual executable instead of the driver. Using linker option +noenvvar and +compat on HPE Integrity and PA-64 systems If the application links with libjvm using the JNI interface APIs to load the JVM directly, do not use linker options +noenvvar or +compat on Integrity or PA-64 systems. Running Java with setuid or setgid on Integrity and PA-RISC Running Java from setuid/setgid executables is restricted on HP-UX. In previous HP-UX releases, executing Java from a setuid/setgid environment was not allowed. Now it is allowed, but patches must be installed, the SHLIB_PATH and LD_LIBRARY_PATH environment variables must be set, and a configuration file must be set up. The HP-UX 11i September 2005 Quality Pack patch bundle supports /etc/dld.sl.conf, allowing system administrators 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 and jli paths are added to the /etc/ dld.sl.conf file and the LD_LIBRARY_PATH (or SHLIB_PATH) is set: cat /etc/dld.sl.conf: /opt/java6/jre/lib/PA_RISC2.0 /opt/java6/jre/lib/PA_RISC2.0/server /opt/java6/jre/lib/PA_RISC2.0/jli /opt/java6/jre/lib/PA_RISC2.0W /opt/java6/jre/lib/PA_RISC2.0W/server /opt/java6/jre/lib/PA_RISC2.0W/jli /opt/java6/jre/lib/IA64N /opt/java6/jre/lib/IA64N/server /opt/java6/jre/lib/IA64N/jli /opt/java6/jre/lib/IA64W /opt/java6/jre/lib/IA64W/server /opt/java6/jre/lib/IA64W/jli echo $LD_LIBRARY_PATH /opt/java6/jre/lib/PA_RISC2.0:/opt/java6/jre/lib/PA_RISC2.0/server: /opt/java6/jre/lib/PA_RISC2.0/jli:/opt/java6/jre/lib/PA_RISC2.0W: /opt/java6/jre/lib/PA_RISC2.0W/server:/opt/java6/jre/lib/PA_RISC2.0W/jli: /opt/java6/jre/lib/IA64N:/opt/java6/jre/lib/IA64N/server:/opt/java6/jre/lib/ IA64N/jli: /opt/java6/jre/lib/IA64W:/opt/java6/jre/lib/IA64W/server:/opt/java6/jre/lib/ IA64W/jli Using linker option +noenvvar and +compat on HPE Integrity and PA-64 systems 19 The conf file must be writable only by root. Otherwise, the loader does not use its contents. If /etc/ dld.sl.conf does not exist or has the wrong permissions, all dynamic path lookup is disabled. The loader ignores any relative path not starting with slash. For more information on the /etc/dld.sl.conf file, check the manpage entry for dld.sl. This file is only referenced when the application is executing within a setuid environment. On PA-RISC HP-UX 11.11 systems, users can launch Java from a setuid application if they install linker patch PHSS_35385 (or a superseding patch) on the system, set SHLIB_PATH and LD_LIBRARY_PATH, and set up /etc/dld.sl.conf. On PA-RISC and Integrity HP-UX 11.23 and 11.31 systems, users can launch Java from a setuid application. If they install linker patch PHSS_37201 (11.23), PHSS_37202 (11.31), or their superseding patches, set SHLIB_PATH and LD_LIBRARY_PATH, and set up /etc/dld.sl.conf. Running Aries PA-RISC emulation on HPE Integrity A patch is required when using the Aries emulator to execute PA-RISC Java applications on Integrity systems running HP-UX 11.23 or 11.31. The patch corrects a defect that causes Java math calculations to produce incorrect results. This defect is fixed by installing the following patch or any patch that supersedes it: HP-UX 11.23 PHSS_35528 HP-UX 11.31 PHSS_36311 PA-RISC 32-bit applications will use both LD_LIBRARY_PATH and SHLIB_PATH Prior to JDK 6.0, the JVM used shl_load to load shared libraries for PA-RISC 32-bit applications. SHLIB_PATH was searched; LD_LIBRARY_PATH was ignored. Starting with JDK 6.0, the JVM uses dlopen instead of shl_load. As a result, for PA-RISC 32-bit applications, both LD_LIBRARY_PATH and SHLIB_PATH will be searched. Environments which previously relied on the assumption that only SHLIB_PATH will be searched for PA-RISC 32-bit applications, must modify the use of LD_LIBRARY_PATH and SHLIB_PATH the environment variables. X/Open Socket Support Releases prior to JDK 6.0.18 support HP-UX BSD sockets only. Support for X/Open Sockets has been added in JDK 6.0.18 for Itanium. Java API Documentation Updater Tool To address CVE-2013-1571, users hosting publicly facing Java API Documentation generated with javadoc 6.0.19 are encouraged to recreate the Java API documentation using javadoc from 6.0.20 or higher. For the convenience of users who have further modified the documentation, Oracle provides the Java API Documentation Updater, a repair-in-place tool. Source code is available with the download for a non standard environment. The Java API Documentation Updater Tool is a separate download (http://www.oracle.com/ technetwork/java/javase/downloads/java-doc-updater-tool-1955731.html) and not included in any JDK or JRE bundles. Known Issues: Area: tools/javadoc Synopsis: Regression: Javadoc i18n regression Problem: 20 Running Aries PA-RISC emulation on HPE Integrity When a package name contains non ASCII characters, the Frames links on package-summary.html loaded in the main pane of a frames layout will load overview-summary.html rather than reloading package-summary.html. Workaround: Do not use the Frames links of package-summary already loaded in the main pane. To return to packagesummary, select a package name in the upper left pane and click on the package name link in the lower left pane. Known issues 21 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 ([email protected]). When submitting feedback, include the document title, part number, edition, and publication date on the front cover of the document. For online help content, include the product name, product version, help edition, and publication date on the legal notices page. 22 Documentation feedback