Io credo che l'integer overflow non gestito sia uno dei bug più comuni del mondo informatico
-
Io credo che l'integer overflow non gestito sia uno dei bug più comuni del mondo informatico.
Ieri mezza fabbrica si è fermata per quasi un giorno intero a causa di questo. In realtà non avendo accesso al sorgente e non essendoci errori nei log ho fatto una diagnosi puramente comportamentale, ma Rockwell ha confermato la correttezza delle assunzioni dopo poche ore.
In pratica a partire da una data specifica una certa funzione si è bloccata contemporaneamente su più server. Anche in ambiente di DEV. La funzione veniva chiamata, presentava una finestra che flashava e scompariva. Sul log indicava alla stessa data e ora l'attivazione e l'annullamento, che in realtà non c'era.
Ma c'era.
Questa finestra fa partire un timer che aspetta per la sua durata, configurabile, dopodiché annulla l'operazione. Non si può disattivare, e i nostri geniali ingegneri hanno comunemente deciso di popolare quel parametro con un valore di "99999h:59m:59s". Adesso vi lascio immaginare cosa sia successo a partire da ieri.
Spoiler
OK, se hai fatto il conto, manchiamo il bug 2038 per qualcosa come 8000 e rotte ore, meno di un anno, però non sappiamo come questo timeout venga impastato con altri parametri e in quale punto esatto l'intero si rompa. Potrebbe anche essere un integer underflow per quello che ne so, ma rimane il fatto che la finestra si chiude e l'operazione si annulla perché la condizione del timeout viene considerata soddisfatta.
La morale è sempre quella
Fai merenda con girella.
Qualche zucchero in più non fa male se devi usare il cervello.
Se poi sviluppi software, oltre a imparare da uno bravo, controlla i tuoi interi e se invece lo smanetti e basta non usare MAI valori limite, ma mettici la testa: non ha senso un timeout di 10 anni. Considerato tutto, in questo caso, 1 settimana sarebbe sufficientemente cautelativa.
-
Io credo che l'integer overflow non gestito sia uno dei bug più comuni del mondo informatico.
Ieri mezza fabbrica si è fermata per quasi un giorno intero a causa di questo. In realtà non avendo accesso al sorgente e non essendoci errori nei log ho fatto una diagnosi puramente comportamentale, ma Rockwell ha confermato la correttezza delle assunzioni dopo poche ore.
In pratica a partire da una data specifica una certa funzione si è bloccata contemporaneamente su più server. Anche in ambiente di DEV. La funzione veniva chiamata, presentava una finestra che flashava e scompariva. Sul log indicava alla stessa data e ora l'attivazione e l'annullamento, che in realtà non c'era.
Ma c'era.
Questa finestra fa partire un timer che aspetta per la sua durata, configurabile, dopodiché annulla l'operazione. Non si può disattivare, e i nostri geniali ingegneri hanno comunemente deciso di popolare quel parametro con un valore di "99999h:59m:59s". Adesso vi lascio immaginare cosa sia successo a partire da ieri.
Spoiler
OK, se hai fatto il conto, manchiamo il bug 2038 per qualcosa come 8000 e rotte ore, meno di un anno, però non sappiamo come questo timeout venga impastato con altri parametri e in quale punto esatto l'intero si rompa. Potrebbe anche essere un integer underflow per quello che ne so, ma rimane il fatto che la finestra si chiude e l'operazione si annulla perché la condizione del timeout viene considerata soddisfatta.
La morale è sempre quella
Fai merenda con girella.
Qualche zucchero in più non fa male se devi usare il cervello.
Se poi sviluppi software, oltre a imparare da uno bravo, controlla i tuoi interi e se invece lo smanetti e basta non usare MAI valori limite, ma mettici la testa: non ha senso un timeout di 10 anni. Considerato tutto, in questo caso, 1 settimana sarebbe sufficientemente cautelativa.
@trwnh
Sorry, it's in Italian....
Feed RSS
Gli ultimi otto messaggi ricevuti dalla Federazione
Post suggeriti
-
ADUC - Articolo - RSA e rette di ricovero: Corte d’Appello Milano ribadisce nullità impegni familiarihttps://www.aduc.it/articolo/rsa+rette+ricovero+corte+appello+milano+ribadisce_39858.php
Senza categoria1
-
Una commissione del Parlamento Europeo ha respinto la richiesta di revocare l'immunità a Ilaria Salis: il voto definitivo sarà a ottobre - Il Posthttps://www.ilpost.it/2025/09/23/commissione-affari-giuridici-respinge-revoca-immunita-ilaria-salis/
Senza categoria1
-
-