Microsoft KB Archive/265889

From BetaArchive Wiki

Article ID: 265889

Article Last Modified on 7/4/2007



APPLIES TO

  • Microsoft Java Virtual Machine
  • Microsoft Windows 2000 Standard Edition
  • Microsoft Windows NT Advanced Server 3.1
  • Microsoft Windows NT 4.0
  • Microsoft Windows NT 3.51 Service Pack 5
  • Microsoft Windows NT 3.51 Service Pack 5
  • Microsoft Windows NT 4.0
  • Microsoft Windows NT 4.0 Service Pack 1
  • Microsoft Windows NT 4.0 Service Pack 2
  • Microsoft Windows NT 4.0 Service Pack 3
  • Microsoft Windows NT 4.0 Service Pack 4
  • Microsoft Windows NT 4.0 Service Pack 5
  • Microsoft Windows NT 4.0 Service Pack 6
  • Microsoft Windows NT 4.0 Service Pack 6a
  • Microsoft Windows Millennium Edition
  • Microsoft Windows 98 Second Edition
  • Microsoft Windows 98 Standard Edition
  • Microsoft Windows 95



This article was previously published under Q265889

SUMMARY

This article contains a list of fixes for the Microsoft(r) virtual machine (Microsoft VM) builds 3309 and 3310. Microsoft VM 3310 is included with Microsoft(r) Windows(r) 2000 Service Pack 1 (SP1).

Note These fixes are included with the latest build (build 3802) of the Microsoft VM. Microsoft no longer makes the Microsoft VM available in Windows XP as a Web download. For information regarding the availability of the Microsoft VM, visit the following Microsoft Web site:

The Microsoft VM is designed to run on Microsoft(r) Windows(r) 95, Microsoft(r) Windows(r) 98, Microsoft(r) Windows(r) Millennium Edition (Me), Microsoft(r) Windows NT(r) 4.0, and Microsoft Windows 2000 or later.

Installation Prerequisites

For all users: Microsoft(r) Internet Explorer 4.01 or later must be installed in order to use this version or later of the Microsoft VM.

For Windows NT users: Windows NT 4.0 Service Pack 3 or later must be installed before you install the Microsoft VM on x86.

MORE INFORMATION

Windows 2000 Service Pack 1 includes fixes to the following Microsoft VM problems:

  • Fixed a problem in which the Microsoft VM may fail to respond for three minutes when releasing Component Object Model (COM) objects on Windows 2000. This fix is specific to the Microsoft VM build 3310 only and applies only to Windows 2000 users.For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

    260353 FIX: Use of Java/COM Components in COM+ Enabled Systems Can Cause Delays

  • Fixed a problem that may cause a deadlock when you are using Java/COM objects in a long-running, high-stress environment.
  • Fixed a rare case in which the Microsoft VM faults at shutdown when java/lang/Runtime.exit() is used to end the process.
  • Fixed java.net.Socket so that it checks the proxy bypass list of Internet Explorer when the Microsoft VM is connecting through a SOCKS server.For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

    259943 FIX: Applets Always Connect Through a SOCKS Server

  • Fixed a problem with the just-in-time (JIT) compiler that causes an illegal instruction exception to occur in native code that generates for some loops with a constant number of iterations and a cast of the induction variable in the loop body.
  • Fixed a problem with the JIT compiler that causes invalid native code to be generated for unsigned right shifts of expressions of types "short" or "byte".For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

    259989 FIX: Unsigned Right Shift Operator Returns Incorrect Result

  • Fixed a problem with the JIT compiler that, in rare cases, causes an illegal instruction exception to occur in native code that generates for some expressions containing constant multiplications.
  • Fixed an issue with the JIT compiler that causes an access violation while compiling methods with try blocks that are empty or contain code that is executed conditionally based on a constant expression that evaluates to "false".
  • Fixed a problem that may cause an access violation while garbage collecting in "finally" blocks of interpreted methods.For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

    251299 FIX: Problem Promoting Objects in 'Finally' Blocks in Interpreted Methods During Garbage Collection

  • Fixed a problem in which cloning a com/ms/com/Variant may create a new Variant in the wrong COM context.For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

    260280 FIX: java.lang.ClassCastException on Variant Objects

  • Fixed a memory leak that arises when a Java thread that does not explicitly pump messages receives an instance of com/ms/com/Variant containing a COM object. Such a Variant instance may be received in a variety of ways: as a Java/COM method parameter, as a Java/COM method return value, or by creating a Variant through "new".For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

    262198 FIX: Memory Leaks with Variant Types

  • Fixed a problem in the Microsoft JDBC/ODBC Bridge in which calls to setBinary() or setObject() on a PreparedStatement fail if the SQL type is VARBINARY or LONGVARBINARY.For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

    260157 FIX: java.sql.PreparedStatement.setObject May Not Work with LONGVARBINARY Types

  • Fixed a problem in the Microsoft JDBC/ODBC Bridge in which java/sql/ResultSet.getBytes() returns invalid data if the size of the data is greater than 5,120 bytes.For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

    260164 FIX: com.ms.jdbc.odbc.JdbcOdbcResultSet.getBytes() Returns Invalid Data for Binary Columns

  • Fixed a problem that may cause an access violation when you are using the Microsoft JDBC/ODBC Bridge to open and close many database connections from multiple threads.
  • Fixed a problem in the AWT text components in which the SHIFT+BACKSPACE key combination moves the cursor position but does not delete the previous character.For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

    260053 FIX: SHIFT+BACKSPACE Breaks Cursor Position in an AWT TextField

  • Fixed a problem on Windows NT 4 Terminal Server Edition in which the system property com.ms.windir is incorrectly set to a user-specific folder under the current user's profile instead of the true Windows folder.
  • Fixed a problem in which the reading of data from a java/net/SocketInputStream causes a memory leak if the buffer is greater than 20,000 bytes, if the socket has a SO_TIMEOUT value set, and if the read operation fails because of an actual timeout or other socket failure.
  • Fixed a memory leak that arises when java/applet/AudioClip.play() is used.For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

    261061 FIX: System Handles Created Via AudioClip.play() Are Not Being Freed

  • Fixed a problem in which the byte-to-character converters for Big5, GB2312, and KSC5601 (used for Korean and Chinese) are incorrectly ignoring null-bytes. These converters now correctly convert zero bytes into a zero Unicode character.For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

    260823 FIX: Some Character Encoders Ignore Null Bytes

  • Corrected a regression in the 32xx series of the Microsoft VM in which the following character converter aliases are missing: iso-2022-jp, csiso2022jp, jis_encoding, and csjisencoding. These aliases are restored and now map to the JIS encoder.For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

    260818 FIX: JIS Japanese Character Encoding Throws Exception

  • Fixed a bug in which the java/text/NumberFormat class incorrectly truncates all digits to the right of the decimal place when used with a java/math/BigDecimal number.For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

    260968 FIX: NumberFormat of a BigDecimal Truncates Fraction

  • Fixed a problem in which the beans introspection system classes generate an incorrect security exception if an applet provides custom BeanInfo.
  • Fixed a problem in which classes that are loaded by a com/ms/vm/loader/DllClassLoader (the loader used to load classes from Java/COM DLL files) fail to serialize correctly. (In this case, an invalid security exception is thrown during serialization.)
  • Fixed a problem that may cause an access violation when ClassLoader.getResourceAsStream() is called from an applet.
  • Fixed a Graphics Device Interface (GDI) leak in java.awt.PrintJob.For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

    244201 FIX: Printing from Java Results in Depletion of GDI and System Resources

  • Fixed an AWT problem in which attempting to display a modal dialog from an applet fails with a security exception if another applet from a different codebase is already displaying a modal dialog.For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

    261123 FIX: SecurityExceptionEx Is Generated When You Access an Applet from Two Different Web Servers

  • Fixed a problem in which the Microsoft VM may cause an access violation instead of throwing an StackOverflowError exception when the call stack is exhausted.
  • Fixed a problem in which an applet that is run from the root folder of a local drive is incorrectly unable to access files in that folder.
  • Fixed a problem in which an exception is thrown if a java/awt/PrintJob is used, and if the user chooses to print to a file but then cancelled when prompted for a file name.For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

    261100 FIX: Unexpected Exceptions Thrown During Printing

  • Fixed a problem with the implementation of the IDispatch interface that the Microsoft VM automatically exposes for Java objects. Under some circumstances, this issue causes the IDispatch::GetIdsOfNames method to return the wrong DISPID for class members with names that are longer than 15 characters.
  • Fixed a problem in which poorly written ClassLoaders are allowed to load a given class multiple times. This causes corruption of the Microsoft VM's internal data structures and typically results in an access violation. The Microsoft VM now prevents a ClassLoader instance from defining a given class more than once.For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

    261132 FIX: GC Fault Occurs if a Class Is Loaded Multiple Times in a Given Classloader

  • Fixed a problem in which the Java Native Interface (JNI) method invocation Application Programming Interfaces (APIs) that take the method arguments in an array (for example, CallStaticObjectMethodA()) do not correctly handle objects that are of array types.
  • Fixed a problem in which an applet that is signed with fewer permissions than the default sandbox rights may cause a security exception from within the internals of AWT if that applet is the first one to run within a given browser instance.
  • Fixed some cases in which the Java package manager does not correctly clean up all of the data files from the <Windir>\Java\Packages folder when packages are uninstalled.
  • Fixed a problem in which the removal of a distribution unit from the Downloaded Programs Folder user interface may fail if the packages in that distribution unit are in a namespace.
  • Fixed a problem that causes the Downloaded Programs folder to report the status of distribution units that contain Java packages as "damaged".
  • Fixed a problem that occurs when upgrading to a newer version of an existing distribution unit that contains Java packages. In some cases, the browser process that initiated the upgrade fails to recognize that the newer classes have already been installed and attempts to redownload the distribution unit if subsequent pages that referenced it are displayed.
  • Fixed a problem in which the Citrix Java Client stops responding under Internet Explorer on Windows 2000.For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

    261204 FIX: Citrix Java Client Stops Responding Under Internet Explorer on Windows 2000

  • Fixed a problem that causes a Microsoft Internet Explorer failure as a result of an applet.For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

    261088 FIX: Stack Overflow in Native Code Causes Internet Explorer to Stop Responding


REFERENCES

For more information, see the following Microsoft Windows 2000 Service Pack 1 Web site:

To download the latest build of the Microsoft virtual machine, visit the following Microsoft Web site:

For support information about Visual J++ and the SDK for Java, visit the following Microsoft Web site:

Keywords: kbawtpkg kbbug kbcompiler kbdatabase kbgarbagecollect kbinfo kbjavavm33xxfix kbjit kbnetwork KB265889