Tras casi 300.000 arranques en 21 horas, un hacker consigue detectar un problema de arranque en Linux y lo soluciona para los usuarios. Un nuevo ejemplo de cómo los hackers pueden contribuir con sus habilidades para la comunidad.
Richard WM Jones, conocido hacker del sistema operativo Linux, ha resuelto un problema que causaba bloqueos durante el arranque de Linux 6.4. Este extraño bug solo se producía en uno de cada mil arranques, y aún menos frecuente en dispositivos con hardware Intel, aunque la razón detrás de esta peculiaridad no está clara.
Jones, motivado por los inconvenientes que el bug ocasionaba en los dispositivos con los que trabajaba, se dedicó a investigar durante un tiempo considerable. Finalmente, ideó un código de verificación para arrancar y comprobar el estado de inicio. Después de una minuciosa búsqueda, identificó el bug en uno de los cambios realizados en la función printk().
De manera sorprendente, Jones ejecutó Linux 292.612 veces para asegurarse de que todo funcionaba sin problemas. Esta hazaña inusual, probablemente un récord, requirió 21 horas, pero se completó sin contratiempos. Luego, volvió al código anterior y verificó que fallaba antes de alcanzar las 1.000 veces, confirmando así que su solución era correcta. Un final feliz para esta historia.
“Me sorprende que nadie más haya detectado este error, pero gracias a nuestras pruebas observamos bloqueos aleatorios, siempre en el mismo punto al inicio del arranque del dispositivo”, afirmó Jones en su blog.
La habilidad de los hackers para contribuir con los usuarios
El proceso de identificación y resolución del bug fue complejo. Jones ejecutó una extensa bisección entre las versiones v6.0 y v6.4-rc6, lo que le llevó varios días. Finalmente, encontró al culpable: una regresión en la función printk time. Para validar su descubrimiento, Jones arrancó Linux 292.612 veces antes del commit defectuoso (con éxito), y después (falló antes de las 1.000 veces).
Esta destacada hazaña de Richard WM Jones demuestra la dedicación y habilidad de los expertos en Linux para resolver problemas complejos y las virtudes de los hackers. Su contribución beneficiará a los usuarios de Linux 6.4 al evitar bloqueos en el proceso de arranque.