Software::Kernel
Kernel-Entwickler verärgert über Systemd
Eine Kontroverse zwischen dem Kernel-Team und den Systemd-Entwicklern entspann sich aufgrund eines Kernel-Parameters zur Fehlersuche, der, von Systemd verwendet, Systeme beim Hochfahren abstürzen lassen kann.
Linux Foundation
Linus Torvalds, Initiator des Linux-Kernels
Der Fehlerbericht, den Kernel-Entwickler Borislav Petkov gestern
an die Bugzilla-Fehlerdatenbank sandte, brachte das Fass zum überlaufen. Er bemängelte darin, dass Systemd den generischen Kernel-Parameter »debug« verwendet. Dies bringe unter bestimmten Umständen Systeme beim Start zum Absturz, indem es den Systemnachrichtendienst dmesg mit Daten so überflutet, dass das System nicht mehr reagiert. Petkov bat darum, Systemd möge einen eigenen Namensraum für Debug-Informationen verwenden, wie es dies ansonsten durchgängig tut. Systemd-Entwickler Kay Sievers zeigte sich uneinsichtig und argumentierte, da der Begriff generisch sei, gehöre er nicht dem Kernel als erstem Benutzer. Er verwies auch darauf, Bugzilla sei kein Diskussionsforum und man solle die Angelegenheit auf einer Mailingliste besprechen.
Auf einer solchen landete der Konflikt dann auch, nämlich auf LKML. Die Entwickler dort zeigten sich unwillig, weiterhin Fehler in Systemd zu umschiffen, da die Entwickler nicht auf Kritik reagierten und sich generell im Recht wähnten. Zudem machten sie klar, dass ihnen sehr wohl die Kernel-Kommandozeile gehöre. Im konkreten Fall wurde vorgeschlagen, das Debug-Flag auf /proc/cmdline zu verstecken. Gegenargument war, dann müsse man vermutlich als nächstes auch das Quiet-Flag unsichtbar machen.
Linus Torvalds war von dieser Lösung nicht überzeugt und zeigte sich zudem entrüstet und spricht Sievers direkt an, er sei es müde, dass dieser Fehler in seinem Code nicht ausmerze, sodass diese dann im Kernel umschifft werden müssten. Dieses Verhalten sei seit Jahren zu beobachten. Zugleich ließ Torvalds Greg Kroah-Hartman wissen, er werde keinen weiteren Code von Sievers in den Mainline-Kernel einbringen, bevor der Code absolut fehlerfrei sei. Hier bezieht sich Torvalds auf das relativ weit fortgeschrittene Unterfangen von Hartman und den Systemd-Entwicklern, die Kernel-seitige D-Bus-Implementation Kdbus in einem zweiten Anlauf doch noch in den Kernel zu integrieren. Er werde keinen Code von Leuten verwenden, die nicht hinter sich aufräumen und ihre Probleme nicht als die ihrigen ansehen.
Hartman versuchte zu schlichten und schlug als Lösung mit »systemd.debug« einen eigenen Namensraum für die Debug-Option in Systemd vor. Torvalds würde diese Lösung bevorzugen, da er nicht einsehe, »quiet« und »debug« in /proc/cmdline vor den Anwendern zu verstecken, schließlich seien die Optionen aus gutem Grund dort. Torvalds fand dazu abschließend klare Worte: »Es sieht so aus, als sei Greg als Babysitter für Kay eingesprungen und die Sache wird bereinigt. Und ich möchte wirklich wegen Kays fortgesetzem schlechten Benehmen keine Codehacks in den Kernel einbringen und hoffe, dass dies nun repariert ist. Trotzdem ist es traurig, das diesen Vorfällen so viel Bedeutung zukommt und ich finde es nervig, dass immer dieselbe 'f*cking primadonna' involviert ist.«
Inzwischen hat ein besorgter Debian-Entwickler den Vorfall auf der dortigen Entwicklerliste seinen Kollegen zur Kenntnis gebracht und seine Zweifel aufgrund der Entscheidung von Debian für Systemd geäußert.