md5sum liefert immer andere Prüfsummen für die gleiche Datei

Fallaxia

Lieutenant
Registriert
Okt. 2012
Beiträge
691
Hi Leute und frohes neues Jahr!

Ich habe ein sehr seltsames Problem:

Wenn ich mit md5sum die Prüfsumme einer beliebiegen großen Datei, sagen wir mal eine 500MB ISO Datei erstelle bekomme ich ein Ergebnis, welches sich von dem Ergebnis des nochmaligen Durchlaufes unterscheidet.

Ich erstelle also die Prüfsumme einer Datei mehrmals hintereinander und immer ist die Prüfsumme eine andere.
Die Datei wird zwischenzeitlich nicht verändert, sondern liegt einfach so auf der Festplatte (SSD).

Ich habe die üblichen Verdächtigen (RAM mit Memtest, SSD mit Samsungs SSD checker) bereits ausgeschlossen.
Das Problem tritt auch nur bei diesem System auf, sonst nirgends.

Also wenn ich die Festplatte mit der Datei in ein anderes System hänge ergibt die Prüfsumme immer den gleichen Wert.

Das Kuriose dabei ist, dass kleine Dateien (so um die 100MB) auch auf dem Problem-System stets den gleichen Wert ergeben. Das Problem tritt also nur bei großen Dateien auf.

Was kann das nur sein?

Grüße
Fallaxia
 
probier doch mal ein anderes tool aus, welches md5 hashes berechnet, z. b. fsum.
kann durchaus an md5sum liegen.

-andy-
 
Auf dem System läuft ein Gentoo-Linux.
Prime95 habe ich nicht laufen lassen (gibts das für Linux?) aber dafür Seti@Home seit einigen Monaten absolut stabil.
Auch alles Andere läuft superstabil, aber die Prüfsummen treiben mich in den Wahn.

Wenn ich mit dd eine Testdatei mit z.B. 100, 200, 500 MB Größe anlege und davon mehrfach die md5summe bilde, so passt die stets. Mache ich das Gleiche mit einer tar.bz2 Datei kommt der beschriebene Müll dabei raus. Wenn ich die Datei entpacke meldet er mir auch dass das Archiv beschädigt ist.

Dabei ist es vollkommen egal ob ich die Datei runtergeladen habe oder selbst auf dem System erzeugt habe. Ab ca. 100 MB Größe kommt Müll dabei raus, darunter nicht - nie.

An bzip2/tar kanns ja nicht liegen, dann wäre ja auch bei fehlerhafter Archiverstellung zumindest die Prüfsumme bei zwei Checks in direkter Folge gleich und würde sich nicht unterscheiden. Tut sie aber.

Auch wenn ich längere Prüfsummen wie sha512sum nutze tritt das gleiche Problem auf.

Hat jemand noch eine Idee?
Wie gesagt Ram, HDD getestet, fehlerfrei - System läuft auch seit langer Zeit stabil, keine anderen Probleme, habe natürlich auch mal neugestartet, hat aber nicht geholfen.
 
Ja, prime95 gibts auch für linux.

Welches Dateisystem wär vielleicht auch mal noch eine Frage.
 
Dann mach mal einen RAM Test mit Memtest86. Dazu muss von CD oder USB-Stick gebootet werden!!! Man sollte min. 6 PASS abwarten und es darf dabei kein Fehler auftreten (also am Besten über Nacht laufen lassen). RAM-Fehler können die unmöglichsten Probleme erzeugen! Ein Blick auf die S.M.A.R.T. Werte mit CrystalDiskInfo schadet auch nicht.
 
@Holt: Lies doch mal was ich geschrieben habe.

Memtest habe ich als erstes gemacht, steht im ersten Post - 11 komplette Durchläufe waren es ohne einen Fehler.
Festplatte geprüft mit Herstellertools ebenfalls.
CrystalDisk gibt es nicht für Linux - dafür smartmontools.
In einem anderen System (Speicher und Festplatte mitgenommen), keine Probleme - allerdings auch anderes (SuSE) Linux.
Maschine läuft absolut stabil, nur die Fehler mit md5sum treten auf - und das auch nur bei tar.bz2 Dateien oder Iso Dateien ab gewisser Größe.

Dateisystem ist JFS.
 
Hast Du memtest86 so ausgeführt wie ich es geschrieben habe oder unter Linux? Aber Du hast ja ECC RAM, da sollte das eigentlich nicht passieren bzw. würdest Du entsprechende Fehlermeldungen finden, wenn es passiert.

Warum nimmt Du nicht ext3 oder ext4?

Hast Du die SDD an dem Adaptec 71605? Dann könnte es sogar ein Bit-Fehler in deren Cache Speicher sein oder ein FW-Bug. Dann würde ich mal testen ob es auch passiert, wenn die SSD direkt an einem SATA Port des Chipsets hängt.
 
Zuletzt bearbeitet:
Es geht hierbei nicht um das System in meiner Signatur, sondern um ein anderes (Dual Athlon MP, aus 2002) - hat aber auch ECC Ram.
Bei Memtest86+ habe ich die neueste Version geladen und direkt von CD gebootet, keine Fehler.
Prime95 habe ich auch mal jetzt einen Tag laufen lassen - keine Probleme.
 
Da auf dem System Gentoo läuft, welche GCC-Version und welche Optimierungsstufe verwendest du? Kannst du md5sum mal mit -O0 übersetzen? Wäre ungewöhnlich, da die kleinen Files ja durchlaufen, aber einen Versuch ist es wert.

Passiert das zufällig bei Dateien die größer als 4GB sind?

Kannst du ein alternatives Tool verwenden, um den Hash zu berechnen? (z.B. digest) Was liefert das?

Passiert das ganze auch bei md5sum < filename? (n.b. <)
 
ja mal mit einer alternativen checksumme dasselbe testen. dann weiss man obs an den gelesenen daten liegt, oder nur am md5sum.
 
Dann würde ich die Platte mal mit h2testw prüfen.
 
@Holt:
Ich habe jede tauschbare Komponente bereits überprüft und auch mal gegen jweils neue, baugleiche Teile ausgetauscht um möglich Fehlerquellen dieser Komponenten ausschließen zu können - leider ohne Erfolg.
Ich habe auch das Mainboard, den Speicher, die CPU durch baugleiche Teile ersetzt, ohne Erfolg.

Was kann das bloß sein dass alle Tools zur Prüfsummenbildung Müll ausgeben und sich Archivdateien > ~100 MB nicht fehlerfrei entpacken lassen, wenn sie kleiner sind geht es immer, ohne Probleme.

Die gleiche Hardware, also HDD, Speicher, CPU, Netzteil, Controller in einem anderen System (also anderes Board, 5 Jahre moderner) funktioniert ohne dieses lästige Problem.

Irgendjemand noch eine Idee?
 
Probier mal nen anderen Hash-Algorithmus, z.B. SHA1:
sha1sum <filename>
 
Was kann das bloß sein dass alle Tools zur Prüfsummenbildung Müll ausgeben und sich Archivdateien > ~100 MB nicht fehlerfrei entpacken lassen, wenn sie kleiner sind geht es immer, ohne Probleme.

Habe ich doch schon geschrieben dass ich genau das getan habe.
 
Hast Du eigentlich auch an der ICH10R eine Platte hängen? Passiert das bei der auch? Wenn nicht, dann probier es auch, an Platten herrscht ja bei Dir kein Mangel und wenn es dann klappt, würde ich mal fast fürchten, dass der PCIe Switch auf dem Board das Problem ist. Da sind ja viel mehr Slots drauf, als der Chipsatz überhaupt an Lanes bietet und deshalb sind da zwei Nvidia NF200 verbaut. Probiere den Adaptec mal in einem anderen Slot.
 
Zuletzt bearbeitet:
Ne, es geht nicht um den PC in meiner Signatur - der PC um den es geht hat nur PCI, nichtmal PCI-E.
Es ist ein altes Dual AMD Athlon MP Industrie System aus dem Jahre ~ 2002
 
Dann beschreibe doch mal dessen HW genauer. Hast Du dessen Platte mal mit h2testw geprüft? Solltest es einmal mit weniger als 100MB und einmal mit mehr machen, wenn das die kritische Grenze ist. Oder läuft der nur unter Linux?
 
Zurück
Oben