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)


