Froschs Blog

Computer und was das Leben sonst noch so zu bieten hat

Zur Website | Impressum

apt-get install segfault

17. August 2011 um 13:08 Uhr von Atari-Frosch

Ab Montag Abend meinten apt-get und apt-cache, auf meinem Hauptrechner seerose Speicherzugriffsfehler (segmentation fault) werfen zu müssen, und auch exakt nur diese beiden Programme. Alles andere, auch die größten Speicherfresser, wußten nichts von Speicherproblemen. Auf dem Server, der ja auch ein 64bit-System ist, probierte ich das gleiche, aber da gab es keine Probleme.

Vor dem Schlafengehen steckte ich also die Ultimate Boot CD ins Laufwerk, rebootete und startete den memtest86+ (+, weil der mit 64bit kann). Dienstag, 9 Stunden und 20 Minuten später, war der Test beim Einschalten des Monitors gerade im 6. Durchlauf bei 15 % und hatte keine Speicherfehler gefunden. Damit wurde es kompliziert.

Ich probierte apt-get clean, löschte also alle Installationspakete. Keine Änderung.

Dann pastete ich die Segfault-Meldungen aus /var/log/messages in ein Pastebin und jointe den Channel #debian.de im IRCNet. Dort schilderte ich das Problem, worauf sich ein lustiger Wettstreit entspann: Einer tippte auf die apt-Konfiguration, einer auf das RAM (trotz des memtest-Ergebnisses, aufgrund des gepasteten Logs) und einer auf ein Problem mit der Festplatte. Schließlich wurden sogar Wetten darauf abgeschlossen, ob es am RAM oder an der Platte liegen würde.

Da ein badblocks-Lauf durchaus kompatibel war zu der Notwendigkeit, einkaufen zu gehen, ließ ich den nach einiger Diskussion zuerst laufen (von einer GRML-CD aus). Ergebnis nach gut 20 Minuten (bei knapp 40 GB): 0 bad blocks. Das war's also wohl nicht, und jemand hatte eine Wette verloren 😉

Der nächste Vorschlag war, die .bin-Dateien aus /var/cache/apt/ zu löschen.

Seitdem funktioniert alles wieder, allerdings bin ich mir nicht sicher, ob mir nicht Updates fehlen. Gerade in den letzten Tagen kamen einige, auf dem Notebook und auf dem Server habe ich sie gesehen, beim Hauptrechner scheinen mir welche davon zu fehlen. Ich kann mich aber auch irren.

Wenn das Problem wieder auftreten sollte, werde ich doch mal RAM-Riegel-Ringelreih'n spielen, also nacheinander jeweils einen der Riegel rausnehmen und testen, ob es dann immer noch passiert. Ich habe noch zwei gleichartige RAM-Riegel rumliegen, die allerdings auch erstmal getestet werden müßten, und zur Not könnte ich auch auf eines der 3 GB verzichten.

Nein, ich habe keine Langeweile ...

(Gewonnen hat also bis auf Weiteres derjenige, der auf ein Konfigurationsproblem bei apt tippte.)

2 Kommentare zu “apt-get install segfault”

  1. David Kalnischkies quakte:

    Ein Konfigurationsproblem ist das aber eigentlich nicht; gewonnen hat der, der sagen kann warum ein Datei plötzlich fehlerhaft auf der Festplatte liegt…

    Die *.bin Dateien werden von APT erzeugt um nicht jedes Mal aufwändig alle Dateien in /var/lib/apt/lists und der status Datei von dpkg auszuwerten. Das Ergebnis sind nämlich mehrere Megabyte große Speicherabbilder, die sich APT dann in die *.bin Dateien ablegt um bei der nächsten Ausführung einfach diese Speicherabbilder wieder direkt in den Speicher zu laden. Ein paar kleinere Tests werden natürlich gemacht um zu verhindern, dass z.B. veraltete Caches verwendet werden, aber alles testen kann man natürlich auch nicht, weil dann müsste man gar nicht erst mit so einem Cache anfangen…

    Updates oder sonstiges gehen beim löschen dieser Dateien übrigens nicht verloren – alle Daten die in ihnen enthalten sind befinden sich auch in Menschen-lesbarer Form in anderen Dateien auf dem Rechner oder können wieder aus dem Internet heruntergeladen werden – und aus diesen wird APT sie falls nötig auch wieder erzeugen, dauert halt nur ein Weilchen (Ist übrigens Vorschrift, dass in /var/cache nichts liegen darf, was nicht wieder neu erstellt werden könnte).


  2. frosch quakte:

    @David

    … der sagen kann warum ein Datei plötzlich fehlerhaft auf der Festplatte liegt…

    Ja, schon richtig. Aber wenn wie berichtet weder auf der Platte noch im RAM Fehler zu finden sind, wird die Diagnose schwer. Deshalb sagte ich ja auch „bis auf Weiteres” — wobei ich hoffe, daß es dabei jetzt erstmal bleibt. Ich hab die Kiste erst vor einem Monat eingerichtet.


Kommentieren

Bitte beachte die Kommentarregeln!

XHTML: Du kannst diese Tags verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>