Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
HP-UX 11i Java™ JDK, 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