SMsoft – informatica e dintorni

Chiamata system poll in timeout

Mi è capitato di lanciare uno script che fa una serie di operazione ma poi vederlo “bloccato” senza apparentemente fare nulla.

In questi casi può essere d’aiuto fare un po’ di debug sul processo “appeso”.

Immaginiamo che il processo abbia PID 1937 (lo possiamo recuperare con un ps au), come prima cosa “agganciamoci” al processo per vedere cosa fa:

risponde in questo modo:

da man poll possiamo vedere i dettagli dei vari stati di polling:

Bene, il processo è in polling e non c’è risposta alla richiesta. Ma esattamente qual’è la richiesta che sta facendo? Lanciamo:

dove 1937 è il PID e 4 è il valore che abbiamo letto prima da strace “poll([{fd=4,…”. qui vediamo:
lrwx—— 1 web1 web1 64 nov 19 12:30 /proc/1937/fd/4 -> socket:[16431]

Ci siamo quasi; si tratta del socket 16431, vediamo a chi è relativo:

che ci risponde con:

Ecco qui. La riga incriminata indica una richiesta verso il server con IP 10.10.66.48 al servizio ms-sql-s (sql server di microsoft).

Bisogna controllare cosa c’è che non va nella connessione a SQL server.

enjoy!




Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂
Taggato su: ,

Commenti

Page optimized by WP Minify WordPress Plugin