Bug im EDAC Treiber bei Linux Systemen

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen
Hinweis: Bitte beachten Sie, dass dieser Artikel / diese Kategorie sich entweder auf ältere Software/Hardware Komponenten bezieht oder aus sonstigen Gründen nicht mehr gewartet wird.
Diese Seite wird nicht mehr aktualisiert und ist rein zu Referenzzwecken noch hier im Archiv abrufbar.

Der Linux Error Detection And Correction (EDAC) Treiber soll Fehler des Arbeitsspeichers erkennen und korrigieren. Bei manchen Kernel-Versionen/Linuxdistributionen meldet EDAC allerdings vereinzelt Fehler, obwohl kein Fehler vorliegt.

Beispiele

Hier Beispiele von 3 verschiedenen Servern. Die Maschinen laufen jeweils stabil und beim Speichertest werden keine Fehler gefunden.

Server 1

 EDAC MC0: UE page 0x0, offset 0x0, grain 536870912, row 2, labels ":": i3200 UE

Das gleiche Problem beschreibt ein Bug Report bei Red Hat, der leider nicht weiter verfolgt wurde (da der Bug gegen Fedora-12 erstellt wurde, das zum Zeitpunkt nicht mehr die neueste Fedora-Version war). Auch in diesem Fall lief der Server stabil:[1]

 kernel:EDAC MC0: UE page 0x0, offset 0x0, grain 1073741824, row 3, labels ":": i3200 UE
 kernel:EDAC MC0: UE page 0x0, offset 0x0, grain 1073741824, row 7, labels ":": i3200 UE
 kernel:EDAC MC0: UE page 0x0, offset 0x0, grain 1073741824, row 2, labels ":": i3200 UE
 kernel:EDAC MC0: UE page 0x0, offset 0x0, grain 1073741824, row 6, labels ":": i3200 UE

In diesem Fall lieferte edac-util folgende Ausgabe:

mc0: csrow2: ch0|ch1: 36 Uncorrected Errors
mc0: csrow3: ch0|ch1: 85 Uncorrected Errors
mc0: csrow6: ch0|ch1: 103 Uncorrected Errors
mc0: csrow7: ch0|ch1: 55 Uncorrected Errors

In einem ähnlichen Fall schrieb Red Hat: So, based on all information we have, this is a BIOS bug. There's nothing we can do to solve it, except to document that, on some i3210 boards, BIOS don't properly enable the error correction checks, and that disabling quickboot may solve the issue. I'll close this bug with a Technical note. [...] Some i3210 BIOSes have problems enabling the hardware checks at the MCU. On those hardware, customers should try to disable Quickboot and/or "Memory Remap Feature" or to disable EDAC drivers.[2]

Server2

 EDAC i5000 MC0: FATAL ERRORS Found!!! 1st FATAL Err Reg= 0x7
 EDAC i5000 MC0: Alert on non-redundant retry or fast reset timeout
 EDAC MC0: INTERNAL ERROR: channel-b out of range (4 >= 4)
 EDAC MC0: UE - no information available: INTERNAL ERROR

Server3

 EDAC i5000 MC0: NON-FATAL ERRORS Found!!! 1st NON-FATAL Err Reg= 0x200
 EDAC i5000: NON-Retry Errors, bits= 0x200
 EDAC i5000 MC0: FATAL ERRORS Found!!! 1st FATAL Err Reg= 0x7
 EDAC i5000 MC0: Alert on non-redundant retry or fast reset timeout
 EDAC MC0: INTERNAL ERROR: channel-b out of range (4 >= 4)
 EDAC MC0: UE - no information available: INTERNAL ERROR
 EDAC i5000 MC0: NON-FATAL ERRORS Found!!! 1st NON-FATAL Err Reg= 0x1ffefdf
 EDAC MC0: INTERNAL ERROR: channel-b out of range (4 >= 4)
 EDAC MC0: UE - no information available: INTERNAL ERROR
 EDAC MC0: CE row 1, channel 3, label "": (Branch=1 DRAM-Bank=0 RDWR=Read RAS=1935 CAS=0, CE Err=0x1e000)
 EDAC i5000: THERMAL Error, bits= 0x780000
 EDAC i5000: NON-Retry Errors, bits= 0xe00
 EDAC i5000: NORTHBOUND CRC Error, bits= 0x20000
 EDAC i5000: SPD Protocol Error, bits= 0x40000
 EDAC i5000: DIMM-Spare Error, bits= 0x1800000

Mögliche Lösung

Eine genaue Lösung ist leider nicht bekannt, in den meisten Fällen hilft es jedoch, das EDAC Modul zu blacklisten. Stellen Sie auf alle Fälle trotzdem sicher, dass der Server einwandfrei funktioniert. Führen Sie dazu am besten einen Speichertest durch.

Alternativ gibt es noch die Möglichkeit das EDAC Logging via sysfs zu deaktivieren.

# uncorrectable errors
echo 0 > /sys/module/edac_core/parameters/edac_mc_log_ue
# correctable errors
echo 0 > /sys/module/edac_core/parameters/edac_mc_log_ce

Update: durch das Deaktivieren des Quick Boot im BIOS verschwinden manche Fehlermeldungen (wie im Beispiel des Servers 1 oben). Der Startvorgang dauert dadurch zwar 30-60 Sekunden länger, durch den RAM-Check durch das BIOS beim Hochfahren verschwinden aber die EDAC Fehlermeldungen.[3]

Einzelnachweise

Weitere Informationen

Das könnte Sie auch interessieren

Fehlerhafte Helligkeitssteuerung unter Linux beim Thinkpad T410 beheben
Squirrelmail mit Courier IMAP langsam
Swap Größe unter Linux