HP.com home

Release Notes

Software Development Kit (SDK) v 1.4.2-3
for the OpenVMS Alpha Operating System

for the Java™ Platform
Content starts here

Contents

Back to top
Introduction

Thank you for downloading the Software Development Kit (SDK) v 1.4.2-3 for the OpenVMS Alpha Operating System for the Java™ Platform (hereafter called simply the SDK). These release notes contain installation instructions, new features, known issues, fixed problems, and other information specific to this release of the OpenVMS Alpha port of Sun Microsystems' Java 2 SDK, Standard Edition (J2SDK). In addition to these release notes, the release-independent User Guide contains information on getting started using the SDK, using the Fast VM, using the Plug-in, and troubleshooting. This kit can be used to develop and run Java™ applets and programs on OpenVMS Alpha systems, Version 7.3-1 and higher.

The SDK v 1.4.2-3 kit implements the J2SDK v 1.4.2, and is based on Sun's J2SDK 1.4.2_05 Solaris Reference Release. It passes all the tests in Sun's Java Compatibility Kit test suite (JCK V1.4a). Use the java -version command to check the version of the SDK that you are using.

This kit contains two virtual machines:

  • The classic virtual machine (classic VM, the virtual machine shipped with prior releases) is based on Sun's reference implementation. The classic VM contains Just-In-Time (JIT) compiler technology, but does not have the performance of the Fast Virtual Machine (Fast VM). However, it provides additional debugging support not currently available in the Fast VM.
  • The Fast Virtual Machine is Just-In-Time (JIT) compiler technology designed to provide optimal Java runtime performance on OpenVMS Alpha systems. The Fast VM offers significant performance advantages over the Classic JIT. Because the Fast VM is included in this kit, it is not provided as a separate kit. To learn more about the Fast VM, refer to Using the Fast VM in the User Guide.

You select which virtual machine (hereafter called VM) to use when you set up your Java environment. To set up your environment, use one of the following two commands, as described in Setting Up the Java Environment in the User Guide:

$ @SYS$COMMON:[JAVA$142.COM]JAVA$142_SETUP FAST ! Use the Fast VM
$ @SYS$COMMON:[JAVA$142.COM]JAVA$142_SETUP      ! Use the classic VM

Note: For simplicity, these release notes assume you installed the SDK using the default location and therefore reference SYS$COMMON:[JAVA$142] throughout the text. However, if you specified a destination and installed the kit in that alternate location, substitute that location for the default while reading the examples in this document.

IMPORTANT: Please make sure you understand the Copyright (copyright.html, installed file) and License (license.html, installed file) information before using this release.

Back to top
New Features

The following sections briefly describe the new features HP has included in SDK v 1.4.2. HP recommends that you read Sun's Java 2 SDK, Standard Edition, Enhancements and Changes in J2SE™ 1.4.2 Platform for a thorough description of all new features and enhancements available in the J2SDK v 1.4.2.

SDK v 1.4.2-3 New Features

This kit installs SDK v 1.4.2-3, which is a maintenance release with the following new feature from HP.

New Fast VM Option:

  • The option, -Xcode<size>, which allows a larger code region for code generated by the Fast VM, has been added in this release. Size is the code region maximum allocation size in bytes. Append the letter k or K to indicate kilobytes, or m or M to indicate megabytes. You can specify values between 24M and 128M. The default value is -Xcode24M.

SDK v 1.4.2-2 New Features

SDK v 1.4.2-2 was a maintenance release with the following new features from HP.

New logical for JAVA$142_SETUP (JAVA$CANCEL_CURRENT)

Beginning with the SDK v 1.4.2-2 release, the setup procedure JAVA$142_SETUP now defines an additional logical name:

  • JAVA$CANCEL_CURRENT - The value of this logical is the full file specification of the command procedure for canceling the setup for the most recent version of Java set up. For example, if you have most recently done
    $ @SYS$COMMON:[JAVA$142.COM]JAVA$142_SETUP.COM then the value of
    JAVA$CANCEL_CURRENT will be SYS$COMMON:[JAVA$142.COM]JAVA$142_CANCEL_SETUP.COM.

    This logical allows you to freely type the command, $ @JAVA$CANCEL_CURRENT, to undefine current Java logicals and symbols without knowing what the currently-enabled version is.

For more information, see the 'In the Same Process' section of Switching Versions in the User Guide.

New Logical for Forcing Stream_LF File Format (JAVA$CREATE_STMLF_FORMAT)

On OpenVMS, when you create a new version of an existing file, the new file will inherit the record format of the existing file. The record format preferred/required by the RTE is Stream_LF. The RTE now allows you to specify a new logical:

$ DEFINE JAVA$CREATE_STMLF_FORMAT TRUE

With this logical defined, the RTE will force any newly-created file to have a Stream_LF format. This allows the RTE to override the C Run-Time Library's default of inheriting existing file format from previous versions, which might not behave correctly with the RTE.

For more information on Stream_LF, see Stream_LF File Format Required in the User Guide.

SDK v 1.4.2-1 New Features

SDK v 1.4.2-1 was a maintenance release with the following new feature from HP.

New Fast VM Option -Xdynclassgc

When using the Fast VM, the java command now supports the -Xdynclassgc option. This option instructs the Fast VM to garbage collect the class data for dynamically generated classes when those classes are no longer used. By default, the Fast VM garbage collects only heap objects, not class data structures. For more information, refer to Garbage Collection of Class Data for Dynamically Generated Classes in the User Guide.

Back to top
Fixed Problems

The following sections provide important information about problems that HP has fixed in SDK v 1.4.2. HP recommends that you also review Sun's Java 2 SDK and Runtime Environment Important Bug Fixes and Changes documentation for information concerning bug fixes that Sun has made for this release.

Problems Fixed in SDK v 1.4.2-3

SDK v 1.4.2-3 is based on Sun Microsystems' J2SDK 1.4.2_05 Solaris Reference Release and passes all the tests in Sun's Java Compatibility Kit test suite (JCK V1.4a). This SDK is a maintenance release and contains the following fixed problems from HP.

  • With the logical DECC$ENABLE_GETENV_CACHE defined, the virtual machine could calculate the incorrect value for the local timezone but the logical TZ was not defined. This has been corrected.

  • When running SDK 1.4.x on Multicpu systems, the Classic VM would randomly crash with an ACCVIO or OPCCUS ("opcode reserved to customer fault"). Nearly 90% of the crashes occurred while the virtual machine was in the middle of a garbage collection. This problem has been corrected in this release.

  • Previously, Printing Services attempted to execute a hard-coded UNIX-style print command. The SDK v 1.4.2-3 release introduces some new logicals and commmand procedures that cause mapping of UNIX-style print commands into their OpenVMS counterparts. For more details, see Using the Java Print Service API in the User Guide.

Problems Fixed in SDK v 1.4.2-2

SDK v 1.4.2-2 was based on Sun Microsystems' J2SDK 1.4.2_04 Solaris Reference Release and passed all the tests in Sun's Java Compatibility Kit test suite (JCK V1.4a). SDK v 1.4.2-2 was a maintenance release and contained the following fixed problems from HP.

  • This release contains fixes to correct memory leaks in long-running applications that use DECwindows.

  • Previously, calling the accept()method in the class java.nio.channels.SelectionKey would incorrectly throw a java.io.IOException:function not implemented. This has been corrected.

  • Previously, you were required to have the DECwindows Motif libraries installed even though you were using Java's AWT headless support feature. This restriction has been lifted. You no longer need the Motif libraries installed to use this feature.

  • In previous versions, the capability to use the JAVA$ENABLE_SIGQUIT_MAILBOX logical was lost when updating from SDK v 1.4.1 to SDK v 1.4.2. This capability has been restored.

  • The plugin was not properly initializing JAVA$DIRECTORY_MAPPING_COUNT environment variable. This has been corrected.

  • Java Networking IPv6 support is now included in this SDK release. See Prerequisites section for details on required TCP/IP ECOs.

Problems Fixed in SDK v 1.4.2-1

SDK v 1.4.2-1 was based on Sun Microsystems' J2SDK 1.4.2_03 Solaris Reference Release and passed all the tests in Sun's Java Compatibility Kit test suite (JCK V1.4a). SDK v 1.4.2-1 was a maintenance release and contained the following fixed problems from HP.

  • Under some circumstances when using JAVA$FORK_PIPE_STYLE=2, it was possible for the application to fail with a java.io.IOException: bad file number error. This has been corrected.

  • Some out of memory and virtual address space is full errors, which previously occurred when using the Fast VM, have been fixed in this release.

  • When using the classic VM and running on a system with low physical memory, if you attempted to start several virtual machines at once, some of the virtual machines would fail with an out of memory error. This problem has been fixed.

  • Previously, the classic VM incorrectly handled SIGTERM signals from another process. As a result, the virtual machine would hang instead of exiting properly. This has been corrected.

  • Previously, when using the Fast VM, if an object in the Java heap spanned more than a page of memory, and the compacting garbage collector performed a sweep operation, in rare cases an access violation could occur on the subsequent collection. This has been corrected.

  • In previous versions, when running the Fast VM on an eight or more processors system, the garbage collector could fail with a GC: failure in slave threads,... message. This problem has been fixed in this release.


  • Previously, calling the Select() method in the class java.nio.channels.Selector would incorrectly throw a java.io.IOException: socket operation on non-socket exception. This has been corrected.

Back to top
Compatibility

SDK v 1.4.2 is compatible with previous versions of the SDK. Most existing programs will run on the SDK v 1.4.2 platform. However, some important incompatibilities do exist and are thoroughly discussed in Sun's Java 2 Platform Compatibility with Previous Releases document. For specific J2SDK v 1.4.2 incompatibilities refer to the section, Incompatibilities in the Java 2 Platform, Standard Edition, v1.4.2 (since 1.4.1).

Back to top
Installation

The following sections describe how to install the SDK v 1.4.2 kit on your OpenVMS Alpha system.

Prerequisites

The prerequisites for running this kit are:

  • OpenVMS Alpha V7.3-1 or higher. See Mandatory Patches.

  • TCP/IP Services for OpenVMS Alpha V5.1 or higher (and required patches). If you plan on IPv6 use, the minimum versions are TCP/IP V5.3 ECO 4 or TCP/IP 5.4 ECO 1.
    Note: We do not support MultiNet directly. All of our testing and certification is done using TCP/IP Services for OpenVMS; however, because we do not call UCX directly and use only the socket functions available from HP C, MultiNet may work with this SDK.

  • DECWindows Motif V1.2-6, if you plan on AWT use.

Mandatory Patches

To successfully install and run the SDK for OpenVMS Alpha, you must install prerequisite patches for your OpenVMS version (See the list below. Install the patch versions listed, or later, if superseded.). These patches can be downloaded from the IT Resource Center (ITRC) at http://www2.itrc.hp.com/. Note: First-time users must register.

Patches for OpenVMS Alpha V7.3-1
  • All Rating 1 ECOs (search keyword = 'Install_1' )
  • VMS731_ACRTL-V0100
  • VMS731_DCL-V0200
  • VMS731_PTHREAD-V0100
  • VMS731_TDF-V0100
  • TCPIP_ECO-V0504 (TCP/IP V5.4 ECO 1 Alpha) or TCPIP_ECO-V0503 (TCP/IP V5.3 ECO 4 Alpha) (additional mandatory patch if you plan on IPv6 use)
Patches for OpenVMS Alpha V7.3-2
  • All Rating 1 ECOs (search keyword = 'Install_1' )
  • TCPIP_ECO-V0504 (TCP/IP V5.4 ECO 1 Alpha) or TCPIP_ECO-V0503 (TCP/IP V5.3 ECO 4 Alpha) (additional mandatory patch if you plan on IPv6 use)

For more information, refer to the patch installation page. For the most up to date information, refer to patch installation page on the Web site.

Back to top
Installing the Kit

To install the SDK kit:

  1. Download and install the prerequisite ECOs.

  2. Download the file DEC-AXPVMS-JAVA142-V0104-23-1.PCSI_SFX_AXPEXE (~110,000 blocks) from our Software Download page and execute it to unpack it and obtain the original DEC-AXPVMS-JAVA142-V0104-23-1.PCSI file (~310,000 blocks):
    $ RUN DEC-AXPVMS-JAVA142-V0104-23-1.PCSI_SFX_AXPEXE

    Note: If you are downloading the file to an ODS-5 disk, the unpacking operation might convert the filename into lower case. Convert it to upper case before proceeding; for example:

    $ RENAME dec-axpvms-java142-v0104-23-1.pcsi -
    DEC-AXPVMS-JAVA142-V0104-23-1.PCSI

  3. To extract a local copy of these Release Notes before installing the SDK:

    $ PRODUCT EXTRACT FILE JAVA142 -
         /SOURCE=[directory_where_you_put_the_PCSI_file] -
         /SELECT=RELEASE_NOTES.HTML -
         /DEST=[]
  4. Install the SDK kit from the .PCSI file obtained, using the PCSI (POLYCENTER Software Installation) utility PRODUCT command:
    $ PRODUCT INSTALL JAVA142 -
         /SOURCE=[directory_where_you_put_the_PCSI_file]

    By default, the SDK gets installed in root directory SYS$COMMON:[JAVA$142]. As an alternative to installing the kit in the default location SYS$COMMON:[JAVA$142], you can specify /DESTINATION=device-name:[directory-name]on the PRODUCT command line, and the kit will be installed at that specified location.

    Also, the following files are installed by the PCSI utility with a file attribute of ARCHIVE:

    SYS$COMMON:[JAVA$142.COM]JAVA$142_SETUP.COM
    SYS$COMMON:[JAVA$142.JRE.LIB]FONT.PROPERTIES
    SYS$COMMON:[JAVA$142.JRE.LIB]FONT_PROPERTIES.JA

    If a file having any of these names already exists on the system, the installation process renames it to a new name with a file type ending in _OLD, before loading the new copy from the kit. Only the latest version of the existing file is preserved (by being renamed to file.type_old) before PCSI deletes all remaining versions.

    For example, an existing SYS$COMMON:[JAVA$142.COM]JAVA$142_SETUP.COM is renamed to SYS$COMMON:[JAVA$142.COM]JAVA$142_SETUP.COM_OLD before the new copy is copied from the kit.

    If you have previously personalized any of these files, you might need to merge your personalizations with the new copies.

    Notes:

    • The PCSI PRODUCT tool for OpenVMS Alpha installs different versions of the SDK using unique product names. For example:

      • SDK v 1.1.8-n and SDK v 1.1.6-n are installed as product JAVA
      • SDK v 1.2.2-n is installed as product JAVA122
      • SDK v 1.3.1-n is installed as product JAVA131
      • SDK v 1.4.0-n is installed as product JAVA140
      • SDK v 1.4.1-n is installed as product JAVA141
      • SDK v 1.4.2-n is installed as product JAVA142

      Therefore, if you decide to update to an earlier or later version of the SDK within the same product, you should not use the PCSI PRODUCT REMOVE command. Instead, use the PRODUCT INSTALL of the desired kit. By following these instructions you avoid potential shared-file conflicts.

    • Installing in the SYS$COMMON area requires privileges. The SYS$COMMON:[JAVA$142]directory is the supported location for the installation of this kit.

  5. To use SDK v 1.4.2, you must first set up the Java environment. You can select either the Fast VM or the classic VM as your virtual machine.

    Because you can have multiple SDK versions installed on your OpenVMS system, and because you can change from one version to the other, you need to follow specific steps to set up your Java environment properly. To run the command procedure to do this, refer to Setting Up the Java Environment in the User Guide.

  6. Refer to the User Guide for additional information on how to use this product in an OpenVMS environment. Local copies of these Release Notes and User Guide are installed at SYS$COMMON:[JAVA$142.DOCS]RELEASE_NOTES.HTML and SYS$COMMON:[JAVA$142.DOCS]USER_GUIDE.HTML, respectively.

Back to top
Determining Your Installed Version

After downloading, installing, and running the command procedure to set up the Java environment, use the java -fullversion command to display the version. For example:

$ java -fullversion
  java full version "1.4.2-n"

where n identifies the specific SDK v 1.4.2 that is installed.

To switch from one version to another, see Switching Versions in the User Guide.

Back to top

Contents of the SDK

This section provides a general summary of the files and directories contained in the SDK once it has been installed on your system.

Note: For simplicity, these release notes assume you installed the SDK using the default location and therefore reference SYS$COMMON:[JAVA$142] throughout the text. However, if you specified a destination and installed the kit in that alternate location, substitute that location for the default while reading the examples in this document.

Development Tools

In SYS$COMMON:[JAVA$142.BIN]

This area contains programs that will help you develop, execute, debug, and document programs written in the Java programming language. For further information, see Sun's Tools and Utilities page.

Important: Review the information in the Interpreting Commands and OpenVMS Operating System Differences table in the User Guide to understand fully the nuances and differences in SDK v 1.4.2 on OpenVMS Alpha.

Run Time Environment (RTE)

In SYS$COMMON:[JAVA$142.JRE]

An implementation of the Run Time Environment (RTE) for use by the SDK. The runtime environment includes a virtual machine for Java 2, class libraries, and other files that support the execution of programs written in the Java programming language. Note: The RTE included in the SDK is separate from the RTE kit.

Additional Libraries

In SYS$COMMON:[JAVA$142.LIB]

Additional class libraries and support files required by the development tools.

Demo Applets and Applications

In SYS$COMMON:[JAVA$142.DEMO]

Examples, with source code, of programming for the Java platform. These include examples that use Swing and other Java Foundation Classes.

Additional Demos

In SYS$COMMON:[JAVA$142.VMS_DEMO]

Examples that demonstrate what is needed to write native C programs to interact with Java code.

C Header Files

In SYS$COMMON:[JAVA$142.INCLUDE]

Header files that support native-code programming using the Java Native Interface and the Java Virtual Machine Debug Interface, as described on the Sun site.

Source Code

In SYS$COMMON:[JAVA$142]SRC.ZIP

Java programming language source files for all classes that make up the Java 2 core API (that is, source files for the java.*, javax.* and org.omg.* packages, but not for com.sun.* packages). This source code is provided for informational purposes only, to help developers learn and use the Java programming language. These files do not include platform-specific implementation code and cannot be used to rebuild the class libraries. To extract these files, use this command:

$ jar xvf src.zip

Do not modify core API source files. To extend the behavior of the core API, write subclasses of the core API classes.

Back to top
Known Issues

This section provides descriptions of the known issues and limitations that exist in SDK v 1.4.2 for OpenVMS Alpha; these issues include the following:

  • If DECC$DISABLE_TO_VMS_LOGNAME_TRANSLATION is enabled, calling the C Run-Time Library function stat()will not resolve logicals correctly when the first logical uses another logical for the device name. This problem has been reported to C RTL engineering.

java.endorsed.dirs Property Support in the Classic VM

The java.endorsed.dirs property is not supported in the classic VM.

Important: Review the information in the Interpreting Commands and OpenVMS Operating System Differences table in the User Guide and the remaining sections to fully understand the nuances and differences in this SDK.

Back to top
Documentation

The SDK v 1.4.2 documentation tree begins at the following location on the system where the SDK is installed:

    SYS$COMMON:[JAVA$142.DOCS]INDEX.HTML

The installed documentation is in HTML format and includes this release notes file and the user guide file, as well as the aforementioned index.html file.

Note: For simplicity, these release notes assume you installed the SDK using the default location and therefore reference SYS$COMMON:[JAVA$142] throughout the text. However, if you specified a destination and installed the kit in that alternate location, substitute that location for the default while reading the examples in this document.

For core API documentation, refer to the following sources:

  • The Java Platform API Specification:

    The API documentation provides brief descriptions of the API with an emphasis on specifications, not on examples.

  • The Java Class Libraries, Second Edition, published by Addison-Wesley Longman as part of The Java Series, as described on Sun's site. These volumes include much more elaborate descriptions, with definitions of terminology and examples for practically every class, interface, and member.

Also, you can browse the Software Documentation page on our web site. Optimizing Java Technology Software Performance on OpenVMS provides tips on improving Java performance on OpenVMS systems.

For more information on this release, refer to the Release Notes for the J2SDK v 1.4.2 software from Sun Microsystems, and to our User Guide for this SDK.

If you are new to the Java programming language, you can browse or download Sun's Java Tutorial.

Back to top
Problem Reporting

To report problems, refer to our software support web page.

© 2003, 2004 Hewlett-Packard Development Company, L.P.

Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.

Hewlett-Packard shall not be liable for technical or editorial errors or omissions contained herein. The information in this document is subject to change without notice.

INFORMATION PROVIDED HEREWITH IS PROVIDED “AS IS” “WHERE IS” WITHOUT ANY WARRANTY WHATSOEVER. THE ENTIRE RISK ASSOCIATED WITH THE USE OF MATERIALS RESIDES WITH LICENSEE. ALL OTHER WARRANTIES, EITHER EXPRESS OR IMPLIED, ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, ACCURACY, CONDITION, OWNERSHIP, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY RIGHTS.