Machine check exceptions

If linux encounters machine check exception it logs it to a syslog/debug log.

mcelog utility can be used to debug it:

git clone github.com/andikleen/mcelog.git

make

It can either load it from logs or parse it from stdin like so (CPU is 0x6e8) model fam is specified:

./mcelog --intel-cpu 6,14 --ascii
mcelog: Cannot open /dev/mem for DMI decoding: Permission denied
Jan 11 14:29:53 yonah kernel: [    0.161089] mce: [Hardware Error]:
CPU 0: Machine Check: 0 Bank 0: f200084000000800Jan 11 14:29:53 yonah kernel: [    0.161089] mce: [Hardware Error]:

Hardware event. This is not a software error.
CPU 0 BANK 0
MCG status:
MCi status:
Error overflow
Uncorrected error
Error enabled
Processor context corrupt
MCA: BUS error: -1 0 Level-0 Local-CPU-originated-request Generic Memory-access Request-did-not-timeout
BQ_DCU_READ_TYPE BQ_ERR_HARD_TYPE BQ_ERR_HARD_TYPE
timeout BINIT (ROB timeout). No micro-instruction retired for some time
failure that caused IERR
STATUS f200084000000800 MCGSTATUS 0

OR:

./mcelog --intel-cpu 6,14 --ascii
mcelog: Cannot open /dev/mem for DMI decoding: Permission denied

CPU 0: Machine Check: 0 Bank 4: b200000000040151

Hardware event. This is not a software error.
CPU 0 BANK 4
MCG status:
MCi status:
Uncorrected error
Error enabled
Processor context corrupt
MCA: Instruction CACHE Level-2 Instruction-Fetch Error
STATUS b200000000040151 MCGSTATUS 0

This project is an independent, unofficial work based on publicly available information and reverse-engineering research, and is not affiliated with, endorsed by, sponsored by, or associated with Intel Corporation or its affiliates. It is provided "as is", without warranty of any kind. The author assumes no responsibility or liability for any use, misuse, damage, data loss, hardware failure, or other consequences arising from its use. Intel, Pentium, Core and related trademarks are the property of their respective owners and are used solely for identification and informational purposes.
  • index page
  • uop description
  • ADC
  • ADD
  • AND
  • BSF
  • BSR
  • BSWAP
  • BTEST
  • DIV
  • FANDNOT
  • FCALCTW
  • FCMOV
  • FCOM
  • FMERGE
  • FMOV
  • FPEXTRACT
  • FPORDATATYPE
  • FPSIGNEXT
  • FREADROM
  • FXORS
  • IDIV
  • IMUL
  • INTEXTRACT
  • LEA
  • LOAD
  • MOVE
  • MOVEFROMCREG
  • MOVETOCREG
  • MUL
  • OR
  • PORTIN
  • PORTOUT
  • RCL
  • RCR
  • RDSEGFLD
  • ROL
  • ROR
  • SAL
  • SAR
  • SBC
  • SHL
  • SHR
  • SIGEVENT
  • STA
  • STRD
  • SUB
  • SUBR
  • TRANSPORTUIP
  • UOP
  • U_JCC
  • U_JMP
  • U_JMP_INDIR
  • WRSEGFLD
  • WUCONCAT
  • WUEXTRBK
  • WUINSERT
  • WUMERGE
  • XOR