Dev démarre Linux 292 612 fois pour trouver Intel, bogue du noyau AMD

Le développeur de Red Hat Linux, Richard WM Jones, a partagé une histoire surprenante sur la chasse aux bogues Linux. Jones a remarqué que Linux 6.4 a un bogue qui signifie qu’il se bloque au démarrage environ 1 fois sur 1 000. Jones a entrepris de localiser le bogue et de prouver qu’il l’avait attrapé en flagrant délit. Cependant, son travail en tête d’affiche, impliquant le démarrage de Linux 292 612 fois (et 1 000 autres fois pour confirmer le bogue) « n’a apparemment pris que 21 heures ». Il semble également que le bogue soit moins courant avec le matériel Intel qu’avec les machines basées sur AMD.

Jones a eu la première bouffée de ce bogue de démarrage Linux insaisissable mais reproductible lorsque certains tests de logiciels de serveur avec nbdkit (un protocole d’accès aux périphériques de bloc sur un réseau) semblaient être « suspendus au hasard » lorsqu’ils étaient utilisés avec libguestsfs (un outil pour accéder et modifier la machine virtuelle images de disque.) Bien que nous sachions que la phase de test en boucle a duré 21 heures (même s’il y a eu 293 612 processus de démarrage astronomiques), Jones dit qu’arriver à ce point « a pris plusieurs jours ». Le développeur Linux raconte qu’une bissection douloureuse entre Linux v6.0 et v6.4-rc6 l’a aidé à réduire le coupable du blocage du démarrage. Ce coupable est prétendu être une régression dans la fonction de temps printk. L’annulation de ce commit de code « résout le problème », affirme Jones.

Source-138