Programador reiniciou os seus sistemas Linux 300.000 vezes para identificar bug

Programador reiniciou os seus sistemas Linux 300.000 vezes para identificar bug

O Linux é um sistema desenvolvido por milhares de programadores em todo o mundo, mas mesmo com tantos olhos em cima de todo o código, ainda existem alguns bugs que surgem sem uma razão concreta. Este é um exemplo disso.

Faz alguns anos que o Kernel do Linux possuía um bug algo estranho, que poderia provocar o bloqueio do arranque do sistema, em algo que acontecia de forma bastante rara – mas o suficiente para ser conhecido. O bug ocorria menos de 1 vez em cada 1000 arranques do Linux, e até agora não tinha uma explicação concreta.

Tendo em conta que era algo bastante raro de acontecer, e rapidamente resolvido com um novo reinício, a maioria nunca chegou a tomar atenção do bug… exceto Richard WM Jones.

O programador decidiu colocar mãos à obra para tentar descobrir a origem deste bug. E para testar o mesmo, primeiro ele necessita de acontecer. Tendo em conta que é um bug bastante raro, o programador afirma que teve de reiniciar os seus sistemas de teste mais de 300.000 vezes para poder identificar o que causava o erro e consequente bloqueio do processo de arranque.

Depois do que o mesmo descreve como tendo sido um processo de análise que demorou “vários dias”, este finalmente descobriu a causa do estranho erro, que estaria associada com uma funcionalidade conhecida como printk time.

A correção da falha foi integrada no desenvolvimento do kernel, e deverá ser aplicada em futuras versões para evitar que volte a acontecer – ou pelo menos assim se espera.