Linus Torvalds furieux après un bug dans le kernel Linux 4.8 stable

Trouver un bug dans une version qualifiée de stable d’un logiciel n’est jamais une bonne surprise. Mais quand on s’appelle Linus Torvalds et que le bug en question se retrouve dans le kernel Linux 4.8, cela donne une grosse colère !

« Je suis réellement désolé d’avoir appliqué la dernière série de patchs provenant d’Andrew [Morton] juste avant de compiler la version stable 4.8 parce qu’ils causent des problèmes, et maintenant ils sont dans la 4.8 (et toute cette merde est désormais marquée comme stable elle aussi). » : c’est avec ces belles paroles que Linus Torvalds s’excuse pour avoir appliqué un mauvais correctif à un vieux bug présent depuis le kernel 3.15. On comprend au ton employé, et au fait qu’il cite nommément le responsable, qu’il n’est vraiment pas content…

Eviter les « Kernel Panic » inutiles

Toute la colère de Linus vient de la mauvaise utilisation de BUG_ON() pour déboguer, une pratique que le développeur désapprouve depuis 15 ans déjà : « J’aurais du réagir à la vue de ces foutues lignes BUG_ON() ajoutées. Je me demande si je ne vais pas simplement retirer ce concept idiot de BUG_ON() une fois pour toute, parce qu’il n’y a AUCUNE PUT*** D’EXCUSE pour vouloir tuer volontairement le kernel ».

En pratique, BUG_ON() aboutit à un « kernel panic », avec l’affichage de l’état des registres et de la pile, alors qu’un simple WARN_ON() affiche aussi l’état de la pile, mais sans « kernel panic », et donc sans « tuer » la machine qui reste utilisable. Inutile de dire que ce petit problème sera rapidement réglé, comme d’habitude quand quelque chose énerve Linus Torvalds…