Contact Us Contact Us

FPUpdater Tool Download and Documentation

  Software Depot
Electronic download
Frequently asked questions

» Java on HP-UX 11i Home


The FPUpdater tool allows you to update installed Java Development Kit (JDK) and Java Runtime Environment (JRE) software to address the hang that occurs when parsing strings like "2.2250738585072012e-308" to a binary floating-point number, as described in the Security Alert for CVE-2010-4476 Released.

New in this Release

FPUpdater 1.1 fixes the following issues with the tool:

  • Improved error messages in the tool
  • On NonStop systems, cleanup of the orphaned process created while running the verification tests using "fpupdater -t/--test" on the pre-patched JDK

Note: These fixes are related to the tool; the patches applied to the JDK are not modified. So there is no need to run FPUpdater 1.1 on a JDK previously patched with FPUpdater 1.0.

System Requirements

The FPUpdater tool is recommended for the HP-UX 11i Java releases shown in the following table:

JRE/JDK Release Comments
J2SE 1.4.2 Required for updates prior to, and including,
J2SE 5.0 Required for updates prior to, and including,
Java SE 6 Required for updates prior to, and including, 6.0.09

For NonStop Server for Java (NSJ), the FPUpdater tool is recommended for the Software Product Revision (SPR) shown in the following table:

JRE/JDK Release Comments
NSJ4.2 (G-Series)   Required for updates prior to, and including, SPR T2766 V20^ABI
NSJ4.2 (H, J - Series)    Required for updates prior to, and including, SPR T2766 H10^ABV
NSJ5.0 (H, J - Series)    Required for updates prior to, and including, SPR T2766 H50^ABU
NSJ5.1 (H, J - Series)    Required for updates prior to, and including, SPR T2766 H51^ABW
NSJ6.0 (H, J - Series)    Required for updates prior to, and including, SPR T2766 H60^ABX

Download and Installation

Download the FPUpdater tool to a local directory and unzip it.

FPUpdater Tool Download

» fpupdater 1.1 tool March 2011


The FPUpdater tool modifies the JRE/JDK software instance that is used to execute the tool. If you run more than one instance of the JRE, for example if you have an instance of the JRE inside a JDK bundle and another standalone JRE, you need to run the tool against each instance to update them.

The <JRE_HOME> value specifies the path to the JRE to be altered. You should ensure that you have sufficient privileges to modify the <JRE_HOME> and <JAVA_HOME>/jre/lib or <JRE_HOME>/lib directory. If you do not have sufficient privileges to modify the directory, contact your system administrator.

As a result of running the tool, the <JRE_HOME>/lib/rt.jar file is modified, and the tool leaves behind the following files:

<JRE_HOME>/lib/rt.jar.fpupdater     Copy of rt.jar before the fix.
<JRE_HOME>/lib/.fpupdater.log          Zero-length file indicating that the update has taken place.

If either of these two files is already present, the tool will not perform the update and exits with a warning.

Run the fpupdater tool with the following command:

<JRE_HOME>/bin/java -jar fpupdater.jar -u -v

Note: On NonStop systems, the environment variables JREHOME, JAVA_HOME, and PATH need to be specific for the NSJ environment to be updated.

If the installation location of the NSJ to be updated is /usr/tandem/java, set the environment variables as follows:

export JAVA_HOME=/usr/tandem/java
export PATH=$JAVA_HOME/bin:$PATH


Option Description
-h, --help Print the usage to stdout and exit. Other options are ignored if you specify this option
-V, --version Show the FPUpdater tool version number and exit.
-u, --update Update the floating-point parsing classes.
-v, --verbose Display detailed messages to stdout during update or test option. The name of the JRE being modified is displayed.
-t, --test Run verification tests only and exit. If the JRE has already been updated or the tool encounters any other problems, the verification test reports the error(s) and fails.

Note that the -u and -t options should be run as separate commands.

Error Handling

Before it updates the necessary files, the FPUpdater tool will make a best effort to ensure that it's running in an environment where it has sufficient access privileges and disk space to perform the update successfully. Any issues encountered with such checks will be flagged to the user and the update operation will be aborted.

If the FPUpdater tool update operation is interruped for any reason, the rollback procedure should be followed before reattempting any patching or test verification via the -t option.

General Information

Shut Down JRE Instances Prior to Update
Before running the FPUpdater tool, you should stop all the software running on the JRE instance. Cached instances of the files to be updated might exist in running JRE software processes if you do not shut down the JRE software before running the FPUpdater tool. Restart the JRE software and/or associated applications after the FPUpdater tool has completed its work.

Forcing a Patch
To force a patch to a JRE/JDK that has been patched, follow the rollback procedure and run the FPUpdator tool in update mode.

Early Access Release Issue
By design, the tool does not update a JRE that does not require updating, such as a revision later than those listed in the System Requirements tables. If you are running an early access (or -ea) version of a later JRE (for example, 1.5.0_22-ea), the required update might not be in place, but the tool might incorrectly assume that the update is not required. The final version of these releases will contain the fix.

Updating a Patched JRE/JDK
Updating a patched JRE/JDK to a version earlier than those listed in the System Requirements tables (for example, updating from a patched 6.0.7 to 6.0.8), will undo the patch. In this event, run the tool against the updated JRE/JDK, after removing the two files left by the previous installation:

% rm <JRE_HOME>/lib/rt.jar.fpupdater
% rm <JRE_HOME>/lib/.fpupdater.log

For future JRE/JDK releases this tool will not be required as all future release will have this fix inlcuded.

Installing a JRE/JDK to a Previously Patched Directory
If you install a JRE/JDK to a directory that was previously patched via the FPUpater tool, you should ensure that the two backup files referred to in the rollback procedure (rt.jar.fpupdater and .fpupdater.log) are first removed, as shown in the preceding paragraph. Installing a JRE/JDK will undo the patch that might have been performed previously by the FPUpdater tool for that JRE/JDK installation.

System-Specific Information

FPUpdater is a Java tool that does not address platform-specific software management issues. This means that the additional and backup files created by the tool might not be removed during an uninstall. To uninstall a patched JRE/JDK, you should ensure that the additional backup files (rt.jar.fpupdater and .fpupdater.log) are first removed so the uninstaller can perform correctly.


Restrictive umask settings on HP-UX
The FPUpdater tool creates files with default file permissions. On the HP-UX operating system, this is taken from the umask. A default umask of 022 should be used when running the FPUpdpater tool. A more restrictive umask, such as 077, causes the tool to create files that are unreadable by other users. To solve this problem, manually change the file permissions after the installation.

Virtualized Systems

Virtualized environments might experience additional delays when updating.

Rolling Back FPUpdater Tool Changes

You must manually undo the changes made by the tool. For example, on HP-UX, first shutdown all apps using the JRE/JDK in question and perform the following commands:

$ cd <JRE_HOME>/jre/lib/
$ mv rt.jar.fpupdater rt.jar

If the .fpupdater.log file is present, remove it:

$ rm .fpupdater.log

These steps revert the JRE to the rt.jar file used before running the tool.

Related Information

» HP-UX 11i Java Technical Documentation
» Support for Your Product
» HP-UX Java Patches Information
» Java SE Platform at a Glance
» Programmer's Guide for HP-UX Java 2
» HPE Out-of-Box Tool
» HP-UX Java FAQ

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. Java compatible logo