Download HP-UX 11i Java™ JDK, JRE, and Plug

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, JRE, and Plug-In
Version 5.0.30 Release Notes
HP Part Number: 788167-001
Published: July 2014
Edition: 1
© Copyright 2014 Hewlett-Packard Development Company, L.P.
Legal Notices
Reproduction, adaptation, or translation without prior written permission is prohibited, except as allowed under the copyright laws.
UNIX is a registered trademark of The Open Group.
Java is a registered trademark of Oracle and/or its affiliates.
Contents
HP secure development lifecycle...................................................................................................5
1 HP-UX 11i Java™ JDK, JRE, and Plug-In version 5.0.30 release notes..............................................6
Overview................................................................................................................6
2 What is new in 5.0.30 release..................................................................................................7
Equivalent Oracle release..........................................................................................7
HotSpot JVM............................................................................................................7
Problem fixes...........................................................................................................8
Defect fixes in this release..........................................................................................8
Security fixes in this release........................................................................................8
3 Installation............................................................................................................................11
Patches.................................................................................................................11
HP-UX system requirements.......................................................................................11
Web browser requirements......................................................................................11
Installation instructions.............................................................................................12
PA-RISC add-on package.........................................................................................13
JDK/JRE consistency...............................................................................................13
Installing into an alternate location...........................................................................13
File structure JDK/JRE..............................................................................................14
File structure Runtime Plug-in.....................................................................................15
Removing support for unwanted architectures in the JRE...............................................16
Support for C++ applications built with -AA and -AP options (PA-RISC) only...................16
4 Usage documentation............................................................................................................18
Change in loading of .hotspot_compiler and .hotspotrc files........................................18
5 Known issues........................................................................................................................19
Running Java applications with hyperthreading enabled..............................................19
Performance Degradation in BigInteger class (HP Integrity 64-bit only)...........................20
Recommend setting PTHREAD_SUSPEND_SYNC to 1 under certain conditions (HP-UX
11.31 (11i v3)).........................................................................................................20
Limitation when using jconsole (11i HP Integrity and HP9000 PA-RISC)...........................20
Supplementary characters display as empty boxes (11i HP Integrity and HP 9000
PA-RISC)................................................................................................................20
Initializing a JVM instance with JNI_CreateJavaVM() or attaching to JVM with
AttachCurrentThread() on HP Integrity........................................................................20
Using compiler safepoints (HP-UX 11.11 (11i v1) PA-RISC) ..............................................21
shl_load HotSpot libjvm problem due to TLS (HP-UX PA-RISC 32-bit only)........................21
Using linker option +noenvvar and +compat on HP Integrity and PA-64 systems.............22
Running Java with setuid or setgid on HP Integrity and PA systems................................22
Running Aries PA-RISC emulation on HP Integrity........................................................22
Java WebStart ......................................................................................................22
Using -XX:+UseTimedWait to correct kernel application hang on Itanium........................22
Contents
3
SerialVersionUID mismatch (ISV Issue).......................................................................22
PA-RISC 32-bit applications will use both LD_LIBRARY_PATH and SHLIB_PATH.................23
6 Documentation feedback........................................................................................................24
4
Contents
HP secure development lifecycle
Starting with HP-UX 11i v3 March 2013 update release, HP secure development lifecycle
provides the ability to authenticate HP-UX software. Software delivered through this
release has been digitally signed using HP'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.01.07 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.hp.com/
go/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 Ignite-UX documentation at: http://www.hp.com/
go/ignite-ux-docs.
5
1 HP-UX 11i Java™ JDK, JRE, and Plug-In version 5.0.30
release notes
Overview
The JDK, JRE, and Plug-In version 5.0.30 for HP-UX for the Java 2 Platform Standard
Edition provide the tools for developing and deploying Java applications on HP-UX 11i
HP Integrity and HP 9000 PA-RISC systems.
For more information about what HP-UX releases are supported, see “HP-UX system
requirements” (page 11).
The release notes is not included in the software kit, and instead, this online version is
your source of information for this release. It has the most up-to-date information, especially
regarding known defects, so you may want to check occasionally for the latest information.
Note that beginning with 1.4.2.08, the Runtime Plug-in and Java Web Start release
notes are included with these JDK/JRE release notes.
There are two principal products in the Java 2 Platform Standard Edition family. For 5.0,
Oracle has reverted to the terminology JDK and JRE.
•
J2SE Runtime Environment (JRE)
The JRE provides the libraries, HotSpot Java virtual machine, and other components
necessary for executing a Java application. You may include the JRE with your Java
applications as long as you adhere to the HP software license agreement and
supplemental restrictions provided in the license file. One requirement is that you
must include all of the runtime environment files provided by HP.
The JRE is included in the JDK download package and also provided as a separate
product. Both the Runtime Plug-in and the Java Web Start technology are now
packaged with the JRE.
•
J2SE 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 also includes the JRE.
6
HP-UX 11i Java™ JDK, JRE, and Plug-In version 5.0.30 release notes
2 What is new in 5.0.30 release
Following new features are included in JDK/JRE 5.0.30 release from HP.
•
“Equivalent Oracle release” (page 7)
•
“HotSpot JVM” (page 7)
•
“Problem fixes” (page 8)
•
“Defect fixes in this release” (page 8)
•
“Security fixes in this release” (page 8)
Equivalent Oracle release
This HP JDK 5.0.30 release includes the functionality, enhancements, and defect fixes
equivalent to Oracle releases up to and including Java 5u55, 5u61, and 5u65, as well
as certain HP platform-specific defect fixes. The HP JDK 5.0.30 release passes all of the
tests in Oracle's Java Compatibility Kit test suite (JCK V1.5a). Except for the experimental
option -XX:+UseG1GC, which is supported in this release, other experimental JVM
options in Oracle's JDK releases since 5.0u19 (for example, -XX:+DoEscapeAnalysis,
-XX:+UseCompressedOops, and similar options) are not supported in JDK/JRE 5.0.30.
HotSpot JVM
All -X options supported in earlier HotSpot JVMs are included in this version. Performance,
tool support, tool enhancements, and features are documented at http://java.sun.com/
j2se/1.5.0/docs/index.html.
Also, see Oracle's Java HotSpot VM Options at: http://www.oracle.com/technetwork/
java/javase/tech/vmoptions-jsp-140102.html.
The HotSpot JVM for HP-UX 11i for HP Integrity and HP 9000 PA-RISC systems is suitable
for both client and server workloads. When it is used in a client environment, the JVM
with configuration options that suit client-side applications is invoked. For more information
about the HotSpot JVM, see the HP-UX Programmer's Guide for Java 2 under “User
guide” at http://www.hp.com/go/hpux-java-docs.
The JDK 5.0.30 HotSpot 5.0.30 edition supports the APIs that are 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 5.0 API Specification is
available at http://download.oracle.com/javase/1.5.0/docs/api/.
The JDK 6 Adoption Guide helps users upgrading from JDK 5 to JDK 6. This guide may
be found at http://www.oracle.com/technetwork/java/javase/
adoptionguide-137484.html.
You may also find the following article useful, "J2SE 1.5 in a Nutshell" by Calvin Austin
at http://java.sun.com/developer/technicalArticles/releases/j2se15/.
Equivalent Oracle release
7
Problem fixes
Known Oracle bugs are documented in the Oracle Bug Database at http://bugs.sun.com/
bugdatabase/ (login required). For known HP platform-specific Java problems, see
“Performance Degradation in BigInteger class (HP Integrity 64-bit only)” (page 20).
This HP JDK 5.0.30 release includes the functionality, enhancements, and fixed defects
equivalent to Oracle releases up to and including Java 5u55, 5u61, and 5u65, as well
as certain HP platform-specific fixed defects. The HP JDK 5.0.30 release passes all of
the tests in Oracle's Java Compatibility Kit test suite (JCK V1.5a).
Note that HP occasionally backports defect and security fixes from a later Oracle release
that has not yet been merged into our current sources. Therefore, an Oracle defect might
be fixed in an HP release even though the Oracle release that contains the fix is not part
of the HP release. For all fixes in this release, see the “Defect fixes in this release”
(page 8) table and “Security fixes in this release” (page 8) table.
To view problems fixed in previous HP JDK/JRE 5.0 releases, see JDK/JRE 5.0.x Older
Versions Release Notes Portfolio under “Getting started” at:
http://www.hp.com/go/hpux-java-docs.
Defect fixes in this release
The following HP defect fixes are included in this release.
HP defect
HP SR
JavaSoft
Duplicate ID
Description
QXCR1001359850 N/A
N/A
N/A
java.net.SocketException: Invalid argument
(errno:22) on localAddress due to uncaught
exception.
QXCR1001359851 N/A
N/A
N/A
FileSystemPreferences lockFile0 missing Out
Of Memory check.
QXCR1001362626 N/A
N/A
N/A
JVM interpreter aborts in rare cases for an issue hit due
to the generated code sequence for DUP bytecode.
Security fixes in this release
The following security fixes are included in this release.
8
CVE
Component
Note
CVE-2014-0429
2D
See Note 1
CVE-2014-0457
Libraries
See Note 2
CVE-2014-2421
2D
See Note 2
CVE-2014-2412
AWT
See Note 2
What is new in 5.0.30 release
CVE
Component
Note
CVE-2014-0451
AWT
See Note 2
CVE-2014-0446
Libraries
See Note 2
CVE-2014-2427
Sound
See Note 2
CVE-2014-0460
JNDI
See Note 1
CVE-2013-6629
AWT
See Note 1
CVE-2014-2401
2D
See Note 2
CVE-2014-0453
Security
See Note 1
CVE-2014-2398
Javadoc
See Note 3.a
CVE-2014-1876
Libraries
See Note 4
CVE-2013-5907
2D
See Note 1
CVE-2014-0428
COBRA
See Note 2
CVE-2014-0422
JNDI
See Note 2
CVE-2014-0417
2D
See Note 2
CVE-2014-0373
Serviceability
See Note 2
CVE-2014-0423
Beans
See Note 1
CVE-2013-5905
Install
See Note 3.b
CVE-2013-5906
Install
See Note 3.b
CVE-2013-5896
COBRA
See Note 2
CVE-2013-5884
COBRA
See Note 2
CVE-2014-0416
JAAS
See Note 2
CVE-2014-0376
JAXP
See Note 2
CVE-2014-0368
Networking
See Note 2
CVE-2014-0411
JSSE
See Note 5
Security fixes in this release
9
NOTE:
1. Applies to client and server deployment of Java. This vulnerability can be exploited
through sandboxed Java Web Start applications and sandboxed Java applets. It
can also be exploited by supplying data to APIs in the specified Component without
using sandboxed Java Web Start applications or sandboxed Java applets, such as
through a web service.
2. Applies to client deployment of Java only. This vulnerability can be exploited only
through sandboxed Java Web Start applications and sandboxed Java applets.
3. a. Applies to sites that run the Javadoc tool as a service and then host the resulting
documentation. It is recommended that sites filter HTML where it is not explicitly
allowed for javadocs.
b. Applies to installation process on client deployment of Java.
4.
5.
10
Applies to the unpack200 tool.
Applies to client and server deployment of JSSE.
What is new in 5.0.30 release
3 Installation
Patches
*** IMPORTANT NOTE for PA-RISC Customers! ***
The following networking patch must be installed for HP-UX 11.11 (11i v1) PA-RISC. The
patch is not required for Itanium, or for other PA-RISC systems.
•
HP-UX 11.11 (11i v1) PA-RISC Required patch PHNE_29887 (or its superseded
patch) solves socket problems that may cause hangs.
The pthreads patch shown below must be installed for HP-UX 11.11 (11i v1) PA-RISC.
The patch is not required for HP Integrity systems.
•
HP-UX 11.11 (11i v1) PA-RISC Required patch PHCO_29960 (or its superseded
patch).
To determine whether these patches have been installed on your machine, log in as
root and check your machine with:
/usr/sbin/swlist -l product
The list of required patches changes frequently and may include patches other than those
shown previously. To ensure that you have installed all of the required and recommended
patches needed for Java, see the HP-UX Java Patch Information web page at:
http://ftp.hp.com/pub/softlib/hpuxjava-patchinfo/index.html.
HP-UX system requirements
HP Integrity servers: Integrity servers running HP-UX 11i v2 or v3 (11.23 or 11.31) are
supported. Note that HP-UX 11i v.1.5 11.20 and 11iv.1.6 11.22 are not supported on
Java 5.0. Starting with 5.0.02, the following error will be produced:
/usr/lib/hpux32/dld.so: Unsatisfied data
symbol '__memmove_ver' in load module '/proj/images/
java/1.5.0/j150h.tot.build-Wed/opt/java1.5/bin/IA64N/java'
For more information about HP Integrity servers, see the following website: HP Integrity
Servers.
HP PA-RISC 9000 systems: HP Superdome, rp8420, rp7400, rp4440, and PA-based
workstations running HP-UX 11i v1, v2, or v3 (11.11, 11.23, or 11.31) are supported.
The minimum system for running Java 5.0 applications is a PA-RISC 2.0 with HP-UX
11.11. Note that Java 5.0 applications are not supported on HP-UX 11.0 or on PA-RISC
1.1 systems.
Web browser requirements
The only web browser supported for the Java 5.0 Plug-in is Mozilla for HP-UX version
1.6.0.00 or later. Netscape is not supported.
Patches
11
Installation instructions
From the JDK, JRE, and Plug-In 5.0.x Downloads and Documentation page, select (click)
a JDK/JRE 5.0.x version to download from the “JDK/JRE 5.0.x Downloads” list. This
displays the download page for that version (for example, https://
h20392.www2.hp.com/portal/swdepot/try.do?productNumber=JDKJRE5030 for
5.0.30). Select one of the depot or tar files listed, and download to a local directory.
NOTE: Beginning with the JDK/JRE 5.0.24 release, the download depot and tar
filenames will be prefixed with a “Z7550-nnnnn_” part number.
You need approximately 670 MB of disk space to download and install the JDK which
includes the JRE. The JRE alone, which includes the Runtime Plug-in and Java WebStart
technology, needs approximately 640 MB.
NOTE: When downloading a .depot file, some browsers don't recognize the .depot
format and treat the file as a text file. If this happens, right-click the Download Directly
>> button (on the Software download confirmation window) and select Save Target As.....
To verify that the file downloaded correctly you need to use MD5 Secure Checksum
(md5sum). You can download MD5 Secure Checksum at HP-UX MD5 Secure Checksum
if you do not already have this utility. To verify your download with MD5 Secure
Checksum, at the UNIX prompt, execute the command:
md5sum <filename>
If the file downloaded correctly, the checksum number for the file you downloaded must
match the MD5 Checksum number given for that file.
Note that beginning with 5.0, HP is providing the Runtime Plug-in as part of the JRE
depot. When you install the JRE, the Plug-in is installed automatically.
The HP-UX JDK, JRE and Plug-in for the Java 2 Platform install under /opt/java1.5.
As root user, use the following SD-UX swinstall command to install the software:
/usr/sbin/swinstall
This command leads you through the installation. Change Source Depot Type to "Local
Directory" and Source Depot Path to /tmp/<filename>. (If you used a directory other
than /tmp in the previous step, replace /tmp with that directory name.) HP recommends
you to select the "Reinstall filesets" and unselect the "Mount filesystems" option from the
options menu.
WARNING! Do not unarchive rt.jar, charsets.jar, jpda.jar, tools.jar,
jce.jar, and jsse.jar. These files are needed by the JDK tools and the runtime
environment.
Add the directory /opt/java1.5/bin to your PATH.
For information on setting important system parameters required for correct execution of
Java programs, see the HP-UX Programmer's Guide for Java 2 under “User guide”at:
12
Installation
http://www.hp.com/go/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 your Integrity system includes the PA add-on,
swinstall displays a message indicating that you can remove it if you would like
to reclaim the disk space. Use the following SD commands if you decide to remove
the PA add-on bundles:
/usr/sbin/swremove Java15JDKadd
/usr/sbin/swremove Java15JREadd
•
PA-RISC systems: If you are running on a PA-RISC system and your application
requires the PA add-on package, then you need to also upgrade the PA add-on
package in addition to upgrading the JRE/JDK. The add-on package is named either
Java15JDKadd or Java15JREadd and can be obtained by downloading one of
the following PA bundles: jdk15aa_15023_pa.depot,
jre15aa_15023_pa.depot, or jre15aa_15023_pa.tar.Z. Also see “Support
for C++ applications built with -AA and -AP options (PA-RISC) only” (page 16).
JDK/JRE consistency
If your system contains both the JRE and JDK products, you must upgrade both products
to maintain consistency in numbering between the JRE/JDK as far as swlist is
concerned.
Installing into an alternate location
To install the software into an alternate location:
•
Designate filesets – either:
◦
JDK installation: Jdk15.JDK15-* and Jre15.JRE15-*
◦
JRE installation: Jre15.JRE15-*
•
Add "@/<alternate_directory>" to the end of the swinstall command
•
Add the alternate directory to your PATH
For example: (note that the swinstall command is located at /usr/sbin/swinstall)
JDK:
swinstall -s
<download> Jdk15.JDK15-* Jre15.JRE15-* @/<alternate_directory>
JRE:
swinstall -s
<download> Jre15.JRE15-* @/<alternate_directory>
PA-RISC add-on package
13
SD-UX prepends <alternate_directory> to the default product path. Java will
therefore install in /<alternate_directory>/opt/java1.5.
If you want your Java home directory in <alternate_directory> without the
/opt/java1.5 directories, you need to install into a temporary directory, and then
move the directories to where you want them.
For example:
JDK:
swinstall -s <download> Jdk15.JDK15-* Jre15.JRE15-* @/<temporary_directory>
mv <temporary_directory>/opt/java1.5/* <final_alternate_directory>
JRE:
swinstall -s <download> Jre15.JRE15-* @/<temporary_directory>
mv <temporary_directory>/opt/java1.5/* <final_alternate_directory>
Or you can install and link to the directories.
For example:
JDK:
swinstall -s <download> Jdk15.JDK15-* Jre15.JRE15-* @/<actual_directory>
ln -s /<actual_directory>/opt/java1.5/* <final_alternate_directory>
JRE:
swinstall -s <download> Jre15.JRE15-* @/<actual_directory>
ln -s /<actual_directory>/opt/java1.5/* <final_alternate_directory>
File structure JDK/JRE
The following diagram displays an abbreviated form of the file structure:
java1.5
|
___|__________________________________________________
|
|
|
|
|
bin
|
lib
|
jre
javaws files*
java
tools.jar
|
javac
dt.jar
|
javadoc ir.idl
|
javah
|
orb.idl
javap
|
jdb
|
demo
include
__|_____________________________
|
|
14
bin
lib
|
|
_______________________|__________________________
|
|
|
java PA_RISC2
|
|
Installation
|
PA_RISC2.0W
|
IA64N
|
IA64W
|
________________________|________________________________________
|
|
|
|
|
|
|
rt.jar
charsets.jar
jce.jar
zi
security
jsse.jar
PA_RISC2
PA_RISC2.0W IA64N
IA64W
|_________|___________|_________|___
|
|
|
|
server
server
server
server
The tools are under opt/java1.5/bin and the libraries are under opt/java1.5/
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 rt.jar file 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 the shared library(ies) 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/java1.5/jre
/opt/java1.5/jre/plugin/PA_RISC2.0/mozilla
/opt/java1.5/jre/plugin/IA64N/mozilla
browser
Runtime plug-in and JRE files
Runtime Plug-in shared libraries loaded by Mozilla browser
IPF Runtime Plug-in shared libraries loaded by Mozilla
If the JPI is installed in the default location, /opt/java1.5/jre, then 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/java1.5/jre/plugin/PA_RISC2.0/mozilla/libjavaplugin_oji.sl
Runtime Plug-in HP Integrity installation:
/opt/mozilla/plugins/libjavaplugin_oji.sl -> \
/opt/java1.5/jre/plugin/IA64N/mozilla/libjavaplugin_oji.sl
If the Runtime Plug-in is installed in a non-default location, the system administrator needs
to create similar links in order to enable Mozilla to find the Runtime Plug-in. Or you may
use the environment variable MOZ_PLUGIN_PATH for Mozilla.
File structure Runtime Plug-in
15
Information on Mozilla for HP-UX can be found at Mozilla Web Browser for HP-UX
Downloads and Documentation. Additional 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 may remove support
for unwanted architectures. Functional components may NOT be removed under any
circumstances. You may remove support for unwanted architectures as explained below.
The following commands assume that the JRE has been installed in the standard location,
that is, /opt/java1.5/.
•
On PA-RISC, to remove 64-bit support:
/usr/sbin/swremove Jre15.JRE15-PA20W Jre15.JRE15-PA20W-HS
•
On HP Integrity, to remove 64-bit support:
/usr/sbin/swremove Jre15.JRE15-IPF64 Jre15.JRE15-IPF64-HS
•
PA filesets are not installed by default on HP Integrity. If you have installed them for
some reason, they can be removed with:
/usr/sbin/swremove Jre15.JRE15-PA20 Jre15.JRE15-PA20-HS \
Jre15.JRE15-PA20W Jre15.JRE15-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 Itanium
systems, the C++ runtime libraries support -AA and -AP by default. On HP-UX 11.0 or
11.11 PA-RISC, if you are using the ANSI Standard C++ runtime (-AA) option in an
application that loads Java, you need to use the -AA version of libjvm and
libfontmanager. Note that these libraries are provided as a separate download on
the same page from where you download the JDK and JRE, starting at this Webpage:
JDK, JRE, and Plug-In 5.0.x Downloads and Documentation.
These are the Standard C++ Runtime version of these libraries:
/opt/java1.5/jre/lib/PA_RISC2.0/libjvm_v2.sl
/opt/java1.5/jre/lib/PA_RISC2.0W/libjvm_v2.sl
/opt/java1.5/jre/lib/PA_RISC2.0/libfontmanager_v2.sl
/opt/java1.5/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>
16
Installation
For information about the PA add-on bundle required to run C++ applications compiled
with -AA, see “PA-RISC add-on package” (page 13).
Support for C++ applications built with -AA and -AP options (PA-RISC) only
17
4 Usage documentation
For the usage of documentation for developers, see the HP-UX Programmer's Guide for
Java 2 under “User guide” at http://www.hp.com/go/hpux-java-docs. There you will
find information on HotSpot options, HP-specific options and features, suggestions and
examples for allocating memory, how to use WDB to examine backtraces in Java threads,
code examples for using Java Native Interface, and more. You might find the JDK/JRE
5.0.n Usage Notes appendix useful.
Change in loading of .hotspot_compiler and .hotspotrc files
JDK/JRE 5.0.26 and later contains changes to the default implicit loading of the
.hotspot_compiler and .hotspotrc file from the current working directory. These
files are no longer loaded by default. For existing deployments that rely on
.hotspot_compiler (for example, to exclude a method from hotspot compilation),
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.
18
Usage documentation
5 Known issues
The following are known problems for HP-UX 11i Integrity and HP 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://ftp.hp.com/pub/softlib/hpuxjava-patchinfo/index.html.
Running Java applications with hyperthreading enabled
Prior to JDK 5.0.27, java applications might crash with a SEGV in interpreter code on
systems with hyperthreading enabled. Additional fixes have been added to JDK 5.0.30
and it is the recommended version from HP to avoid this issue. The crash usually occurs
when an interpreted method is executing one of the "fast" getfield or putfield
bytecodes. This 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. Then use the "frame" and "info
frame" commands to see what bytecode the errant frame was executing. For example,
the excerpted gdb session below shows that the crash occurred in Hashtable::put
while executing the fast_igetfield function:
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
(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:
...
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
Running Java applications with hyperthreading enabled
19
Performance Degradation in BigInteger class (HP Integrity 64-bit only)
A performance degradation in the JDK/JRE 5.0.26 and later in the
java/math/BigInteger class could have a small negative impact on some 64-bit
Java applications. One 64-bit Java benchmark that makes heavy use of the BigInteger
class degraded by 10% compared to JDK/JRE 5.0.25. The negative impact, if any, for
most 64-bit Java applications will be much smaller.
Recommend setting PTHREAD_SUSPEND_SYNC to 1 under certain conditions
(HP-UX 11.31 (11i v3))
If on your 11.31 system you run Java programs with either the
PTHREAD_FORCE_SCOPE_SYSTEM or PTHREAD_COMPAT_MODE environment variable
set to 1, or with the option -XX:+UseBoundThread, then setting the environment
variable PTHREAD_SUSPEND_SYNC to 1 is strongly recommended. For more information,
see the pthread_suspend manpage.
Limitation when using jconsole (11i HP Integrity and HP9000 PA-RISC)
The jconsole application relies on shared memory for inter-process communication. On
HP-UX, jconsole will not work with any 32-bit application that needs all application
memory mapped private. On HP Integrity (Itanium), any request of 1700 MB or larger
causes all memory to be mapped private. On HP PA-RISC, a request larger than 2400
MB may cause all memory to be mapped private. If your Java application relies on large
private address space, jconsole will not be able to monitor such Java applications.
Supplementary characters display as empty boxes (11i HP Integrity and HP
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 HP Integrity. If you try to display
supplementary characters in Java 5.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 HP Integrity
The Java 5.0 stack size required to initialize a JVM instance with JNI_CreateJavaVM()
or to attach to JVM with AttachCurrentThread() is greater than the HP-UX 11.23
and 11.31 (11i v2 and v3) HP Integrity pthread default of 256 KB. If you wish to call
JNI_CreateJavaVM() or AttachCurrentThread() from a pthread, you need
to create the pthread with a larger stack size, at least 512 KB. Stack overflow failures
during JVM initialization are not always clearly reported as such, since the JVM may not
20
Known issues
have yet installed its handlers, and the failures may appear as random exceptions. The
solution is to ensure you have enough stack space.
Using compiler safepoints (HP-UX 11.11 (11i v1) PA-RISC)
Using compiler safepoints guarantees a more deterministic 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(-XX:-SafepointPolling in 5.0.03 and older
releases)
shl_load HotSpot libjvm problem due to TLS (HP-UX PA-RISC 32-bit
only)
The libjvm library for the HotSpot 1.4 JVM uses thread local storage (TLS). Currently,
the dynamic loader that is used by shl_load does not support dynamically loading a
shared library containing TLS when the library was not included in the link line.
You may need to load a library dynamically (using shl_load or dlopen) that contains
TLS, such as libjvm.sl, without having linked your application against it. This might
be the case if your application uses plug-ins.
The current workaround is a new linker feature LD_PRELOAD_ONCE.
To obtain the LD_PRELOAD_ONCE functionality, you need to install the following patch
(or the patch that supersedes it):
HP-UX
HP-UX
HP-UX
HP-UX
11.00
11.11
11.23
11.31
systems, install patch
systems, install patch
PA systems do not need
PA systems do not need
PHSS_28869
PHSS_35385
a patch
a patch
For more information on LD_PRELOAD_ONCE functionality and its limitations, read the
manpage for dld.sl after you install the patch.
NOTE: In some cases, using LD_PRELOAD_ONCE with Java that uses the Java launcher
program instead of the previously used Java launcher script, signal chaining for the actual
Java program did not work as expected. If you experience this problem, it is suggested
to 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 compiler safepoints (HP-UX 11.11 (11i v1) PA-RISC)
21
Using linker option +noenvvar and +compat on HP Integrity and PA-64
systems
If your application links with libjvm and uses the JNI interface APIs to load the JVM
directly, do not use the linker options +noenvvar or +compat on HP Integrity or PA-64
systems.
Running Java with setuid or setgid on HP Integrity and PA systems
Java requires dynamic loading (SHLIB_PATH, LD_LIBRARY_PATH) which are disabled in
setuid or setgid executables. Therefore, Java cannot run with setuid or setgid.
Running Aries PA-RISC emulation on HP Integrity
A patch is needed if you are 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
Java WebStart
Java WebStart does not currently support the automatic downloading of JREs that may
be requested by a JNLP file. You will need to install any specific JRE versions required
by an application prior to running that application. To download the version you require,
go to Java™ Technology Software on HP-UX. After the new JRE is installed, you will must
add the new JRE to WebStart. For more information about WebStart, see the Oracle's
Website at: http://www.oracle.com/technetwork/java/javase/tech/
index-jsp-136112.html.
Using -XX:+UseTimedWait to correct kernel application hang on Itanium
An application hang which has been identified as a problem in the kernel, may occur
on rare occasions on Itanium systems. As a workaround, HP recommends using the option
-XX:+UseTimedWait. If the problem persists, enter a Bug report. However, it is advised,
that use of option -XX:+UseTimedWait has a performance impact, and customers are
recommended to check any update on the recommended patch list for Java on Itanium
systems. The recommended patch list will be updated as soon as a fix is released as a
Kernel Patch.
SerialVersionUID mismatch (ISV Issue)
A serial version UID mismatch is encountered when using Weblogic Server (9.0, 9.1,
or the base release of 9.2) with HP Java 5.0.05 and later:
22
Known issues
Parsing Failure in config.xml: javax.xml.namespace.QName; local class
incompatible: stream classdesc serialVersionUID = 4418622981026545151,
local class serialVersionUID = -9120448754896609940
To workaround this problem, modify:
<BEA_HOME>/Weblogic9x/common/bin/commEnv.sh file to include the following
command:
JAVA_OPTIONS="$JAVA_OPTIONS Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0"
Alternatively, you can use the command line option:
export JAVA_OPTIONS="$JAVA_OPTIONS Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0"
This problem is fixed in Weblogic Server 9.2 MP1.
PA-RISC 32-bit applications will use both LD_LIBRARY_PATH and SHLIB_PATH
Prior to JDK 5.0.18, the JVM used shl_load to dynamically load shared libraries for
PA-RISC 32-bit applications. SHLIB_PATH was searched; LD_LIBRARY_PATH was
ignored.
Starting with JDK 5.0.18, 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 that previously relied on the assumption that only SHLIB_PATH would be
searched for PA-RISC 32-bit applications might need to modify the use of their
LD_LIBRARY_PATH and SHLIB_PATH environment variables.
PA-RISC 32-bit applications will use both LD_LIBRARY_PATH and SHLIB_PATH
23
6 Documentation feedback
HP 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]). Include the document title and part number, version number,
or the URL when submitting your feedback.
nl
For more information about support policies of HP-UX, see HP-UX support policy.
24
Documentation feedback