Download HP-UX 11i Java™ JDK and JRE Version 6.0.33 Release

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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