Invalid Operand with Locked Compare Exchange 8 Byte (CMPXCHG8B) Instruction

ID: Q163852


The information in this article applies to:
  • Microsoft Windows NT Workstation versions 3.5, 3.51, 4.0
  • Microsoft Windows NT Server versions 3.5, 3.51, 4.0
  • Microsoft Windows 95
  • Microsoft Windows NT Server version 4.0, Terminal Server Edition


SYMPTOMS

When an Intel processor receives a specific invalid instruction, your computer may stop responding (hang). Your computer must be turned off and restarted to return to normal operation.

NOTE: Although there is no known operating system or application that issues such an invalid instruction, you should be aware that a program can be written maliciously to contain such an instruction. The operating system would not trap this error, as it should, which results in the processor hang.


CAUSE

This problem can occur due to an error in the following Intel processors:

  • Pentium processor


  • Pentium processor with MMX technology


  • Pentium OverDrive processor


  • Pentium OverDrive processors with MMX technology


NOTE: This problem cannot occur on the following Intel processors:
  • Pentium Pro processor


  • Pentium II processor


  • i486 and earlier processors


This problem is known as "Invalid Operand with Locked CMPXCHG8B Instruction" and is erratum 81 on the Pentium processor errata list. For more information, please contact Intel or go to the following Intel web site:
http://support.intel.com/sites/support/


RESOLUTION

Intel has identified a workaround to this problem that allows the operating system to trap the invalid instruction and not pass it to the processor. Microsoft has worked closely with Intel to provide the following hotfixes:

Windows NT 4.0

To resolve this problem, obtain the latest service pack for Windows NT 4.0 or Windows NT Server 4.0, Terminal Server Edition. For additional information, please see the following article in the Microsoft Knowledge Base:
Q152734 How to Obtain the Latest Windows NT 4.0 Service Pack

For your convenience, the English version of this post-SP3 hotfix has been posted to the following Internet location. However, Microsoft recommends that you install Windows NT 4.0 Service Pack 4 to correct this problem.
ftp://ftp.microsoft.com/bussys/winnt/winnt-public/fixes/usa/NT40/hotfixes-postSP3/pent-fix/

Windows NT 3.51

To resolve this problem for Windows NT 3.51, obtain the following fix.

This fix should have the following time stamp:

   11/24/97  12:42p                49,840 Hal.dll
   11/24/97  12:42p                48,768 Hal486c.dll
   11/24/97  12:42p                65,648 Halapic.dll
   11/24/97  12:42p                46,704 Halast.dll
   11/24/97  12:42p                81,056 Halcbus.dll
   11/24/97  12:42p                79,200 Halcbusm.dll
   11/24/97  12:42p                46,912 Halmca.dll
   11/24/97  12:42p                67,696 Halmps.dll
   11/24/97  12:42p                40,480 Haloli.dll
   11/24/97  12:42p                53,744 Halsp.dll
   11/24/97  12:42p                49,840 Halws3.dll
   11/24/97  12:42p                41,072 Halwyse7.dll
   11/21/97  01:35p               821,904 Ntkrnlmp.exe
   11/21/97  01:34p               810,016 Ntoskrnl.exe 
This hotfix has been posted to the following Internet location:
ftp://ftp.microsoft.com/bussys/winnt/winnt-public/fixes/usa/NT351/hotfixes-postSP5/pent-fix/

Windows 95

A fix for Windows 95 is not yet available.


STATUS

Windows NT 4.0

Intel has confirmed this to be a problem in the Intel processors listed above. This problem was first corrected in Windows NT 4.0 Service Pack 4.0 and Windows NT Server 4.0, Terminal Server Edition Service Pack 4.

Windows NT 3.51

Intel has confirmed this to be a problem in the Intel processors listed above. A supported fix is now available from Microsoft, 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.

This is a hotfix, and distribution requires manager approval. To receive the hotfix, customers must be encountering the bug as described above. You must track the customers you send this to and supply them with the next Service Pack when it becomes available.

The STATUS section above states whether this fix is available as a hotfix or in the latest Service Pack. For comparison/testing purposes, the original hotfix is available as Hal.dll, Hal486c.dll, Halapic.dll, Halast.dll, Halcbus.dll, Halcbusm.dll, Halmca.dll, Halmps.dll, Halmpsm.dll, Halncr.dll, Haloli.dll, Halsp.dll, Halwyse7.dll, Ntkrnlmp.exe, and Ntoskrnl.exe in the \\Cnssup1\Fixes\Nt\Nt3.51\Hotfixes-postsp5\121132.

Windows 95

Intel has confirmed this to be a problem in the Intel processors listed above. Microsoft is researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

Additional query words: 95 3.50 3.51 4.00 i386 malicious hangs freeze freezes erratum cmpxchg8b compare and exchange 8 bytes cold boot hard

Keywords : kbhw NT4SP4Fix kbbug4.00 kbfix4.00.sp4 NTSrvWkst
Version : WINDOWS:95; winnt:3.5,3.51,4.0
Platform : WINDOWS winnt
Issue type : kbbug


Last Reviewed: October 8, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.