DOCUMENT:Q168748    [winnt]
TITLE: Java Applets Cause IE 3.02 to Stop Responding w/ SP3
PRODUCT: Microsoft Windows NT
PROD/VER:4.00
OPER/SYS:WINDOWS
KEYWORDS:kbbug4.00 kbfile kbfix4.00

--------------------------------------------------------------------------
The information in this article applies to:

 - Microsoft Windows NT Workstation version 4.0
 - Microsoft Windows NT Server version 4.0
 - Microsoft Internet Explorer version 3.02
--------------------------------------------------------------------------

SYMPTOMS
========

Internet Explorer version 3.02 may stop responding when connecting to a Web
link that contains a Java application after you have installed Windows NT
version 4.0 Service Pack 3. The application will stop responding only if
the Display Properties Color Palette is set to True Color.

CAUSE
=====

Windows NT version 4.0 Service Pack 3 contains an updated GDI that includes
a fix for a problem when creating image lists on a True Color (32 bpp)
display. This GDI change caused a regression where applications calling
GetDIBits API for RGB colors on a True Color display received an invalid
RGB color mask.

The Java Virtual Machine included with Internet Explorer 3.02 calls
GetDIBits when initializing the Display Palette. The Java Virtual Machine
expects a signed RGB mask value larger than 0x80h and, if a value less than
0x80h is received, it doubles the mask value in a tight loop until it is
large than 0x80h. Because Service Pack 3 returns an invalid RGB mask,
sometimes the value is negative (for example, 0xffffffe0h), causing the
Java Virtual Machine to loop forever and Internet Explorer to stop
responding.

It is important to note that the Java Virtual Machine should be treating
the RGB Mask as an unsigned integer. There are some conditions where an ATI
video card returns a valid RGB Mask value of 0xff000000h, causing the Java
Virtual Machine to loop forever because it is not treating the mask as an
unsigned integer. A separate fix for the Java Virtual Machine issue with
ATI video cards in True Color will be available in Internet Explorer 4.0.
The Java code is licensed from Sun Microsystems, Inc.

WORKAROUND
==========

Do not use the True Color palette in Display Properties.

RESOLUTION
==========

Win32k.sys was modified to return a valid RGB color mask on True Color
display systems.

STATUS
======

Microsoft has confirmed this to be a problem in Windows NT version 4.0.

A supported fix is now available, but has not been fully regression-tested
and should be applied only to systems experiencing this specific problem.
Unless you are severely impacted by this specific problem, Microsoft
recommends that you wait for the next Service Pack that contains this fix.
Contact Microsoft Technical Support for more information.

The fix is also available for download on the Internet at the following
URL:
   ftp://ftp.microsoft.com/bussys/winnt/winnt-public/fixes/usa
   /nt40/hotfixes-postSP3/java-fix

============================================================================

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS
PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.  MICROSOFT DISCLAIMS
ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO
EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR
ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL,
CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF
MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.  SOME STATES DO NOT ALLOW THE EXCLUSION
OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES
SO THE FOREGOING LIMITATION MAY NOT APPLY.
