Re: Kernel Panic mit 7.1

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Mon, 30 Mar 2009 16:19:10 +0200 (CEST)

Alvar Freude wrote:
> auf meinem Server kommt es mit 7.1-RELEASE-p4 AMD64 zu häufigen Kernel
> Panics. Vielleicht hat hier jemand einen Tipp, wie ich herausfinden kann,
> ob es sich um einen Soft- oder Hardware-Fehler handelt ...

Ein Unterscheidungsmerkmal wäre die Reproduzierbarkeit.
Wenn z.B. der instruction-pointer immer gleich ist, ist es
höchstwahrscheinlich ein Software-Fehler. Ist es jedesmal
ein anderer, spricht es eher für ein Hardwareproblem.

> Beispiel eines Falles aus Single-User-Modus, in dem der Kernel-Dump
> gelang (Dump ist noch da, aber zum Debuggen kenne ich mich nicht gut
> genug aus):
>
> Fatal trap 12: page fault while in kernel mode
> cpuid = 0; apic id = 00
> fault virtual address = 0x721e1
> fault code = supervisor read data, page not present
> instruction pointer = 0x8:0xffffffff804a8761
> stack pointer = 0x10:0xffffffffae13cb30
> frame pointer = 0x10:0x721b9
> code segment = base 0x0, limit 0xfffff, type 0x1b
> = DPL 0, pres 1, long 1, def32 0, gran 1
> processor eflags = resume, IOPL = 0
> current process = 37 (usb4)
> trap number = 12
> panic: page fault
> cpuid = 0
> Uptime: 9m6s
> Physical memory: 2033 MB
> Dumping 265 MB: 250 234 218 202 186 170 154 138 122 106 90 74 58 42 26 10

Das Interessante ist der »instruction pointer«. Das ist
die Adresse, wo der Trap aufgetreten ist. Mit kgdb(1)
kannst Du Dir die C-Funktion und den zugehörigen Source
anzeigen lassen (sofern Du einen Kernel mit Debug-Symbolen
hast, was per Default der Fall sein sollte).

Das ist nicht schwer und hier beschrieben:

http://www.freebsd.org/doc/en/books/developers-handbook/kerneldebug-gdb.html

> Der "Current Prozess", bei dem er hängt, ist immer unterschiedlich, aber
> der Syncer ist häufig dabei.

Ob das etwas zu bedeuten hat, kann man nicht mit Sicherheit
sagen. Während eines buildworld hat der Syncer recht viel
zu tun hat; es kann also Zufall sein.

Wenn Du die Möglichkeit hast, dieselbe FreeBSD-Installation
auf anderer Hardware zu testen (durch Plattentausch oder
Kopie), solltest Du das mal versuchen. Auf diese Weise
kann man Hardware-Probleme recht gut einkreisen.

> System ist ein FreeBSD 7.1-RELEASE-p4 mit ein par Kernel-Optionen:
> [...]
> # Mit Dummynet soll man HZ auf 1000 setzen. Na dann ... ;)
> options HZ=1000

1000 ist seit einiger Zeit eh der Default. Davon abgesehen
kann man HZ auch als Loader-Tunable setzen; man benötigt
dafür keine Kernel-Option. Aber schaden tut sie natürlich
nicht. (Es gibt Fälle, wo man besser einen geringeren Wert
für HZ einstellen sollte, aber ich gehe mal davon aus, dass
das hier nicht der Fall ist.)

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart
FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd
I suggested holding a "Python Object Oriented Programming Seminar",
but the acronym was unpopular.
        -- Joseph Strout
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 30 Mar 2009 - 16:20:21 CEST

search this site