[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.