# MCE-Errors in den Logs - CPU defekt?

## Psycho Dad

Hallo,

Ich habe gestern in der /var/log/messages von meinem Laptop mit Athlon XP 2400+ mobile CPU folgende Einträge gefunden:

```

Jun 17 16:47:07 schleppi MCE: The hardware reports a non fatal, correctable incident occurred on CPU 0.

Jun 17 16:47:07 schleppi Bank 2: 940040000000017a

Jun 17 18:07:51 schleppi MCE: The hardware reports a non fatal, correctable incident occurred on CPU 0.

Jun 17 18:07:51 schleppi Bank 2: 940040000000017a

```

Übertaktet ist er kaum (nur um ca 4%, dafür ist auch die Spannung etwas gesenkt), und jahrelang sind mit diesen Werten solche Meldungen nicht aufgetaucht.

Kühl genug ist er auch nach CPU-Temperaturanzeige von gkrellm und der Kühlkörper wird gelegentlich gereinigt.

Er läuft jetzt auch wieder ein paar Stunden ohne die Meldung und kompiliert ohne Fehler.

Habe dann gelesen (bei der Beschreibung der entsprechenden Kerneloption), das sich da ein Hardwaredefekt ankündigen könnte, habe aber in Google nicht viel praktische Erfahrungen dazu finden können.

Meine Frage an diejenigen, bei denen eine solche Meldung bereits aufgetaucht ist die:

Ist es danach recht schnell zu ernsteren Fehlern gekommen oder liefen die Systeme danach noch problemlos über Monate oder Jahre?

Falls ernstere Probleme auftauchten, war es nur ein Fehler der CPU und konnte das durch Ersetzen der CPU behoben werden?

Danke schonmal im Vorraus für die Antworten.

----------

## borsdel

ok, von der sache kann es der prozessor sein, auch durch das geringfügige übertakten. letztendlich können diese fehler aber auch durch andere komponenten ausgelöst werden. häufig liest man ja von diesen fehlern in kombination mit nforce-boards und/oder nvidia-grakas.

naja, ich würde erstmal locker bleiben, denn nen schnellen ersatz für nen athlon xp findet man immer, sollte er den popo hochreißen.

aber trotzdem: einstellung wieder auf standard und memtest laufen lassen.

mfg borsdel

----------

## Psycho Dad

Danke, ich bin da schon lockerer.

Hab seitdem den Kernel von 2.6.18-gentoo-r7 auf 2.6.22-rc5 aktualisiert (MCE ist natürlich weiterhin aktiv, das hieße ja nur die Augen davor zu verschließen).

Jedenfalls ist die MCE-Meldung seitdem nicht mehr aufgetreten und sonstige Symptome von Hardwareversagen gab es auch nicht.

Memtest86+ ergab keine Fehler (lief 3 Stunden), einen Nforce-Chipsatz oder Nvidia-Grafik hab ich nicht.

----------

## UTgamer

Ach mit solchen Fehlern lebe ich bereits seit fast 6 Jahren auf meinem alten Recher.

Es muß nicht die CPU sein, kann auch ein defekter Mainboardchipsatz sein wie bei mir, Verknüpfungen zu meinen VIA-Chipsatzfehlern habe ich vor ein paar Tagen hier noch gepostet gehabt:

https://forums.gentoo.org/viewtopic-p-4110517.html#4110517

Trotzdem läuft der Rechner irgendwie doch ein Stück, wenn auch instabiel.

----------

## Psycho Dad

Instabil war das Teil nie, ist auch schon 4 Jahre alt und läuft schon genausolange mit Linux.

Es ist der Laptop aus meiner Signatur, Chipsatz ist eine Mischung aus Komponenten von ALI und ATI.

Der Rechner meiner Frau hat übrigends auch ein knapp 6 Jahre altes Mainboard mit VIA KT 266A, der läuft unter Linux bombenstabil (auch keine MCE-Errors). 

Allerdings musste ich dazu im Bios ein paar IRQs manuell festlegen, sonst gab es manchmal Freezes.

----------

## misterjack

hatte ich mit einer athlon-xp cpu auch mal. ich würde an deiner stelle mce im kernel ausstellen und damit leben  :Smile: 

----------

## Psycho Dad

Jetzt, da etwas Zeit vergangen ist, nochmal meine noch nicht so langen Langzeiterfahrungen (der Laptop ist eigentlich täglich 2-3 Stunden an):

Instabilitäten, Compile Errors:   keine

weitere MCE-Errors im Log:        einer am 27.Juli, also fast 6 Wochen nach den ersten, selbe Bank, 

                                             andere Adresse (d40040000000011a)

                                             ein weiterer am 28.Juli, an der alten Adresse

Hab gestern nochmal den Kühler und die Schlitze gesäubert, übermäßig viel Staub war aber nicht dran.

Kann das eigentlich auch bei Undervolting auftreten?   

Die CPU läuft bei mir bei geringerer Beanspruchung mit reduzierter Frequenz und Spannung (also niedriger als vom Notebook-Hersteller vorgesehen).

Das aber schon lange bevor die Fehler auftraten. Würde auch ungern darauf verzichten.

----------

## UTgamer

Der Fehler hat zum einen den Namen Bank, das führt leicht zum Gedankengang das eine RAM-Bank Fehler aufweist, mal die Bänke oder RAM-Module untereinander tauschen. Gute Boards hatten 3-4 RAM-Bänke, einfache 2.

Niedere Frequenzen können höchstens Timig-Fehler auf den Bussen erzeugen, wenn die Teilungsraten nicht harmonieren (Datenstau). Eine niedere Spannung kann aber sehr wohl auch solche Fehler erzeugen, da Bits keinen einheitlichen Zustand oder keine einheitliche Flankensteilheit aufweisen können. Kaputt an der HW geht dadurch aber nichts.

[Edit]

Mir ist da gerade im Kernel etwas aufgefallen sieh mal ob diese Option bei dir aktiviert ist.  :Wink: 

General setup >> Processor type and features >> Machine check support (X86_MCE) >>

AMD MCE features (X86_MCE_AMD)

Additional support for AMD specific MCE features such as

the DRAM Error Threshold.

Lag ich mit den RAM-Bänken anscheinend garnicht so falsch.  :Wink: 

Also Chipsatz - Problem, welches mit den Kerneloptionen korrigiert werden kann, oder die RAMs sind wirklich defekt.

Dann habe ich auch direkt mal eine Frage, geht die dort angegeben Adresse bei euch?

ftp://ftp.x86-64.org/pub/linux/tools/mcelog/

----------

## Psycho Dad

 *Quote:*   

> Der Fehler hat zum einen den Namen Bank, das führt leicht zum Gedankengang das eine RAM-Bank Fehler aufweist, mal die Bänke oder RAM-Module untereinander tauschen. Gute Boards hatten 3-4 RAM-Bänke, einfache 2.
> 
> 

 

werd ich mal machen, falls es weitere Probleme gibt. Es steckt allerdings nur 1 512MB RAM-Modul drin, schon seit dem Kauf.

Gerne schraubt man an nem Laptop ja nicht rum. 

 *Quote:*   

> Niedere Frequenzen können höchstens Timig-Fehler auf den Bussen erzeugen, wenn die Teilungsraten nicht harmonieren (Datenstau). Eine niedere Spannung kann aber sehr wohl auch solche Fehler erzeugen, da Bits keinen einheitlichen Zustand oder keine einheitliche Flankensteilheit aufweisen können. Kaputt an der HW geht dadurch aber nichts. 

 

Kann gut sein, das das Teil zu der Zeit der Fehler auf niedrigster Frequenz und Spannung lief. 

Lasse den Laptop manchmal an, obwohl nicht davorsitze.  Sicher weiß ichs aber nicht.

 *Quote:*   

> Mir ist da gerade im Kernel etwas aufgefallen sieh mal ob diese Option bei dir aktiviert ist. 
> 
> General setup >> Processor type and features >> Machine check support (X86_MCE) >>
> 
> AMD MCE features (X86_MCE_AMD)
> ...

 

Komisch, die Option gibts bei mir gar nicht (Kernel 2.6.22-gentoo-r2). Nur das:

```
CONFIG_X86_MCE=y

CONFIG_X86_MCE_NONFATAL=y

# CONFIG_X86_MCE_P4THERMAL is not set
```

Was hast du denn für einen, gibts da einen Kernelpatch dafür?

 *Quote:*   

> 
> 
> Dann habe ich auch direkt mal eine Frage, geht die dort angegeben Adresse bei euch?
> 
> ftp://ftp.x86-64.org/pub/linux/tools/mcelog/
> ...

 

Nee, "425 Failed to establish connection" sagt Firefox.

mcelog gibts aber auch in Portage, /dev/mcelog, das ausgelesen werden soll, gibts aber nicht bei mir.

Parsemce zeigt sowas:

```
./parsemce -e 0 -b 2 -s 940040000000017a -a 0

Status: (0) Restart IP invalid.

parsebank(2): 940040000000017a @ 0

        External tag parity error

        Correctable ECC error

        Address in addr register valid

        Error enabled in control register

        Memory heirarchy error

        Request: Generic error

        Transaction type : Generic

        Memory/IO : I/O

```

Hab die richtige Synthax aber noch nicht herausgefunden, noch Erklärungen zur Ausgabe gefunden.

x86info zeigt das:

```
x86info -a

x86info v1.20.  Dave Jones 2001-2006

Feedback to <davej@redhat.com>.

Found 1 CPU

--------------------------------------------------------------------------

eax in: 0x00000000, eax = 00000001 ebx = 68747541 ecx = 444d4163 edx = 69746e65

eax in: 0x00000001, eax = 000006a0 ebx = 00000000 ecx = 00000000 edx = 0383f9ff

eax in: 0x80000000, eax = 80000008 ebx = 68747541 ecx = 444d4163 edx = 69746e65

eax in: 0x80000001, eax = 000007a0 ebx = 00000000 ecx = 00000000 edx = c1cbf9ff

eax in: 0x80000002, eax = 69626f6d ebx = 4120656c ecx = 4120444d edx = 6f6c6874

eax in: 0x80000003, eax = 7428206e ebx = 3220296d ecx = 2b303034 edx = 20202020

eax in: 0x80000004, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000

eax in: 0x80000005, eax = 0408ff08 ebx = ff20ff10 ecx = 40020140 edx = 40020140

eax in: 0x80000006, eax = 00000000 ebx = 41004100 ecx = 02008140 edx = 00000000

eax in: 0x80000007, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000007

eax in: 0x80000008, eax = 00002022 ebx = 00000000 ecx = 00000000 edx = 00000000

Family: 6 Model: 10 Stepping: 0

CPU Model : Mobile Athlon XP (Barton)

Feature flags:

 fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr sse

Extended feature flags:

 syscall mp/sempron mmxext 3dnowext 3dnow

MSR: 0x0000002a=0x00000000 : 00000000 00000000 00000000 00000000

Couldn't read MSR 0xc0000080

Couldn't read MSR 0xc0010010

Couldn't read MSR 0xc0010015

Couldn't read MSR 0xc001001b

Number of reporting banks : 4

MCG_CTL:

 Data cache check enabled

  ECC 1 bit error reporting disabled

  ECC multi bit error reporting disabled

  Data cache data parity disabled

  Data cache main tag parity disabled

  Data cache snoop tag parity disabled

  L1 TLB parity disabled

  L2 TLB parity disabled

 Instruction cache check enabled

  ECC 1 bit error reporting enabled

  ECC multi bit error reporting enabled

  Instruction cache data parity enabled

  IC main tag parity enabled

  IC snoop tag parity enabled

  L1 TLB parity enabled

  L2 TLB parity enabled

  Predecode array parity enabled

  Target selector parity enabled

  Read data error enabled

 Bus unit check enabled

  External L2 tag parity error enabled

  L2 partial tag parity error enabled

  System ECC TLB reload error enabled

  L2 ECC TLB reload error enabled

  L2 ECC K7 deallocate enabled

  L2 ECC probe deallocate enabled

  System datareaderror reporting enabled

 Load/Store unit check enabled

  Read data error enable (loads) enabled

  Read data error enable (stores) enabled

           31       23       15       7

Bank: 0 (0x400)

MC0CTL:    00000000 00000000 00000000 00000000

MC0STATUS: 00000000 00000000 00000000 00000000

MC0ADDR:   10010011 00010001 00101100 01111000

MC0MISC:   00000000 00000000 00000000 00000000

Bank: 1 (0x404)

MC1CTL:    11111111 11111111 11111111 11111111

MC1STATUS: 00000000 00000000 00000000 00000000

MC1ADDR:   11001010 01011010 01001010 01010100

MC1MISC:   00000000 00000000 00000000 00000000

Bank: 2 (0x408)

MC2CTL:    00000000 00000000 00000111 11111111

MC2STATUS: 00000000 00000000 00000000 00000000

MC2ADDR:   11111111 11101111 10011011 00001111

MC2MISC:   11111111 11101111 10011011 00001111

Bank: 3 (0x40c)

MC3CTL:    00000000 00000000 00000000 00000111

MC3STATUS: 00000000 00000000 00000000 00000000

MC3ADDR:   11101111 11111111 11111101 11111111

MC3MISC:   00000000 00000000 00000000 00000000

Instruction TLB: Fully associative. 16 entries.

Data TLB: Fully associative. 32 entries.

L1 Data cache:

        Size: 64Kb      2-way associative.

        lines per tag=1 line size=64 bytes.

L1 Instruction cache:

        Size: 64Kb      2-way associative.

        lines per tag=1 line size=64 bytes.

L2 (on CPU) cache:

        Size: 512Kb     8-way associative.

        lines per tag=1 line size=64 bytes.

PowerNOW! Technology information

Available features:

        Temperature sensing diode present.

        Bus divisor control

        Voltage ID control

Couldn't read MSR 0xc0010041

Couldn't read MSR 0xc0010042

Something went wrong reading MSR_FID_VID_CTL

Connector type: Socket A (462 Pin PGA)

MTRR registers:

MTRRcap (0xfe): 0x0000000000000508

MTRRphysBase0 (0x200): 0x0000000000000006

MTRRphysMask0 (0x201): 0x0000000ff0000800

MTRRphysBase1 (0x202): 0x0000000010000006

MTRRphysMask1 (0x203): 0x0000000ff8000800

MTRRphysBase2 (0x204): 0x0000000018000006

MTRRphysMask2 (0x205): 0x0000000ffc000800

MTRRphysBase3 (0x206): 0x000000001c000006

MTRRphysMask3 (0x207): 0x0000000ffe000800

MTRRphysBase4 (0x208): 0x00000000f8000001

MTRRphysMask4 (0x209): 0x00000003fc000800

MTRRphysBase5 (0x20a): 0x00000000f4000001

MTRRphysMask5 (0x20b): 0x00000003fc000800

MTRRphysBase6 (0x20c): 0x0000000000000000

MTRRphysMask6 (0x20d): 0x0000000000000000

MTRRphysBase7 (0x20e): 0x0000000000000000

MTRRphysMask7 (0x20f): 0x0000000000000000

MTRRfix64K_00000 (0x250): 0x0606060606060606

MTRRfix16K_80000 (0x258): 0x0606060606060606

MTRRfix16K_A0000 (0x259): 0x0000000000000000

MTRRfix4K_C8000 (0x269): 0x0505050505050505

MTRRfix4K_D0000 0x26a: 0x0000000000000000

MTRRfix4K_D8000 0x26b: 0x0606060605050505

MTRRfix4K_E0000 0x26c: 0x0505050500000000

MTRRfix4K_E8000 0x26d: 0x0505050505050505

MTRRfix4K_F0000 0x26e: 0x0505050505050505

MTRRfix4K_F8000 0x26f: 0x0505050505050505

MTRRdefType (0x2ff): 0x0000000000000c00

550MHz processor (estimate).

```

----------

## UTgamer

 *Psycho Dad wrote:*   

>  *Quote:*   Der Fehler hat zum einen den Namen Bank, das führt leicht zum Gedankengang das eine RAM-Bank Fehler aufweist, mal die Bänke oder RAM-Module untereinander tauschen. Gute Boards hatten 3-4 RAM-Bänke, einfache 2.
> 
>  
> 
> werd ich mal machen, falls es weitere Probleme gibt. Es steckt allerdings nur 1 512MB RAM-Modul drin, schon seit dem Kauf.
> ...

 

RAMs zu ändern geht bei Laptops garnicht so schwer, meist sind die Deckel mit 1-2 Schrauben auf der Rückseite befestigt, oder sie befinden sich unter der Tastatur. Bei Dell mußt du dazu 2 Nadeln verwenden, ist total kompliziert bei Dell wenn man es das erste mal macht, unbedingt Anleitung des Herstellers herunterladen.

 *Psycho Dad wrote:*   

>  *Quote:*   Mir ist da gerade im Kernel etwas aufgefallen sieh mal ob diese Option bei dir aktiviert ist. 
> 
> General setup >> Processor type and features >> Machine check support (X86_MCE) >>
> 
> AMD MCE features (X86_MCE_AMD)
> ...

 

Dies ist die Option, hatte nur die Beschreibung aus dem Kernel dafür noch angefügt.  :Smile: 

 *Psycho Dad wrote:*   

>  *Quote:*   
> 
> Dann habe ich auch direkt mal eine Frage, geht die dort angegeben Adresse bei euch?
> 
> ftp://ftp.x86-64.org/pub/linux/tools/mcelog/
> ...

 

Danke, wollte ich nur wissen, weil diese Adresse im Kernel angegeben wurde.

 *Psycho Dad wrote:*   

> 
> 
> /dev/mcelog, das ausgelesen werden soll, gibts aber nicht bei mir.
> 
> Parsemce zeigt sowas:
> ...

  Ich selbst habe weder das Log noch das Tool jemals benutzt.

----------

## Psycho Dad

 *Quote:*   

> General setup >> Processor type and features >> Machine check support (X86_MCE) >>
> 
> AMD MCE features (X86_MCE_AMD)
> 
> Additional support for AMD specific MCE features such as
> ...

 

 *Quote:*   

> Dies ist die Option, hatte nur die Beschreibung aus dem Kernel dafür noch angefügt.  

 

Nein, leider nicht. Habe General setup >> Processor type and features >> Machine Check Exception (X86_MCE)

Wird letzteres aktiviert erscheint

```
Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4
```

mit der Beschreibung

```
CONFIG_X86_MCE_NONFATAL:                                                                                                                                      │

  │                                                                                                                                                               │

  │ Enabling this feature starts a timer that triggers every 5 seconds which                                                                                      │

  │ will look at the machine check registers to see if anything happened.                                                                                         │

  │ Non-fatal problems automatically get corrected (but still logged).                                                                                            │

  │ Disable this if you don't want to see these messages.                                                                                                         │

  │ Seeing the messages this option prints out may be indicative of dying hardware,                                                                               │

  │ or out-of-spec (ie, overclocked) hardware.                                                                                                                    │

  │ This option only does something on certain CPUs.                                                                                                              │

  │ (AMD Athlon/Duron and Intel Pentium 4)                                                                                                                        │

  │                                                                                                                                                               │

  │ Symbol: X86_MCE_NONFATAL [=y]                                                                                                                                 │

  │ Prompt: Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4                                                                                      │

  │   Defined at arch/i386/Kconfig:369                                                                                                                            │

  │   Depends on: X86_MCE                                                                                                                                         │

  │   Location:                                                                                                                                                   │

  │     -> Processor type and features                                                                                                                            │

  │       -> Machine Check Exception (X86_MCE [=y])            
```

und 

```
check for P4 thermal throttling interrupt
```

was aber nichts damit zu tun hat.

Die Option speziell für Athlon mit der Beschreibung gibts aber hier nicht.

----------

## Psycho Dad

Die Option scheint x86_64-spezifisch zu sein, für i386 gibts die nicht.

In /usr/src/linux/arch/x86_64/defconfig taucht das auf, in /usr/src/linux/arch/i386/defconfig nicht.

----------

## UTgamer

Das ist durchaus möglich, ich hatte gedacht unter der angegebenen Adresse könnte man mehr Informationen finden, aber die ist ja leider down. 

Bleibt dir noch das RAM umstecken um zu schauen ob die Adressen sich ändern.

Es kann auch auch sein das deine Untertaktungsfrequenzen nicht mit dem Bustackt harmonieren, wie bereits erwähnt, oder deine Unterspannung.

Desweiteren läßt du deinen Laptop auch gerne dauerdurchlaufen, was ist wenn Lüftungskanäle zugestaubt sind? Dann ist ein öffnen unabdinglich.

----------

## Psycho Dad

Den Prozessorlüfter und die Lüftungsschlitze hab ich vor ein paar Tagen wieder mal saubergemacht.

War aber nicht so viel drin, denn ich mache da alle paar Monate mal sauber. Muss man auch.

Als ich da zum ersten Mal seit dem Laptopkauf dran war, hatte sich da ordentlich was angesammelt. Hat man auch an der Temperatur gemerkt. 

Die Unterspannung und der "Untertakt" ist allerdings schon länger getestet (mehr als ein Jahr, da sollten eigentlich nicht plötzlich Probleme auftauchen). Da die Unterspannung ja keine Hardwareschäden verursachen kann, werde ich die erstmal so lassen, solange keine Instabilitäten auftauchen. 

Ich denke mal ich werde erstmal abwarten. 

Das RAM werde ich mir vornehmen, wenn Probleme auftauchen.

Und vielleicht die CPU gegen einen Athlon XP 2600+ austauschen, wenn mir bei Ebay was sehr günstiges über den Weg läuft.

Auch wenn sich das vom Geschwindigkeitszuwachs her eigerntlich nicht lohnen würde.

----------

