Salta al contenuto
0
  • Categorie
  • Recenti
  • Tag
  • Popolare
  • Mondo
  • Utenti
  • Gruppi
  • Categorie
  • Recenti
  • Tag
  • Popolare
  • Mondo
  • Utenti
  • Gruppi
Collassa

Forum Federato

Di Piero Bosio
  1. Home
  2. Categorie
  3. Senza categoria
  4. 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.

Pianificato Fissato Bloccato Spostato Senza categoria
softwaredevelopmentbugsintegeroverflow
1 Post 1 Autori 0 Visualizzazioni
  • Da Vecchi a Nuovi
  • Da Nuovi a Vecchi
  • Più Voti
Rispondi
  • Topic risposta
Effettua l'accesso per rispondere
Questa discussione è stata eliminata. Solo gli utenti con diritti di gestione possono vederla.
  • TiTiNoNero :__:undefined Questo utente è esterno a questo forum
    TiTiNoNero :__:undefined Questo utente è esterno a questo forum
    TiTiNoNero :__:
    scritto su ultima modifica di
    #1

    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.

    #software #development #bugs #integeroverflow

    1 Risposta Ultima Risposta
    3
    • Oblomovundefined Oblomov ha condiviso questa discussione
      rag. Gustavino Bevilacquaundefined rag. Gustavino Bevilacqua ha condiviso questa discussione
      Maronno Winchester :antifa:undefined Maronno Winchester :antifa: ha condiviso questa discussione
    Rispondi
    • Topic risposta
    Effettua l'accesso per rispondere
    • Da Vecchi a Nuovi
    • Da Nuovi a Vecchi
    • Più Voti


    • Accedi

    • Accedi o registrati per effettuare la ricerca.
    • Primo post
      Ultimo post