Problem betrifft nicht nur einige wenige Nutzer

Hilfe bekamen die Quobyte-Leute vom Kernel-Team bei Canonical. Es ließ Quobyte an der eigenen Expertise beim Debuggen von Kernel-Problemen teilhaben und erkannte selbst auf Basis der Quobyte-Arbeit erst im Lauf des Vorgangs die Tragweite des Bugs. War man anfangs noch der Überzeugung, man müsse das Problem gar nicht für Ubuntu 16.04 lösen, weil es die meisten Nutzer nicht betreffe, geht man mittlerweile davon aus, dass der Fix für 16.04 notwendig ist. Denn ein Kernel, der sich möglicherweise auch durch Anwender gezielt zum Absturz bringen lässt, ist eben auch ein Sicherheitsrisiko - und zumindest bei Systemen mit aktiviertem Fuse ist genau das der Fall.

Mittlerweile arbeiten die Ubuntu-Entwickler sogar an einem Backport des Patches für den Kernel der aktuellen Ubuntu-Version 15.10. Das ist ein klares Zeichen, dass die Tragweite des Problems deutlich größer ist als anfangs angenommen. Über diesen Umweg wird letztlich auch das eingangs erwähnte Setup einen korrigierten Kernel 4.2 erhalten.

Das Resultat: zehn Zeilen Patch

Die Identifikation des defekten Codes durch Quobyte war de facto der entscheidende Schritt auf dem Weg zu einem Patch. Quobyte-Entwickler Robert Döbbelin stellte diesen auf der Fuse-Mailingliste zur Diskussion, nachdem Seth Forshee vom Kernel-Team bei Canonical sein Sanctus gegeben hatte. In Form eines Test-Pakets war zu diesem Zeitpunkt bereits ein Kernel in Version 4.2 verfügbar, der das beschriebene Fehlverhalten nicht mehr zeigte. Bis der Patch in Ubuntu als Teil eines neuen Kernel-Pakets ankommt, dürfte noch eine Weile vergehen. Zwar steht es den Linux-Anbietern frei, auch abseits des Hauptzweigs des Linux-Kernels Patches in ihre Kernel-Pakete einzubauen. Doch für solche Fälle gibt es diverse interne Prozesse, die zu befolgen sind. Immerhin: Auch auf die Kernel-Mailingliste hat es der Patch mittlerweile geschafft, so dass zur Aufnahme in den offiziellen Linux-Kernel nur noch Linux-Chef Linus Torvalds seine Zustimmung geben muss.

  • Während dieser Stack-Trace klare Rückschlüsse auf das Problem zulässt ... (Screenshot Martin Loschwitz)
  • ..., erwähnt dieser Fuse mit keinem Wort. Die Ursache für den Crash ist in beiden Fällen allerdings dieselbe. (Screenshot Martin Loschwitz)
  • Das Ende vom Lied: Das Verschieben eines Funktionsaufrufes an eine andere Stelle löst das Problem. (Screenshot Martin Loschwitz)
Das Ende vom Lied: Das Verschieben eines Funktionsaufrufes an eine andere Stelle löst das Problem. (Screenshot Martin Loschwitz)

Dass der gesamte Patch letztlich nur zehn Zeilen lang ist und effektiv nur einen Funktionsaufruf von einer Stelle an eine andere verschiebt, trägt zu seiner Akzeptanz allerdings bei.

Lessons learned

Die große Lehre aus dieser Erfahrung ist, dass Kernel-Debugging nur funktioniert, wenn die Entwickler ein Problem selbst sehen und genau untersuchen können. Der erste Schritt auf dem Weg zum Debugging von Linux ist insofern das Bauen einer möglichst reduzierten Testumgebung: Nur wenn die Bedingungen klar sind, in denen ein Problem auftritt, lassen sich gute Rückschlüsse auf mögliche Lösungen ziehen.

Über den Autor
Martin Gerhard Loschwitz arbeitet bei SysEleven in Berlin. Er beschäftigt sich dort bevorzugt mit den Themen Openstack, Software Defined Networking und Software-defined Storage.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Hilfe von Fuse?
  1.  
  2. 1
  3. 2
  4. 3
  5. 4


madkiss 15. Apr 2016

Ich halte die Aussage, 4 Monate seien "zu lang", in dieser Pauschalität für irrig...

grumpfel 15. Apr 2016

Weil ich kein Freund von Benchmark bin, weil die wenig den Echtzeit Betrieb wieder...

Mr Miyagi 14. Apr 2016

Das System war nicht lange gestört... Die Problematische Software ist zeitnah...

Phreeze 13. Apr 2016

der Fehler wurde also binnen 1h repariert, und dazu schreibt man dann einen 4 Seiten...



Aktuell auf der Startseite von Golem.de
Neue Apple-Chips
Das steckt hinter M2 Ultra und dem R1 der Vision Pro

Zwei Chips, aber nur einer ist wirklich neu: Wir werfen einen Blick auf die Technik hinter Apples M2 Ultra und analysieren, was der mysteriöse R1 kann.
Eine Analyse von Johannes Hiltscher

Neue Apple-Chips: Das steckt hinter M2 Ultra und dem R1 der Vision Pro
Artikel
  1. Nasa: Asteroiden-Raumsonde Psyche soll im Herbst starten
    Nasa
    Asteroiden-Raumsonde Psyche soll im Herbst starten

    Es gibt einen neuen Termin für den Start der Nasa-Raumsonde Psyche. Die Asteroiden-Mission soll im Oktober 2023 beginnen.

  2. Bluetooth-Kopfhörer von Anker 30 Prozent billiger bei Amazon
     
    Bluetooth-Kopfhörer von Anker 30 Prozent billiger bei Amazon

    Unter den Bluetooth-Kopfhörern mit Noise Cancelling ist der Anker Life Q30 die Nummer eins bei Amazon. Jetzt gibt es ihn zum Sonderpreis.
    Ausgewählte Angebote des E-Commerce-Teams

  3. Vorstellung Vision Pro: Apple interessiert sich nicht fürs Metaverse
    Vorstellung Vision Pro
    Apple interessiert sich nicht fürs Metaverse

    Das Vision Pro erfindet das Headset-Rad nicht neu, Apple legt aber einen deutlich anderen Fokus auf die Nutzung. Das kann funktionieren, wenn der Markt mitspielt.
    Eine Analyse von Tobias Költzsch

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • PS5-Spiele & Zubehör bis -75% • Samsung 990 Pro 1TB (PS5) 94€ • AirPods 2 125€ • Crucial SSD 1TB 41,99€ • Thrustmaster T300 RS 299,99€ • Bis 50 % auf Gaming-Produkte bei NBB • PS5 inkl. Spiel 549€ • MSI RTX 4070 Ti 999€ • MindStar: AMD Ryzen 7 5800X3D 285€, RX 7900 XTX 989€ [Werbung]
    •  /