Machine-check exception

A Machine Check Exception (MCE) is a type of computer hardware error that occurs when a computer's central processing unit detects a hardware problem.

Modern versions of Microsoft Windows handle machine check exceptions through the Windows Hardware Error Architecture. When WHEA detects a machine check exception, it displays the error in a Blue Screen of Death, with the following parameters (which vary, but the first parameter is always 0x0 for a machine check exception):[1]

 *** STOP: 0x00000124 (0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000) 

On Linux, a process (such as klogd[2]) writes a message to the kernel log and/or the console screen (usually only to the console when the error is non-recoverable and the machine crashes as a result):

CPU 0: Machine Check Exception: 0000000000000004
Bank 2: f200200000000863
Kernel panic: CPU context corrupt

The error usually occurs due to failure or overstressing of hardware components where the error cannot be more specifically identified with a different error message. Diagnosing the error message can be difficult, although Intel Pentium processors do generate more specific codes which can be decoded by contacting the manufacturer.

Most MCEs require a restart of the system before users can continue normal operation, and indicate a long-term problem of a general nature.

Problem types

Most of these errors relate specifically to the Pentium processor family. Similar errors may occur on other processors and will cause similar problems.

Some of the main hardware problems that cause MCEs include:

Possible causes

Normal causes for MCE errors include overheating and/or incorrect hardware installation. Specific manually-induced causes include:

Computer software can also cause MCE errors (normally by corrupting data which programs read or write). For example, software performing read or write operations from or to non-existent memory regions can lead to confusion for the processor and/or the system bus. Accessing memory marked off-limits by UEFI may cause MCE errors.[3]

Decoding MCEs

As noted previously, decoding MCE errors can prove difficult. Normally the manufacturer (especially processor manufacturers) will be able to provide information about specific codes. Consult the Intel 64 and IA-32 Architectures Software Developer's Manual[4] Chapter 15 (Machine-Check Architecture), or the Microsoft KB Article on Windows Exceptions.[5]

Programs to Decode MCEs

See also

References

External links

This article is issued from Wikipedia - version of the Monday, March 28, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.