A volte per risolvere un bug del Kernel Linux bisogna avviare il sistema 292.612 volte

0

Per quanti hanno esperienza di sviluppo non sarà difficile ricordare qualche bug molesto, uno di quelli che non si presenta tutte le volte, per il quale sono necessarie determinate condizioni affinché si presenti, una race condition, piuttosto che una congiunzione astrale.

Capita a tutti, ed è capitato anche a Richard WM Jones, uno sviluppatore che si è trovato costretto ad avviare Linux per 292.612 volte per verificare come il problema, identificato in una specifica patch, fosse risolto.

Il problema, nello specifico, era un blocco che avveniva ogni circa 1000 boot, all’apparizione di questo messaggio:

[    0.070120] Freeing SMP alternatives memory: 48K

Chiariamo: il numero dei boot, quel 292.612, non è così importante. È un numero ritenuto “sufficiente” per dimostrare il non presentarsi della problematica. Come detto, in condizioni normali, quindi con bug presente, questa entro i 1.000 boot falliva sempre.

Fortunatamente i tempi in cui l’unica via per avviare un sistema erano quelli di schiacciare il bottone ed aspettare il completamento del caricamento del BIOS ed affini sono stati superati e, sempre fortunatamente, è possibile simulare mediante appositi strumenti (nella fattispecie un programma che richiama più istanze guestfish in parallelo per eseguire i boot) tutti i boot desiderati.

I numeri però rimangono davvero alti, e come spiega l’autore del post e risolutore del problema, sono stati l’unica via per isolare il problema.

In conclusione questa storia insegna due cose: la prima è che la tenacia (e gli automatismi) è un alleato prezioso per risolvere i problemi, la seconda è che per fortuna c’è ancora chi si pone come obiettivo il fatto di risolvere problemi che capitano solo una volta ogni tanto.

Perché la legge di Murphy è chiara, il problema si presenterà inevitabilmente, e sarà verosimilmente nel momento peggiore.

Molti complimenti, Mr. Jones.

Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.