Download SDK/RTE 1.4.2.28 Release Notes

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

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

Document related concepts
no text concepts found
Transcript
HP-UX 11i Java™ SDK, RTE, and Plug-In
1.4.2.28 Release Notes
HP Part Number: 5900-2196
Published: May 2012
Edition: 1.0
© Copyright 2012 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.
Java™ and all Java based trademarks and logos are trademarks or registered trademarks of Oracle America and/or its affiliates
in the United States and other countries.
Table of Contents
Overview..............................................................................................................................6
Features.................................................................................................................................6
New in the 1.4.2.28 Release ............................................................................................7
HotSpot 1.4.2.28 Server JVM ..........................................................................................7
Equivalent Oracle release ...............................................................................................9
Installation..........................................................................................................................10
Patches ..........................................................................................................................10
HP-UX PA-RISC System Requirements .......................................................................10
HP-UX HP Integrity System Requirements .................................................................10
Installation instructions.................................................................................................10
Installing into an alternate location ..............................................................................12
File structure JDK/JRE ..................................................................................................13
File structure Runtime Plug-in (JPI) for Mozilla...........................................................14
Usage Documentation........................................................................................................15
Removing support for unwanted architectures in the JRE ..........................................15
Support for dynamic thread local storage (TLS) ..........................................................15
Signal Chaining Functionality ......................................................................................16
Support for C++ applications built with -AA and -AP options (PA-RISC) only ..........16
Using Java 2 JNI on HP-UX ..........................................................................................16
HotSpot JVM Options ..................................................................................................17
Garbage collectors: Parallel, Concurrent mark, and Sweep .........................................17
Allocating physical memory and swap in the Java heap .............................................17
Asian TrueType fonts and Asian locales ......................................................................17
Date/Time methods defaults ........................................................................................17
Profiling ........................................................................................................................18
Closing a socket when accept or read is pending (PA-RISC) - new patch information!
.......................................................................................................................................18
Compatibility with previous releases ..........................................................................18
Runtime Plug-In usage and configuration ...................................................................18
GC log-rotation support ...............................................................................................19
ThreadDumpPath support ...........................................................................................20
Additional HP and Oracle Java documentation ..........................................................20
Problem Fixes......................................................................................................................21
Defects fixed in the SDK 1.4.2.28 release ......................................................................21
PA-RISC Known issues.......................................................................................................21
Recommend setting PTHREAD_SUSPEND_SYNC to 1 under certain conditions
(HP-UX 11.31 (11i v3)) ..................................................................................................22
shl_load HotSpot libjvm problem due to TLS (HP-UX 11.0 PA-RISC) .................22
64-bit Support X/Motif (HP-UX 11.00 & 11.11 (11i v1) PA-RISC) ................................22
64-bit Support - System Call (HP-UX 11.00 PA-RISC) .................................................22
/dev/poll Runtime Support (HP-UX 11.00 & 11.11 (11i v1) PA-RISC) ....................22
Table of Contents
3
HPjconfig Configuration Tool ......................................................................................23
Compiler Safe Points (HP-UX 11.00 & 11.11 (11i v1) PA-RISC) ...................................23
Using Linker Option +noenvvar and +compat on HP Integrity and PA-64 Systems
.......................................................................................................................................23
Running Java with setuid or setgid .......................................................................23
HP Integrity (Itanium) Known Issues ...............................................................................24
Using pthread_suspend() under certain conditions on HP-UX 11.31 (11i v3) .............24
Initializing a JVM instance with JNI_CreateJavaVM or attaching to JVM with
AttachCurrentThread() .......................................................................................24
Using Linker Option +noenvvar and +compat on HP Integrity and PA-64 Systems
.......................................................................................................................................24
Running Java with setuid or setgid ..............................................................................24
Running Aries HP Integrity emulation on PA2.0 .........................................................25
Software Support................................................................................................................25
Security fixes in the 1.4.2.28 release....................................................................................26
4
Table of Contents
List of Tables
1
Security Fixes...............................................................................................................26
5
Overview
The HP-UX Software Development Kit for the Java™ 2 Platform Version 1.4.2.28 release
provides the tools for developing and deploying Java applications on HP-UX 11i v1
(11.11), 11i v2 (11.23), 11i v3 (11.31) HP9000 PA-RISC, and HP-UX 11i v2 (11.23) and
11i v3 (11.31) HP Integrity systems. See HP-UX PA-RISC System Requirements (page 10)
and HP-UX HP Integrity System Requirements (page 10) for HP-UX releases that are
not supported.
Release notes are no longer included in the software kit, and instead, this online version
is your source of information for the release. It has the most up-to-date information,
especially regarding known defects, so you may want to check it occasionally for
updates. Information about the Runtime Plug-in and Java Web Start are also included
in these release notes.
There are two principal products in the Java 2 Platform Standard Edition family::
• J2SE Runtime Environment (RTE)
The RTE provides the libraries, HotSpot Java virtual machine, and other
components necessary for you to execute a Java application. You may include the
runtime environment with your Java applications as long as you adhere to the HP
software license agreement and supplemental restrictions provided in the LICENSE
file. The RTE is provided as a separate product, and it is also included in the SDK
download package. Java WebStart technology is also included in the RTE. The
Java Runtime Plug-in for Mozilla is a separate download.
•
J2SE Development Kit (SDK)
The SDK is a superset of the RTE, and includes additional tools such as compilers
and debuggers that are necessary for developing applets and applications. The
SDK download package includes the RTE.
Features
HP's SDK 1.4.2.28 is a 1.4.2 maintenance release and includes the following:
• Designed to take advantage of more efficient memory management algorithms
being implemented in HP-UX.
• Oracle's 1.4.2_29 - 1.4.2_36 releases*
• Performance enhancements and defects fixed in previous 1.4. releases as well as
the defects shown in Problem Fixes (page 21)
• Support for C++ -AA and -AP options PA-RISC
• HotSpot 1.4.2.28 server JVM
• Java Web Start
• Runs in 32-bit or 64-bit mode on both PA-RISC and HP Integrity-based systems
6
* Note that on occasion HP backports defect and security fixes from a later Oracle
release.
New in the 1.4.2.28 Release
HP's SDK/RTE 1.4.2.28 release includes the following new features and fixes:
• The Oracle 1.4.2_29 - 1.4.2_36 releases' functionality (Note that on occasion HP
backports defect fixes from a later Oracle release. See the defects fixed table for all
fixes in this release.)
• HotSpot 1.4.2.28 Server JVM (page 7)
• Defects fixed in the SDK 1.4.2.28 release (page 21)
• Oracle's Security fixes in the 1.4.2.28 release (page 26)
HotSpot 1.4.2.28 Server JVM
All -X options supported in earlier HotSpot JVMs are included in HotSpot 1.4.2.28.
Performance, tool support, tool enhancements, and features are documented at http://
docs.oracle.com/javase/1.4.2/docs/.
The HotSpot 1.4.2.28 Server JVM for HP-UX 11 PA-RISC and HP Integrity systems is
suitable for both client and server workloads. We invoke the Server VM with
configuration options that suit client-side applications.
The SDK 1.4.2.28 HotSpot 1.4.2.28 Edition supports the APIs core to the Java 2 platform:
Java Foundation Classes (JFC), Security, Java IDL, JDBC™, JavaBeans™, Remote Method
Invocation (RMI), Java 2D, the Collections Framework, and a new set of nonblocking
i/o APIs.
The Java 2 Platform version 1.4.2 API Specification is available at http://docs.oracle.com/
javase/1.4.2/docs/api/.
Following is a partial list of the functionality that the HotSpot 1.4.2.28 Server JVM
provides:
• Improved performance
• Nonblocking I/O APIs
Introduced in 1.4.1, they are now part of the Java system libraries under the package
java.nio. The previous implementation of I/O multiplexing using the class
com.hp.io.Poll is still being included for backward compatibility. We encourage
you to upgrade and use the features provided through the new java.nio package.
•
IPv6 support on HP Integrity and PA-RISC
For usage information, see “IPv6 (Internet Protocol version 6) Support” in the
“HotSpot Technology Tools and Commands” section of the HP-UX Programmer's
Guide for Java 2 on the BSC at:
http://www.hp.com/go/hpux-java-docs.
Features
7
•
Java VM Debugging Interface (JVMDI)
JVMDI and JPDA allow you to run HotSpot with numerous development tools.
For more information, refer to http://docs.oracle.com/javase/1.4.2/docs/guide/jpda/
architecture.html
•
Java Platform Debugger Architecture (JPDA)
Architecture and components are documented at http://java.sun.com/javase/
technologies/core/toolsapis/jpda/ and http://docs.oracle.com/javase/1.4.2/docs/
guide/jpda/. The jdb for HP-UX is similar to the Solaris implementation. For usage
information, refer to Oracle VM Invocation Options at http://docs.oracle.com/
javase/1.4.2/docs/guide/jpda/conninv.html.
•
Java VM Profiling Interface (JVMPI)
Support for JVMPI allows you to profile java code with the HotSpot 1.4 VM so
you can extract more accurate runtime profiles.
•
HP debugger WDB support
HP's wdb 3.0.01 and later debuggers may be used to examine backtraces containing
mixed language frames (Java and C/C++) in Java thread stacks. This simplifies
debugging the VM and Java mixed-language applications. For more information,
see "Using wdb to examine backtraces in Java thread stacks" in the HP-UX
Programmer's Guide for Java 2.
•
-Xeprof option
Generates profile data for HPjmeter. Zero preparation profiling is available. For
syntax and use, see the -Xeprof option in the “HotSpot Technology Tools and
Commands” section of the HP-UX Programmer's Guide for Java 2.
•
Large heap sizes
Heaps up to 3.5 GB are supported on HP-UX 11i v2 (11.23) with no patches required
and up to 3 GB on HP-UX 11i v1 (11.11 PA) with the installation patches. Refer to
the “Expanding Memory” section of the HP-UX Programmer's Guide for Java 2.
•
64-bit mode
Supported with the -d64 option. For more information, see the -d64 option in
the “HotSpot Technology Tools and Commands” section of the HP-UX Programmer's
Guide for Java 2.
•
Support for Java 3D
For information on HP's Java 3D technology, see "3D for SDK & RTE overview &
features" at Java™ 3D for SDK and RTE Downloads and Documentation .
•
New garbage collectors
Supports parallel and concurrent mark and sweep garbage collectors. For a detailed
look at garbage collection and the new collectors, refer to JavaSoft's documentation
8
"Tuning Garbage Collection with the 1.4.2 Java Virtual Machine" at http://
java.sun.com/docs/hotspot/gc1.4.2/index.html.
•
Java Web Start bundled with the RTE
The files for Java Web Start technology are part of the jre in the directory javaws.
Web Start release notes are also included in the javaws directory.
•
HeapDump Options:
For more information on the following HeapDump options, see the “HotSpot
Technology Tools and Commands” and “Interaction of HeapDump Options”
sections of the HP-UX Programmer's Guide for Java 2 on the BSC at http://
www.hp.com/go/hpux-java-docs.
— -XX:+HeapDump
The HeapDump command-line option can be used to observe memory allocation
in a running Java application by taking snapshots of the heap over time. Using
the _JAVA_HEAPDUMP=1 environment variable allows memory snapshots
to be taken without modifying the java command line. The HeapDump
functionality is available starting with SDK 1.4.2.10 and JDK 5.0.03.
— -XX:+HeapDumpOnly
The HeapDumpOnly option can be used to enable HP Heap Dumps using
SIGVTALARM signal (signal 20). Using the environment variable,
_JAVA_HEAPDUMP_ONLY, the HeapDump functionality is triggered without
modifying the java command line.
— -XX:+HeapDumpOnOutOfMemory
The -XX:+HeapDumpOnOutOfMemory command-line option causes the JVM
to dump a snapshot of the Java heap when an Out Of Memory error condition
has been reached. The HeapDumpOnOutOfMemory functionality is also available
in JDK 1.5.0.04.
— -XX:+HeapDumpOnCtrlBreak
The -XX:+HeapDumpOnCtrlBreak option enables the ability to take snapshots
of the Java heap when a SIGQUIT is sent to the Java process, without using the
jvmti-based -Xrunhprof:heap=dump. This feature is similar to the
-XX:+HeapDump option, except the output format is binary hprof format,
and is placed into a filename. The HeapDumpOnCtrlBreak functionality is
also available with JDK 5.0.05.
Equivalent Oracle release
HP's SDK/RTE 1.4.2.28 release includes Oracle's 1.4.2_29 - 1.4.2_36 releases' functionality.
(Note that on occasion HP backports defect and security fixes from a later Oracle release.
See the Defects fixed in the SDK 1.4.2.28 release (page 21) table and the Security fixes
in the 1.4.2.28 release (page 26) table for all fixes in this release.)
Features
9
Installation
Patches
*** IMPORTANT NOTE for PA-RISC Customers! ***
Beginning with SDK version 1.4.2.06, the following networking patch (or its superseded
patch) must be installed for HP-UX 11.11 (11i v1) PA-RISC. The patch is not required
for HP Integrity, or for other PA-RISC versions.
HP-UX 11.11 (11i v1) PA-RISC Required patch PHNE_29887 solves socket problems
that may cause hangs
For all SDK versions 1.4.2.xx, the pthreads patch shown below (or its superseded patch)
must be installed for HP-UX 11.0 or HP-UX 11.11 (11i v1)PA-RISC. The patch is not
required for HP Integrity.
HP-UX 11.0 PA-RISC Required patch PHCO_29959 or
HP-UX 11.11 (11i v1) PA-RISC Required patch PHCO_29960
To determine which patches have been installed on your machine, log in as root and
check your machine with:
/usr/sbin/swlist -l product
For a complete list of required and recommended patches (which includes the patches
mentioned above), see the HP-UX Java Patch Information web page at:
http://ftp.hp.com/pub/softlib/hpuxjava-patchinfo/index.html
Please install ALL dependency patches as well. These will be listed on the IT Resource
Center web page from where you download the patch.
Operating system patches should be installed before you install the SDK.
HP-UX PA-RISC System Requirements
The Java technology requires HP-UX HP PA-RISC systems 11.11 (11i v1), 11.23 (11i
v2), and 11.31 (11i v3). (HP-UX 11.20 and 11.22 are not supported.) The minimum
system for running Java applications is a PA-RISC 2.0 system.
HP-UX HP Integrity System Requirements
The Java technology requires HP-UX 11.23 (11i v2) and 11.31 (11i v3). (HP-UX 11.20 is
not supported.) Refer to the following web site for HP Integrity servers: HP Integrity
Servers
Installation instructions
You need a total of approximately 160 MB of disk space to download and install the
.depot file. The download file runs on both Workstations and Servers. After installing
the software, you can remove the .depot file.
10
NOTE:
When downloading a .depot file, some browsers don't recognize the
.depot format and treat the file as a text file. If this happens, right-click the Download
Directly >> button (on the Software download confirmation window) and select Save
Target As....
To verify that the file downloaded correctly you need to use MD5 Secure Checksum
(md5sum). You can download MD5 Secure Checksum at HP-UX MD5 Secure Checksum
if you do not already have this utility. To verify your download with MD5 Secure
Checksum, at the UNIX prompt, execute the command:
md5sum <filename>
If the file downloaded correctly, the checksum number for the file you downloaded
should match the MD5 Checksum number given for that file.
The SDK for the Java™ Platform installs under /opt/java1.4. The RTE is installed
under /opt/java1.4/jre. If you have a previous installation of 1.4, please uninstall
it using swremove and move any personal files from your existing /opt/java1.4
directory before you begin the new installation. If you do not uninstall a previous
installation, you may see messages such as "Error: You have specified more than one
fileset selection." As root user, use the following SD-UX swinstall command to install
the software:
/usr/sbin/swinstall
This command will lead you through the installation. Change Source Depot Type to
"Local Directory" and Source Depot Path to /tmp/<filename>. (If you used a directory
other than /tmp in the previous step, replace /tmp with that directory name.) We
recommend you select the "Reinstall filesets" and unselect the "Mount file systems"
option from the options menu.
CAUTION: Do not unarchive rt.jar, charsets.jar, jpda.jar, tools.jar,
jce.jar, and jsse.jar. These files are needed by the SDK tools and the runtime
environment.
Add the directory /opt/java1.4/bin to your PATH.
NOTE: To install the software into an alternate location, see Installing into an alternate
location (page 12).
For information on setting important system parameters required for correct execution
of Java programs refer to the HP-UX Programmer's Guide for Java 2 on the BSC at http://
www.hp.com/go/hpux-java-docs.
Setting install options using Software Depot Install (SD Install)
To set install options:
Installation
11
1.
Click the Options menu on the main SD Install window and click Change Options.
We recommend setting the following install options:
• Deselect Mount file systems in /etc/fstab or /etc/checklist.
• Select Reinstall filesets even if same revision exists.
2.
3.
4.
5.
From the Actions menu click Change Source...
Select Local Directory as the Source Depot Type.
Enter the Source Host Name.
Enter the Source Depot Path. If for example you downloaded the .depot file to the
/tmp directory you would enter: /tmp/sdk14_14228_ia.depot
If you used a directory other than /tmp in step two, replace /tmp with that
directory name.
Click OK and SD Install will guide you through the installation.
6.
7.
If you are having problems with the software installation, refer to Software Support
(page 25) in these release notes.
Verifying file download
To verify that the file downloaded correctly, at the UNIX prompt run the command
cksum <filename>. If the file downloaded correctly, the checksum number for the
file you downloaded should match the checksum number given above for that file.
Installing into an alternate location
To install the software into an alternate location:
• Designate filesets – either:
— JDK installation: Jdk14.JDK14-* and Jre14.JRE14-*
— JRE installation: Jre14.JRE14-*
•
•
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> Jdk14.JDK14-* Jre14.JRE14-* @/<alternate_directory>
JRE:
swinstall -s
<download> Jre14.JRE14-* @/<alternate_directory>
SD-UX prepends <alternate_directory> to the default product path. Java will
therefore install in /<alternate_directory>/opt/java1.4.
If you want your Java home directory in <alternate_directory> without the
/opt/java1.4 directories, you need to install into a temporary directory, and then
move the directories to where you want them.
For example:
12
JDK:
swinstall -s <download> Jdk14.JDK14-* Jre14.JRE14-* @/<temporary_directory>
mv <temporary_directory>/opt/java1.4/* <final_alternate_directory>
JRE:
swinstall -s <download> Jre14.JRE14-* @/<temporary_directory>
mv <temporary_directory>/opt/java1.4/* <final_alternate_directory>
Or you can install and link to the directories.
For example:
JDK:
swinstall -s <download> Jdk14.JDK14-* Jre14.JRE14-* @/<actual_directory>
ln -s /<actual_directory>/opt/java1.4/* <final_alternate_directory>
JRE:
swinstall -s <download> Jre14.JRE14-* @/<actual_directory>
ln -s /<actual_directory>/opt/java1.4/* <final_alternate_directory>
File structure JDK/JRE
The following diagram displays an abbreviated form of the file structure:
java1.4
|
___|________________________________________________
|
|
|
|
|
bin
lib
|
|
|
|
jre
|
tools.jar
|
javac
dt.jar
|
javadoc ir.idl
|
javah
|
javap
jdb
include
javaws files*
java
orb.idl
demo
|
|
__|_____________________________
|
|
bin
lib
|
|
________________________________________________
|
java PA_RISC PA_RISC2.0 PA_RISC2.0W
|
IA64N
IA64W
|
________________________|______________________________________________
|
|
rt.jar
zi
|
|
|
|
|
|
security
PA-RISC
PA_RISC2.0
PA_RISC2.0W
IA64N
IA64W
Installation
13
charsets.jar
jce.jar
|_________|___________|_________|________|___
|
|
|
|
|
jsse.jar
server
server
server
server
server
* The files for Java Web Start technology are part of the jre in the directory javaws. Web
Start release notes are also included in the javaws directory.
The tools are under opt/java1.4/bin and the libraries install under opt/java1.4/
lib. The tools.jar file contains the classes for supporting the tools and utilities. The file
dt.jar contains the DesignTime archive of BeanInfo files.
The jre directory includes the runtime environment. The file rt.jar contains the
runtime classes for the core API. The file charsets.jar contains the
internationalization and localization classes and files. The security directory contains
security management files.
The shared libraries used by the HP-UX platform are contained in the following
directories:
PA-RISC
PA_RISC2.0
PA_RISC2.0W
IA64N
IA64W
PA-RISC 1.1 32-bit
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 (JPI) for Mozilla
The Runtime Plug-in for Mozilla for HP-UX requires the shared library(ies) loaded by
the Mozilla browser, the remaining Runtime Plug-in files, and the RTE to be located
in the following fixed relative position:
/opt/java1.4/jre
Runtime plug-in and RTE files
/opt/java1.4/jre/plugin/PA_RISC/mozilla Runtime Plug-in shared libraries loaded by Mozilla browser
/opt/java1.4/jre/plugin/IA64N/mozilla
IPF Runtime Plug-in shared libraries loaded by Mozilla browser
If the JPI is installed in the default location, /opt/java1.4/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.4/jre/plugin/PA_RISC/mozilla/libjavaplugin_oji.sl
Runtime Plug-in HP Integrity installation:
/opt/mozilla/plugins/libjavaplugin_oji.sl -> \
/opt/java1.4/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.
14
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 athttp://www.oracle.com/technetwork/java/index-jsp-141438.html.
Usage Documentation
The HP-UX Programmer's Guide for Java 2 on the BSC at http://www.hp.com/go/
hpux-java-docs contains usage documentation for developers. 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.
For more information, refer to Oracle's Java HotSpot VM Options at http://
www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html.
Removing support for unwanted architectures in the JRE
Under the RTE license agreement, partners who redistribute the RTE may remove
support for unwanted architectures. Functional components may NOT be removed
under any circumstances. Beginning with the 1.4.2.05 release, you may remove support
for unwanted architectures as follows
The following commands assume that the RTE has been installed in the standard
location, that is, /opt/java1.4/.
The swremove commands must be run as root. Use these command lines:
• or HP Integrity (Itanium) system, to remove PA_RISC 1.1 support
/usr/sbin/swremove Jre14.JRE14-PA11 Jre14.JRE14-PA11-HS
(The -pa11 command line option will no longer work.)
•
On a PA-RISC system, to remove 64-bit support:
/usr/sbin/swremove Jre14.JRE14-PA20W Jre14.JRE14-PA20W-HS
(The -d64 command line option will no longer work.)
•
On an HP Integrity system, to remove 64-bit support:
/usr/sbin/swremove Jre14.JRE14-IPF64 Jre14.JRE14-IPF64-HS
(The -d64 command line option will no longer work.)
•
PA_RISC 2.0 support is not typically installed on HP Integrity, but if it is, to remove
it:
/usr/sbin/swremove Jre14.JRE14-PA20 Jre14.JRE14-PA20-HS \
Jre14.JRE14-PA20W Jre14.JRE14-PA20W-HS
Support for dynamic thread local storage (TLS)
Dynamic thread local storage is fully supported on all HP Integrity (Itanium) systems,
beginning with SDK Versions 1.4.2.00 and 5.0.
Usage Documentation
15
Dynamic TLS is not available on any HP-UX PA-RISC system. However there is a
workaround. See shl_load HotSpot libjvm problem due to TLS (HP-UX 11.0
PA-RISC) (page 22) in these release notes for details.
Signal Chaining Functionality
With signal chaining functionality, applications can now use signals that the JVM uses
and they will not interfere with the JVM's functionality. For signal chaining, the
application must load the library libjsig.sl (PA) or libjsig.so (Itanium) before
libc.2.
On PA-RISC, to obtain this functionality, you need to install the patch shown below
and then use LD_PRELOAD. On HP Integrity, no patch and no workaround is needed.
HP-UX 11.11 PA-RISC systems, install patch PHSS_28436 (or the patch that supersedes
it)
For examples and scenarios of how to use LD_PRELOAD, refer to the “Signal chaining
functionality” section of the HP-UX Programmer's Guide for Java 2.
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.11
and later releases on PA-RISC systems, C++ uses the -AP runtime option by default. If
you are using the ANSI Standard C++ runtime (-AA) option in an application that loads
Java, you need to use the -AA version of libjvm and libfontmanager.
Note that these libraries are provided as a separate download on the same page from
where you download the SDK and RTE, starting at this webpage: SDK and RTE 1.4.2.x
Downloads and Documentation.
These are the Standard C++ Runtime version of these libraries:
./jre/lib/PA_RISC2.0/libjvm_v2.sl
./jre/lib/PA_RISC2.0W/libjvm_v2.sl
./jre/lib/PA_RISC2.0/libfontmanager_v2.sl
./jre/lib/PA_RISC2.0W/libfontmanager_v2.sl
Any native application must be either linked with, or must 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>
Using Java 2 JNI on HP-UX
For C and C++ applications, it is important to link with the -mt (multithread) option
if the application calls a Java VM. Both executables and shared libraries must be linked
16
with -mt. Use of -mt must be consistent during both compilation and linking. For
more information, refer to the “Native (non-Java) calling Java methods” section in the
HP-UX Programmer's Guide for Java 2 on the BSC at http://www.hp.com/go/
hpux-java-docs.
If you embed libjvm in a 32-bit native application and wish to use a large Java heap,
you must link with the -N option. For more information, refer to the “Expanding heap
size in native applications on PA-RISC HP-UX 11.11 and later releases” and “Expanding
heap size in native applications on Integrity HP-UX 11.23 and later releases,” also in
the HP-UX Programmer's Guide for Java 2.
HotSpot JVM Options
For all standard and non-standard options, please refer to the HotSpot Technology
Tools and Commands section of the HP-UX Programmer's Guide for Java 2.
Garbage collectors: Parallel, Concurrent mark, and Sweep
JavaSoft has implemented new generational collectors that emphasize the throughput
of the application or low garbage collection pause times.
For a detailed look at garbage collection and the new collectors, refer to JavaSoft's
documentation "Tuning Garbage Collection with the 1.4.2 Java Virtual Machine" at
http://java.sun.com/docs/hotspot/gc1.4.2/index.html and http://www.oracle.com/
technetwork/java/javase/tech/index-jsp-140228.html.
Allocating physical memory and swap in the Java heap
The method of allocating physical memory and swap within the Java heap has changed.
As a result, you are likely to see higher RSS (resident set size) memory usage when
monitoring your Java processes with Glance or other tools, or your application startup
may be slightly slower.
For more details on why this occurs and for examples of using key command line
options, see the “Allocating Physical Memory and Swap in the Java Heap” section of
the HP-UX Programmer's Guide for Java 2.
Asian TrueType fonts and Asian locales
Asian locales are supported by HP's JDK 1.4 with TrueType fonts. For more details,
see HP-UX Fonts and the Java™ Runtime Environment at:
http://www.hp.com/go/hpux-java-docs
Date/Time methods defaults
The HotSpot JVM uses the gettimeofday() system call to obtain date and time
information. For performance reasons a new mechanism that uses the number of CPU
ticks since the application started is used to calculate the current time. As a result,
changes to the system date or time using the date command, the adjtime() function,
Usage Documentation
17
or time synchronization utilities such as ntp will not be reflected in the date and time
that the Java program returns until the process is restarted.
If your application requires that system time changes are immediately reflected, you
can use the -XX:+UseGetTimeOfDay option to tell the JVM to use the gettimeofday
call instead of the new, lightweight mechanism. However you may notice a drop in
performance.
Profiling
In the SDK Version 1.4, a SIGPROF handler to support future profiling capability is
installed automatically. This may cause incompatibilities with other native code or
profiling tools which use SIGPROF.
You can turn off the SIGPROF handler by using the following option:
-XX:+ReduceSignalUsage
However, be aware that using this option also turns off the SIGQUIT handler, and you
therefore will not be able to get a Java stack trace.
Closing a socket when accept or read is pending (PA-RISC) - new patch information!
Because of changes to the mechanism by which a socket is closed in the VM, for all
supported HP-UX PA-RISC systems, you no longer need to use the
-XdoCloseWithReadPending option we recommended in earlier releases. However for
HP-UX 11.11 the following patches (or their superseded patches) are required:
PHKL_32457
PHKL_25840
PHKL_25842
PHNE_25644
PHNE_25084
For more detailed information, refer to “Closing a socket when accept or read is pending
(PA-RISC)” in the “HotSpot Technology Tools and Commands” section of the HP-UX
Programmer's Guide for Java 2.
Compatibility with previous releases
Oracle maintains upwards compatibility. Therefore, an application written for a 1.3
JVM will run on a 1.4 JVM. Downward compatibility is generally not supported because
new APIs are introduced that do not run on earlier JVMs.
For a detailed description of the incompatibilities between 1.3 and 1.4, refer to http://
java.sun.com/javase/compatibility_j2se1.4.html .
Runtime Plug-In usage and configuration
You can configure the Runtime Plug-In by running the Control Panel script, which
launches the Control Panel java application, or by loading ControlPanel.html in the
18
browser. Both files are found in the directory jre/bin and jre/, respectively, under
the directory where the Runtime Plug-in has been installed.
The Control Panel application generates a file:
$HOME/.java/deployment/deployment.properties
This file contains, among other settings, the path to the RTE to be used by the Runtime
Plug-in for HP-UX when the browser loads an applet from a Runtime Plug-in enabled
html page. If the Plug-in is installed in the default location, this setting is stored in the
key:
javaplugin.jre.path=/opt/java1.4/jre
No environment variables are necessary for configuring the Runtime Plug-In for HP-UX,
Java Edition. However, you may optionally use the following environment variables.
MOZ_PLUGIN_PATH
You can use the MOZ_PLUGIN_PATH environment variable to direct the Mozilla browser
to search alternate directories for plug-in libraries.
NOTE: The entries in the $HOME/.java/deployment/deployment.properties
file supersede those of MOZ_PLUGIN_PATH when locating the RTE.
CLASSPATH
A user's CLASSPATH environment variable can be passed by the JVM by running the
Control Panel and specifying either -cp or -classpath in the "Java Run Time
Parameter" box. You need to exit and rerun the browser for this change to take effect.
For additional information on the Runtime Plug-In, see the Java™ Runtime Plug-in (JPI)
Frequently Asked Questions at:
http://www.hp.com/go/hpux-java-docs
Enabling HTML pages to use the Runtime Plug-in for HP-UX
The first time the Mozilla browser loads an applet from a Runtime Plug-in-enabled
HTML page, it will download and install the Runtime Plug-in for HP-UX. Oracle has
provided some additional tools to assist users in using Plug-in products. They have
provided a converter to automate the enabling on HTML pages. They also provide an
HTML specification for users who wish to enable their HTML pages manually.
Information on Oracle HTML converter and specification is available at http://
www.oracle.com/technetwork/java/features-140082.html. You may want to use it to
modify your HTML pages to specify use of the Runtime Plug-in for HP-UX, Java Edition,
version 1.4.x instead of the default browser version of the HP-UX Runtime Environment
for Java.
GC log-rotation support
Prior to SDK 1.4.2.23, when using GC logging options (for example, -Xverbosegc or
-Xloggc), GC data is written to a single file of unlimited size. Starting with SDK
Usage Documentation
19
1.4.2.23, the JVM supports generation of multiple GC log files and rotates through the
specified number of files. This allows for easier archiving of GC data and helps limit
the amount of disk space consumed by the GC log. Log rotation is also supported when
using zero-preparation Xverbosegc.
To enable log rotation, use the following option together with -Xverbosegc, -Xloggc,
or zero-preparation Xverbosegc:
-XX:GCLogLimits=M,N
M is a non-negative integer for the number of GC records per file. Each GC record
corresponds to a GC event. A value of 0 specifies an unlimited number of records per
file. N is a non-negative integer for the maximum number of files. A value of 0 specifies
an unlimited number of files.
When using this option, both M and N are required. If this option is not specified, then
the default behavior is to write a single GC log file with unlimited size.
When rotation is in effect, a sequence number is appended to the the GC filename (0
through N-1). (Examples of file names are: filename.0, filename.1, and filename.2.)
With log rotation, when the specified maximum number of files (N) is reached, logging
cycles back to the first file in the sequence (filename.0), overwriting old GC data with
new data. If the maximum number of files (N) is never reached, then no log rotation
occurs.
Examples:
Rotate between two log files, each with a maximum of 100,000 GC records:
-XX:GCLogLimits=100000,2
Maintain an unlimited number of smaller files, each with a maximum of 1,000 GC
records:
-XX:GCLogLimits=1000,0
ThreadDumpPath support
By default, sending the Java process a SIGQUIT signal results in a thread dump being
written to stdout. Starting with the SDK 1.4.2.25 release, the -XX:ThreadDumpPath=
<path/filename>option can be used to specify the thread dump file name or a
directory where the thread dump is created.
Additional HP and Oracle Java documentation
The following websites have additional information:
• HP-UX Programmer's Guide for Java 2 and Java Troubleshooting Guide for HP-UX
Systems (on the Business Support Center athttp://www.hp.com/go/hpux-java-docs
• Java 2 SDK version 1.4 features and tools
• Java 2 version 1.4.2 API Specification
• Java 2 SDK tools and utilities
20
•
•
•
•
•
Java tutorials
Java security
Java technologies
Swing Connection newsletter
Java manpages (located at /opt/java1.4/man)
Problem Fixes
Known JavaSoft bugs are documented in the Oracle Bug Database at http://
bugs.sun.com/bugdatabase/ .
Note that on occasion HP backports a defect fix from a Oracle release that has not yet
been merged into our current sources. Therefore, an Oracle defect may be fixed in an
HP release even though the Oracle release that contains the fix is not part of the HP
release.
This 1.4.2.28 release includes the enhancements and defects fixed in previous HP 1.4.2
releases and in Oracle's 1.4.2_29 - 1.4.2_36 releases, as well as the following additional
defect fixes.
Defects fixed in the SDK 1.4.2.28 release
HP defect
Description
QXCR1001048217
1.4 crash: java core dump: Error:must find derived/base pair
QXCR1001115828
Excessive Socket with RMI/Corba 4000228411
A regression in HP's SDK versions 1.4.2.11 and 1.4.2.12 and JDK versions 5.0.04, 5.0.05,
and 5.0.06 can affect the running of finalizers.
Infrequently, a finalizer is not run and the expected clean-up of any objects and resources
performed in that finalizer does not occur. Symptoms can include exhaustion of available
system resources including file descriptors and memory.
A fix for this problem is included in HP's SDK version 1.4.2.13 and later and JDK version
5.0.07 and later.
PA-RISC Known issues
Below is some information on known PA-RISC defects. Some of the solutions require
installing patches. For more information on locating and installing patches, see the
HP-UX Java Patch Information web page at:
http://ftp.hp.com/pub/softlib/hpuxjava-patchinfo/index.html
Problem Fixes
21
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.
Please see the pthread_suspend manpage for more details.
shl_load HotSpot libjvm problem due to TLS (HP-UX 11.0 PA-RISC)
The libjvm library for the HotSpot 1.4 JVM uses thread local storage (TLS). Currently,
the dynamic loader that is used by shl_load does not support dynamically loading
a shared library containing TLS when the library was not included in the link line.
You may need to load a library dynamically (using shl_load or dlopen) that contains
TLS, such as libjvm.sl, without having linked your application against it. This might
be the case if your application uses plug-ins.
The current workaround is a new linker feature LD_PRELOAD that is available for
HP-UX 11.0 in patch PHSS_28434 (or its supersede patches). For HP-UX 11.11 (11i v1)
the feature is included. For more information on LD_PRELOAD functionality and its
limitations, read the man page for dld.sl AFTER you have installed the patch.
64-bit Support X/Motif (HP-UX 11.00 & 11.11 (11i v1) PA-RISC)
For 64-bit support on X/Motif, you will need to install one of the patches shown below
(or their supersede patch), depending on your operating system:
HP-UX 11.00
HP-UX 11.11
PHSS_28368 64-bit
PHSS_28875 32/64-bit
These fix GUI failures due to the window height of some Java application pop-up
windows being too large.
64-bit Support - System Call (HP-UX 11.00 PA-RISC)
The lightweight timer may not function correctly because the system call
__lw_get_thread_times() may fail.
For HP-UX 11.0, the workaround is to install the two patches shown below, or their
supersede patch. HP-UX 11.11 (11i v1) system calls function correctly.
HP-UX 11.00
HP-UX 11.00
PHKL_28202 __lw_get_thread_times reports incorrect time
PHKL_26008 cumulative pstat patch
/dev/poll Runtime Support (HP-UX 11.00 & 11.11 (11i v1) PA-RISC)
For systems where /dev/poll runtime support is required, you will need to install one
of the following patches, depending on your HP-UX version. If the patches have been
superseded, you may install the supersede patch.
22
HP-UX 11.00
HP-UX 11.11
PHKL_24064
PHKL_25468
HPjconfig Configuration Tool
HPjconfig version 2.0 is not supported on the HotSpot 1.4 VM. HPjconfig version 2.1
and later is supported, which you can download free from: Java™ Technology Software
on HP-UX.
Compiler Safe Points (HP-UX 11.00 & 11.11 (11i v1) PA-RISC)
For both HP-UX 11.0 and 11.11, using Compiler Safe Points requires a patch. The
required patch numbers are shown below. For information on locating and installing
the patches, see the HP-UX Java Patch Information web page at:
http://ftp.hp.com/pub/softlib/hpuxjava-patchinfo/index.html
If the patches have been superseded, you may install the supersede patch.
HP-UX
HP-UX
HP-UX
HP-UX
11.00
11.00
11.11 (11i v1)
11.11 (11i v1)
PHKL_28202
PHKL_27089 (for 64-bit)
PHKL_24751 and PHKL_27317
PHKL_27092 (for 64-bit)
In SDK 1.4.2.10, compiler safe points is off by default. To turn it on, use the
-XX:+UseCompilerSafepoints option. Enabling compiler safe points guarantees
a more deterministic delay to stop all running java threads before doing a safe point
operation, namely garbage collection and deoptimization.
Using Linker Option +noenvvar and +compat on HP Integrity and PA-64 Systems
If your application links with libjvm and uses the JNI interface APIs to load the JVM
directly, do not use the linker options +noenvvar or +compat on HP Integrity or
PA-64 systems. The defect does not exist on PA-RISC 32-bit systems.
Running Java with setuid or setgid
Running Java from setuid/setgid executables is restricted on HP-UX. In previous
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 provides support for /etc/
dld.sl.conf which allows sys admins to specify a list of trusted paths on the system.
When executing within a setuid environment, the dynamic loader will compare the
paths in SHLIB_PATH/LD_LIBRARY_PATH against the list of trusted paths found in
/etc/dld.sl.conf. If the path is a trusted path, then it will be used for library
lookup.
Users can run java from a setuid environment if the jre path is added to the /etc/
dld.sl.conf file.
PA-RISC Known issues
23
The file /etc/dld.sl.conf is only referenced when the application is executing
within an suid environment.
On IPF, starting with JDK 1.4.2.10, users can launch java from an suid application with
linker patch PHSS_32765 (or superceding patch) installed on the system.
With JDK 1.4.2.10 and patch PHSS_32765, users do not need to specify the JRE path in
/etc/dld.sl.conf.
HP Integrity (Itanium) Known Issues
Using pthread_suspend() under certain conditions on HP-UX 11.31 (11i v3)
For all Java versions running on HP-UX 11.31, if either of the following conditions is
true for a threaded application that uses pthread_suspend(), which is not
POSIX-compliant, setting the environment variable PTHREAD_SUSPEND_SYNC to
1 is strongly recommended. Failing to do so, can lead to undefined behavior:
• The PTHREAD_FORCE_SCOPE_SYSTEM or PTHREAD_COMPAT_MODE
environment variable is set to either 1 or on.
• The application's binary is brought forward from an HP-UX 11i v1 release.
Initializing a JVM instance with JNI_CreateJavaVM or attaching to JVM with
AttachCurrentThread()
Starting in 1.4.2.00 with the 64-bit SDK, the stack size required to initialize a JVM
instance with JNI_CreateJavaVM or to attach to JVM with
AttachCurrentThread() is greater than the HP-UX 11.23 (11i v2) Itanium pthread
default of 256K. If you wish to call JNI_CreateJavaVM or AttachCurrentThread()
from a pthread, you need to create the pthread with a larger stack size, at least 416K.
Stack overflow failures during JVM initialization are not always clearly reported as
such, since the JVM may not have yet installed its handlers, and the failures may appear
as random exceptions. The solution is to make sure you have enough stack space.
Using Linker Option +noenvvar and +compat on HP Integrity and PA-64 Systems
If your application links with libjvm and uses the JNI interface APIs to load the JVM
directly, do not use the linker options +noenvvar or +compat on HP Integrity or
PA-64 systems. The defect does not exist on PA-RISC 32-bit systems.
Running Java with setuid or setgid
Running Java from setuid/setgid executables is restricted on HP-UX. In previous
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.
24
The HP-UX 11i September 2005 Quality Pack patch bundle provided support for /etc/
dld.sl.conf, which allows 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.
The file /etc/dld.sl.conf is only referenced when the application is executing
within an suid environment.
On IPF, starting with JDK 1.4.2.10, users can launch java from an suid application
with linker patch PHSS_32765 (or superceding patch) installed on the system.
With JDK 1.4.2.10 and patch PHSS_32765, users do not need to specify the JRE path in
/etc/dld.sl.conf.
Running Aries HP Integrity emulation on PA2.0
If you are running the Aries HP Integrity emulator on a PA2.0 system with HP-UX
11.23, a defect exists that causes Java math calculations to produce incorrect math
routine results. This problem is fixed by installing the following patches, or the patches
that supersede them:
HP-UX 11.23:
PHSS_29658 (or the patch that supersedes it)
Software Support
If you are having problems with the download or software installation, please take a
minute to read through these commonly encountered problems, which might apply
to you.
• If you cannot resolve the download problem, report your download problem and
provide us with the following information:
— Java version you are trying to download
— HP-UX OS version (in a shell window, type uname -a)
•
If you cannot resolve the software installation problem, please contact your
authorized support provider and provide them with the information below. Check
the HP Support Center at: http://h20566.www2.hp.com/portal/site/hpsc/public/
for HP support information.
The IT resource center will need the following the following information to assist
you:
— The command line you are using to run swinstall
— The output of the command
— The options you chose in swinstall
— The source depot path
Software Support
25
For other problems, refer to SDK & RTE 1.4 product support page at: HP-UX Java
support page.
Security fixes in the 1.4.2.28 release
The following security fix is included in this release.
Table 1 Security Fixes
26
CVE
Component
Note
CVE-2010-4454
Sound
See Note 2
CVE-2010-4462
Sound
See Note 2
CVE-2010-4465
Swing
See Note 1
CVE-2010-4469
HotSpot
See Note 1
CVE-2010-4473
Sound
See Note 2
CVE-2010-4476
Java Language
See Note 5
CVE-2010-4447
Deployment
See Note 1
CVE-2010-4475
Deployment
See Note 1
CVE-2010-4448
Networking
See Note 1
CVE-2011-0862
2D
See Note 3
CVE-2011-0815
AWT
See Note 1
CVE-2011-0864
HotSpot
See Note 1
CVE-2011-0802
Sound
See Note 2
CVE-2011-0814
Sound
See Note 2
CVE-2011-0871
Swing
See Note 1
CVE-2011-0867
Networking
See Note 1
CVE-2011-0865
Deserialization
See Note 1
CVE-2011-3548
AWT
See Note 1
CVE-2011-3545
Sound
See Note 2
CVE-2011-3549
Swing
See Note 1
CVE-2011-3556
RMI
See Note 7
CVE-2011-3557
RMI
See Note 7
CVE-2011-3560
JSSE
See Note 1
CVE-2011-3547
Networking
See Note 1
Table 1 Security Fixes (continued)
CVE
Component
Note
CVE-2011-3389
JSSE
See Note 8
CVE-2011-3552
Networking
See Note 1
CVE-2012-0499
2D
See Note 2
CVE-2012-0503
I18n
See Note 1
CVE-2012-0505
Serialization
See Note 1
CVE-2012-0502
AWT
See Note 1
CVE-2011-3563
Sound
See Note 2
CVE-2012-0506
CORBA
See Note 1
Note 1. Applies to client deployment of Java only. This vulnerability can be exploited
only through Untrusted Java Web Start applications and Untrusted Java applets.
(Untrusted Java Web Start applications and untrusted applets run in the Java sandbox
with limited privileges.)
Note 2. Applies to client and server deployment of Java. This vulnerability can be
exploited through Untrusted Java Web Start applications and Untrusted Java applets.
It can also be exploited by supplying data to APIs in the specified Component without
using untrusted Java Web Start applications or untrusted Java applets, such as through
a web service.
Note 3. Fix addresses multiple instances of this vulnerability. Applies to client and
server deployments of Java. This vulnerability can be exploited through Untrusted
Java Web Start applications and Untrusted Java applets. It can also be exploited by
supplying data to APIs in the specified Component without using untrusted Java Web
Start applications or untrusted Java applets, such as through a web service.
Note 4. Applies to client deployment of Java only. This vulnerability is applicable only
to systems using the Java Update (which is available only on the Windows platform).
Note 5. Applies to server deployment of Java. This vulnerability can only be exploited
by supplying data to APIs in the specified Component without using Untrusted Java
Web Start applications or Untrusted Java applets, such as through a web service.
Note 6. Applies to client deployment of Java only. This vulnerability can be exploited
only when a user runs a standalone application.
Note 7. Applies to RMI server deployments of Java.
Note 8. This is a vulnerability in the SSLv3/TLS 1.0 protocol. Exploitation of this
vulnerability requires a man-in-the-middle and the attacker needs to be able to inject
chosen plaintext.
Security fixes in the 1.4.2.28 release
27