Newsgroup: it.comp.os.linux.sys
Titolo: salvare output kernel panic

Ho una macchina che senza apparente motivo si freeza
scrivendo vagonate di roba a video.
I sintomi sembrano quelli di un kernel panic con tanto
di backtrace. Ovviamente la tastiera ï¿œ fuori uso per
cui non posso scorrere verticalmente lo schermo per
leggere completamente i messaggi di errore.
Stranamente, perï¿œ, non vedo nemmeno scritte tipo
"kernel panic" o "oops", vedo solo il backtrace.
Esiste un modo per salvare questa vagonata di messaggi
su disco? Altrimenti mi risulta impossibile capire cosa
sta generando cosa, dato che la parte interessante
probabilmente ï¿œ ad inizio schermata.
L'unica cosa che ho fatto in tempo a leggere sono errori
tipo: "i386" che ovviamente detti cosï¿œ non danno alcun
contributo alla discussione.
-- 
Non tocca a noi dominare tutte le maree del mondo,
il nostro compito ï¿œ di fare il possibile per la
salvezza degli anni nei quali viviamo,
sradicando il male dai campi che conosciamo.

 leggere completamente i messaggi di errore.
E non vengono salvati nel log?
Davide

 E non vengono salvati nel log?
no, zero.
Ieri ho avuto lo stesso problema (ma avevo la
console 'in blanking' ovvero non vedevo nulla
a video) ed i log, tutti (syslog messages ed altri)
non dicevano nulla.
-- 
Non tocca a noi dominare tutte le maree del mondo,
il nostro compito � di fare il possibile per la


 no, zero.
Mooolto strano. E poco prima del crash non resta niente di 'anomalo'
nei log? Sicuro che i messaggi del kernel siano anche inviati al log (/
etc/syslog.conf)?
Perche' se no, la vedo dura a salvare tali messaggi... A meno che non
sia un errore causato da una qualche applicazione che _poi_ provoca il
crash della macchina.
Davide

 crash della macchina.
Tutto può essere, ma l'eventuale errore di qualche applicazione è
scritto "in alto", ovvero dove l'errore ha inizio, ed io ho solo "il 
basso", in pratica vedo solo il risultato (che è l'unica cosa di cui
non mi importa, lo vedo da solo che si è impanicato o simile)
Per la cronaca sto ricompilando il kernel, non si sa mai che sia un
qualche baco con tanto di verme dentro.
-- 
Non tocca a noi dominare tutte le maree del mondo,
il nostro compito è di fare il possibile per la


 non dicevano nulla.
Non riesco a controllare da qui, ma forse c'e' un qualche SisRq+qualcosa che 
potrebbe darti maggiori informazioni (SysRq+t forse, ma potrei sbagliarmi).

 Nov  4 10:11:34 gss kernel: ACPI Error (tbxfroot-0219): A valid RSDP was
Si', ottimo.. ma sarebbe bello vedere cosa c'e' PRIMA delle 22.52.
Davide
Davide

 Si', ottimo.. ma sarebbe bello vedere cosa c'e' PRIMA delle 22.52.
Nulla di interessante, ecco l'intero syslog tra due reboot forzati:
http://pastebin.com/m66a72391
Ripeto che il "dump" che si nota, l'ho visto oggi per la prima volta,
in tutti gli altri reboot non ho nemmeno quello ma solo un taglio
netto del log.
-- 
Non tocca a noi dominare tutte le maree del mondo,
il nostro compito � di fare il possibile per la


 Nulla di interessante
bhe'... quella spataffiata di roba simil-binaria mi fa pensare ad un
qualche baco nel sistema che ti scarica monnezza in syslog... e
considerando che la macchina sembra essere un firewall/gateway,
potrebbe essere qualcuno che prova a fare qualche cosa di poco pulito
magari?
Ma lo ha cominciato a fare da ora o... come e' la storia?
Davide

qualche distro ha il servizio: bootlogd
in /etc/default/bootlogd
inserire: BOOTLOGD_ENABLE=Yes
ma il kernel deve partire.......

 Ma lo ha cominciato a fare da ora o... come e' la storia?
Lo ha fatto da sempre.
Prima con un hardware differente. Abbiamo sostituito ogni
sorta di componenti (come ho gi� detto, avevo il terminale
in blanking quindi non vedevo gli errori), poi ho sostituito
l'intera macchina. Quella attuale ha cpu differenti, ram differente
e chipset delle nic differenti dalla vecchia. In pratica cambia
tutta l'architettura, grossomodo.
Eppure mi collassa saltuariamente, in orari 'randomici'.
Ho tenuto entrambe le macchine da me per almeno 20 giorni
l'una senza alcun problema. Per cui, sembra una incompatibilit�
tra il software installato sulla macchina e qualche cosa presente
nella rete del cliente, perch� se fosse un problema circoscritto
all'hardware, schiatterebbe anche da me.
Devo anche ammettere che c'� un ponte radio che collega una seconda
sede, con un secondo firewall gemello (gemello della macchina
precedente, non di quella attuale) con stesso kernel, stesso hardware
stessi switch, stessi cavi.
C'� una VPN che collega le due sedi (o megli, c'� una VPN con sopra 5-6
vlan) e le mette in bridge, per cui quello che succede da un lato
arriva anche nell'altro.
sede_b->firewall_b-->wifi-->firewall_a-->sede_a
il firewall_a poi � connesso ad internet e ad altre reti, tutte
in bridge con varie vlan presenti nel lato_b.
(per farla breve, in sede_a ho delle nic fisiche in bridge con le
vlan della sede_b veicolate tramite una vpn)


sac...@gmail.com
 ha scritto:

Ma io non devo registrare i messaggi al boot....
Quelli li vedo, io devo registrare l'impanicamento
o robe simili del kernel a macchina viva e vegeta.


 Prima con un hardware differente.
E allora non puo' essere un problema hardware, deve essere qualche
cosa nel software.
Davide

 realta' salva in un file?
Ottimo, come si pu� fare a loggare la console su un file?
Ed in tal caso, mi vengono loggati anche eventuali oops e panic?
Comunque, l'ha appena rifatto, 'sto giro ho fatto una foto
allo schermo, vedo un sacco di scritte ma prese singolarmente
non mi permettono di diagnosticare il problema.
Il trace termina con "i386_start_kernel+0x51/0x90"
Nei log, questa volta, non ho il binario, ma in un modo
o nell'altro c'� sempre l'errore dhcp ed ho notato che
il server collassa (anche a distanza di svariate ore) sempre
dopo gli errori dhcp. Anche nei log postati in precedenza,
gli ultimi errori erano quelli inerenti il dhcp, proprio come
questi qu� sotto, ma magari si erano verificati 6 ore prima
del crash.
Nov  4 13:16:56 gss dhcpd: if xxxxxxxx.yyyy.lan IN A rrset doesn't exist 
add xxxxxxxx.yyyy.lan 1800 IN A 
192.168.1.147
: timed out.
Nov  4 13:19:25 gss dhcpd: if xxxxxxxx.yyyy.lan IN A rrset doesn't exist 
add xxxxxxxx.yyyy.lan 1800 IN A 
192.168.1.147
: timed out.
Nov  4 13:49:27 gss dhcpd: if xxxxxxxx.yyyy.lan IN A rrset doesn't exist 
add xxxxxxxx.yyyy.lan 1800 IN A 
192.168.1.147
: timed out.
Nov  4 14:19:30 gss dhcpd: if xxxxxxxx.yyyy.lan IN A rrset doesn't exist 
add xxxxxxxx.yyyy.lan 1800 IN A 
192.168.1.147
: timed out.
Nov  4 14:33:19 gss dhcpd: if xxxxxxxx.yyyy.lan IN A rrset doesn't exist 
add xxxxxxxx.yyyy.lan 1800 IN A 
192.168.1.147
: timed out.
Nov  4 15:24:54 gss kernel: ACPI Error (tbxfroot-0219): A valid RSDP was 
not found [20090320]
Nov  4 15:24:54 gss kernel: Zone PFN ranges:
Nov  4 15:24:54 gss kernel:   DMA      0x00000010 -> 0x00001000
Nov  4 15:24:54 gss kernel:   Normal   0x00001000 -> 0x000377fe
Nov  4 15:24:54 gss kernel:   HighMem  0x000377fe -> 0x0003f800
Nov  4 15:24:54 gss kernel: Movable zone start PFN for each node


Fossi in te andrei a postare il problema nella mailing list del kernel
di linux, li` sicuramente ti sanno dire come fare il debug del
problema, almeno per avere i dati per la diagnosi. Dato poi che lo fa
su hardware diverso, sembrerebbe proprio poter essere un bug del
kernel, elicitato da una qualche particolare configurazione software e/
o di rete.
Se ricompilato l'ultimo kernel stabile disponibile te lo rifa`, credo
proprio che in quella ml saranno ben lieti di aiutarti, prima a
identificare e poi a correggere il problema.

 identificare e poi a correggere il problema.
Se riesco a terminare la compilazione...
Mi schiatta la macchina prima di portarla a termine.


 Nov  4 13:16:56 gss dhcpd: if xxxxxxxx.yyyy.lan IN A rrset doesn't exist
Pare che cerchi di aggiornare il DNS. Magari configurarlo in modo da
non farlo?
Davide

 Mi schiatta la macchina prima di portarla a termine.
Compila su una macchina diversa!
Davide

 Mi schiatta la macchina prima di portarla a termine.
Non avrai mica un compilatore su un firewall?

 non farlo?
Si l'ho fatto 1 ora fa circa. Stiamo a vedere se regge.


 Compila su una macchina diversa!
lo sto facendo, per chi mi hai preso? :)


 Non avrai mica un compilatore su un firewall?
Di norma no, l'ho installato oggi per venir a
capo da sto problema.


 di roba a video.
netconsole

 netconsole
Già lo conoscevo, già ho provato ad usarlo.
E' da stamattina che ci provo, ma non mi logga un
piffero. (devo loggare in remoto, non nella stessa
LAN).
Seguendo le istruzioni, bisognerebbe mettere il mac-address
del gateway, ma niente, non logga.
-- 
Non tocca a noi dominare tutte le maree del mondo,
il nostro compito è di fare il possibile per la


 del gateway, ma niente, non logga.
Bon, ora va.
Aspettiamo......


 netconsole
Non è servito a niente.
Si è freezata di nuovo e netconsole mi ha inviato
solo l'equivalente del syslog sulla macchina remota.
Ho notato però una cosa strana, che non avevo mai
avuto prima: il crash è preceduto dal dump di intere
sezioni di un sito internet, compreso tutte le immagini
e gli header HTTP. Molto strano.

 tutte le immagini e gli header HTTP. Molto strano.
Non capisco. Dump de che e dove ?

 Non capisco. Dump de che e dove ?
Non sei l'unico a non capire.
Ho, nel syslog (e poi dovrò capire come c'è finito li) un
dump di alcune transazioni HTTP.
Ad esempio:
HTTP/1.1 200 OK
Date: Mon, 18 Apr 2005 16:38:00 GMT
Server: Apache/1.3.27 (Unix)
Last-Modified: Thu, 01 Jul 2004 01:16:05 GMT
ETag: "158e008c-182c-40e365d5"
Accept-Ranges: bytes
Content-Length: 6188
Connection: close
Content-Type: text/html
<html>
   <head>
     <title>...
(testo preso da google, non è quello effettivo del
cliente, ma ai fini del discorso non cambia nulla)
come cacchio c'è finito un dump di una transazione HTTP
dentro il syslog? No, non sono cretino, ho controllato 5
volte da quanto ero incredulo.
C'è squid su quella macchina, ma NON logga tramite syslog
per cui nemmeno dire che abbia fatto casino con la configurazione
di /etc/syslog.conf, dato che squid logga per i fatti suoi.
Subito dopo svariate sessioni http c'è stato il crash.
Può essere un dump fatto da una scheda di rete?

 dentro il syslog?
Qualche cosa mi fa pensare che il dump era diretto verso un device di
rete, il kernel si e' impallato e la memoria e' stata dirottata verso
lo schermo.
Ora, potrebbe essere il sintomo di qualcuno che cerca di utilizzare un
qualche exploit (kernel bug) per ottenere accesso al sistema o
potrebbe essere un kernel bug e basta.
Davide

 potrebbe essere un kernel bug e basta.
Dimenticavo di dire che:
1) il dump l'ho ricevuto via netconsole, la macchina ha crashato e nel
server preposto a ricevere i log della console ho visto questo dump
2) il kernel � l'ultimo, ricompilato ieri pomeriggio.
Mi fa strano che ci sia lo stesso bug del kernel in almeno 4
versioni differenti (e non tanto differenti a livello di patch-level
ma proprio di versione: 2.6.28 - 2.6.30, ...)

 ma proprio di versione: 2.6.28 - 2.6.30, ...)
http://www.theregister.co.uk/2009/11/03/linux_kernel_vulnerability/
E comunque, potrebbe benissimo essere un bug in uno dei driver che non
sono cambiati.
Davide

 ma proprio di versione: 2.6.28 - 2.6.30, ...)
Se hai ricompilato il 2.6.31.5 e ti fa lo stesso scherzo non ti rimane
che
una via da intraprendere. Raccogli i tuoi lamenti e vai da quelle
lontane genti
cogli occhi piu` grandi e le orecchie piu` lunghe, che scrivono in una
lingua straniera.
Per parlare con loro invia una mail a 
majo...@vger.kernel.org
e metti nel corpo del messaggio: subscribe linux-kernel.
Andrea

> > potrebbe essere un kernel bug e basta.
che gli ultimi kernel siano bucabili non è una novirà.
Ma se il kernel ha scritto quella roba, secondo me è brutto.
Anche io consiglio una mail a LKML che non fa mai male...
(una volta un http server embedded nel kernel, non è che è quello ? 
chissà se esiste ancora)

 chissà se esiste ancora)
Non mi pare di aver attivato un qualcosa di simile.
Non saprei nemmeno che farmene, per cui non l'ho attivato :)


 la netconsole e lunedì faccio una diagnosi.
Beh, e allora!?

 Beh, e allora!?
Non ho ancora avuto modo di attivare la netconsole :)
-- 
Non tocca a noi dominare tutte le maree del mondo,
il nostro compito � di fare il possibile per la


 Beh, e allora!?
Allora, ho staccato squid.
E' proprio spento, ed iptables non
natta pi� verso la 3128.
Non si � pi� bloccato, fino ad ora.
Questo potrebbe spiegare anche il dump
di una pagina HTML sul syslog, come avevo
scritto tempo fa.
Ma come � possibile che un proxy user-space faccia
impanicare un kernel per intero?
Mi sembra 'na cagata stile windows che una applicazione
generi un kernel panic.
-- 
Non tocca a noi dominare tutte le maree del mondo,
il nostro compito � di fare il possibile per la


 impanicare un kernel per intero?
Kernel bug?
Su Linux Kernel ml sarebbero felici di saperne di piu`,
tu potendo riferire (ovvero avendone il tempo e/o riuscendo a
trovarlo).
Andrea

 trovarlo).
Trovare tempo, e trovare come fare il report.
Sinceramente, non l'ho mai fatto, di che dati avranno
bisogno?

 bisogno?
http://kernel.org/pub/linux/docs/lkml/reporting-bugs.html
http://www.kernel.org/pub/linux/docs/lkml/
Ma credo che ti saprebbero dire anche di piu` sul luogo.
Andrea