Technical Note TN2099
Incomplete Java Installations on Some Panther Systems

CONTENTS

The following document is now out-of-date. It was written to address a known problem with Java on some Mac OS X v10.3 (Panther) systems, and was targeted at developers who were affected and needed to restore their systems to a usable state. A fix from Apple suitable for all users is now available via Software Update, or for manual download from the Apple Support website .

[Dec 23, 2003]



Identifying an Incomplete Java Installation

A number of developers have reported an inability to launch Java applications after upgrading to Mac OS X version 10.3 (Panther). Symptoms include:

  • Application icons appearing in the dock, followed by an application hang
  • "HotSpot not at correct virtual address. Sharing disabled." message from Terminal or Console

The problem is the result of the Panther Installer failing to properly update the JavaVM.framework during an Upgrade Install of Panther. The problem only occurs on systems that had previously installed the "QuickTime for Java Update, v6.4" on Mac OS X 10.2 (Jaguar), released 10/23/03.

The existence of the problem can be confirmed by typing java -version in the Terminal application.

The output from this command on a properly updated Panther system is

                            
    java version "1.4.1_01"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-99)
    Java HotSpot(TM) Client VM (build 1.4.1_01-27, mixed mode)
    

The output on an upgraded Panther system with the described problem is

                            
    HotSpot not at correct virtual address. Sharing disabled.
    java version "1.4.1_01"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-69.1)
    Java HotSpot(TM) Client VM (build 1.4.1_01-24, mixed mode)

Back to top



Systems Not Affected

The problem described above does not occur on the following configurations:

  • Upgrade installations of Panther from Jaguar systems without the QuickTime for Java Update, v6.4 update.
  • "Erase and Install" installations of Panther
  • "Archive and Install" installations of Panther

Back to top



Repairing an Incomplete Java Installation

For systems fitting the symptoms described in the first section of this technical note, the problem can be corrected with a manual fix requiring an administrator-level account.

  1. From the Finder, navigate to /System/Library/Frameworks/JavaVM.framework/Resources/
  2. Move the version.plist file to the Trash.
  3. An authentication dialog may appear. Enter an administrator username and password.
  4. Confirm that the version.plist is no longer in /System/Library/Frameworks/JavaVM.framework/Resources/.
  5. Insert the Mac OS X v10.3 Install Disc 1 CD. If a new Finder window opens presenting the installer, close it.
  6. Open a new Finder window
  7. Navigate to Mac OS X Install Disc 1/System/Installation/Packages/ and double-click the file called Java.pkg.
  8. Follow the instructions on the installer.

Following these steps should force an installation of the proper Java version onto the system, restoring proper behavior. This can be confirmed with the Terminal test described above. You may still notice the HotSpot not at correct virtual address. Sharing disabled. message after performing these steps, which should disappear after rebooting.

If you have installed the "Security Update 2003-10-28" before following these steps you will additionally need to reinstall that update, as the Java package on the CD precedes it:

  1. Open a new Finder window
  2. Navigate to /Library/Receipts
  3. Move SecurityUpd2003-10-28.pkg to the Trash.
  4. Run Software Update and re-download "Security Update 2003-10-28"

Back to top



Preventing an Incomplete Java Installation

For Jaguar developers who have installed the QuickTime for Java Update, v6.4 but have not yet upgraded to Panther, this problem can be most easily avoided by choosing the "Erase and Install" or "Archive and Install" options when installing Panther. The "Archive and Install" option is the least disruptive, as it will preserve users and settings on the new system.

Developers falling into this category can also safely perform an Upgrade install to Panther by performing the following tasks immediately beforehand. Do not perform these steps until you are about to upgrade install Panther.

  1. Log into Mac OS X as a user with administrative privileges.
  2. Open Terminal from /Applications/Utilities
  3. In the Terminal window, type:
      sudo rm /System/Library/Frameworks/JavaVM.framework/Resources/version.plist
  4. The Terminal window will ask for a password. Enter your administrator password.
  5. In the Finder, confirm that the version.plist is no longer in /System/Library/Frameworks/JavaVM.framework/Resources/.

This should allow you to perform a proper upgrade install of Panther.

Please note that this briefing and the manual fixes presented are intended for developers and advanced users who need to work with Java immediately, before an official fix from Apple is provided. It is not ideal for end-users, as it involves manipulation of framework files.


Developer Documentation | Technical Q&As | Development Kits | Sample Code