LinuxCommandLibrary

intel_error_decode

Decode Intel machine check errors

SYNOPSIS

intel_error_decode [-h] [-V] [-v] [input_file]

PARAMETERS

-h, --help
    Display usage help and exit

-V, --version
    Print version information

-v, --verbose
    Enable verbose decoding with extra details

input_file
    Path to binary error record file (stdin if omitted)

DESCRIPTION

intel_error_decode is a Linux utility for decoding binary error records from Intel processors into human-readable text.

It processes data from machine check architecture (MCA) banks, ACPI Platform Error Interface (APEI) records, and other Intel-specific hardware error sources reported by the kernel.

Commonly used to analyze correctable errors (CEs), uncorrectable errors (UCs), and fatal machine checks logged in files like those from mcelog or /var/log/ras. The tool interprets status registers, error codes, and syndrome data unique to Intel Xeon, Core, and Atom families.

Input is typically a binary dump of an error bank (e.g., 128-256 bytes). Output includes error type, severity, affected core/cache/memory, recovery status, and detailed flags.

Essential for server admins and developers debugging reliability issues in data centers or high-performance computing environments. Supports multiple record formats via heuristics for different CPU generations (Nehalem to Sapphire Rapids).

CAVEATS

Supports only Intel CPUs; may fail on non-standard or truncated records.
Kernel must export full MCA/APEI data. Not for AMD.

EXAMPLE USAGE

cat /sys/devices/system/machinecheck/machinecheck0/mce/0 | intel_error_decode
Decodes first bank error from CPU 0.

intel_error_decode -v error.bin
Verbose decode of saved binary.

OUTPUT SAMPLE

MC bank 4: corrected
CPU 2 Thread 0 APIC 0x12 microcode 0x1a
IA32_MCi_STATUS[Redundant Error]: 1, Core:1, Cache:1
Status: 0xdc00000000100113

HISTORY

Originated in mcelog project (circa 2009) for early Xeon support. Integrated into Linux RAS tools; actively maintained in kernel tree and rasdaemon.

SEE ALSO

mcelog(1), rasdaemon(8), mcectl(8), edac-util(8)

Copied to clipboard