[Linux-Biella] segmentation fault
Andrea Ferraris
linux@ml.bilug.linux.it
Mon, 14 Jun 2004 22:17:57 +0200
Daniele wrote:
> Un mio programma che sino ad ora andava ottimamente mi sta dando seri
> grattacapi.
>
> E' un lungo script di shell di circa 105K, 5400 linee di codice compatte.
>
> Il punto che lo impalla e' un ciclo for che ripete per migliaia di
> volte una serie di query di mysql.
>
> Dal log di mysql il database appare innocente.
>
> Gli altri usuali log tacciono sul fatto.
> Eppure talvolta persino si blocca il sistema.
>
> Fortunatamente il disastro avviene su una funzione non essenziale
> (creazione di medie mobili a 200 giorni).
>
> Come diavolo e' possibile capire la causa.
> Avro' fatto una vaccata ma quale?
> Perche' sino ad ora aveva sempre funzionato egregiamente?
> Come e' possibile costruire medie mobili in maniera piu' razionale?
>
> Onorato di un vostro interessamento.
Figurati, e` un piacere essere onorati per un interessamento
onorario, visto che non fornisci i dati perche' possa diventare
fattivo.
Da bravo, bzipa2 lo script (o solo e tutte le parti coinvolte) e
accludilo al prossimo messaggio.
accludi anche:
-1.Non e` che semplicemente il PC (CPU o memoria) abbbiano caldo?
Provato a verificarne le temperature e/o la ventilazione?
0. un top dell'impallamento (top -b -d 10 -n 60 > top_impallamento.log &
il senso di quanto sopra e` di lanciar top in batch, loggante sul
file top_impallamento.log e con un numero prefissato di misurazioni -
60 - a intervalli prefissati - 10 secondi). Lo dovresti lanciare
subito prima dello script (ammesso che gli bastino 10 minuti per
impallare il sistema, altrimenti aumenta n a piacere), in modo da
avere una fotografia dei processi in memoria, del loro consumo di CPU
e memoria al momento dell'impallamento.
1. da quando si impalla
2. quali sono state le ultime modifiche fatte allo script e quando
3. quali sono le ultime modifiche che sono state fatte al sistema e
quando (installazione/disinstallazione/aggiornamento/riconfigurazione
di sw e hw)
4. quali sono le righe in cui si impalla e quale e` la parte che
costruisce le medie mobili a 200 gg.
5. tipo e versione della shell con cui si impalla
6. versione e parametri di compilazione del kernel attuale
7. versione e parametri di compilazione e configurazione di mysql
8. query su cui si impalla
9. se ho dimenticato qualcosa, fatelo presente
Andrea Ferraris
--
If this message isn't electronically signed (digital authentication),
then it could come from anybody, also from who appears as the sender.