hashdeep mit Multi-Threading

Re: hashdeep mit Multi-Threading

Postby Matjes » 16.02.2012, 06:20

Hallo zusammen,

nach einem Nachmittag "Forschung und Technik" konnte ich dem Zuständigen einen Testfall hinstellen, der den Bug kristallklar darstellt.

Grund für den Absturz:
Bei Parameter -j0 werden anscheinend von hashdeep.exe mehrere Environment-Variablen gesetzt.
Ist das Environment bereits durch mehrere Variablen belastet, führt dieses Setzen der zusätzlichen Environment-Variablen zum Überlauf des Environment und damit zum Abbruch.
Mit Parameter -j1 tritt das Verhalten nicht auf.

Fehler ist vom Zuständigen nachvollzogen und in die Fehlerdatenbank eingetragen. Am patch wird gearbeitet.

Warum trat das bei mir auf:
Ich benutzte AlBundys wsusoffline_download.cmd. Dort werden alle Infos aus der UpdateGenerator.ini in Environment-Variablen gespeichert. Dadurch wird das Environment schon etwas belastet. Aus der weiteren Belastung durch hashdeep.exe resultiert dann der Crash.

Grüße Matjes :)
Matjes
 
Posts: 76
Joined: 16.06.2010, 17:56

Re: hashdeep mit Multi-Threading

Postby aker » 16.02.2012, 09:07

@Matjes
Das hieße, es funktioniert mit dem Parameter -j0, wenn der Update-Generator verwendet wird?

Viele Grüsse
Wer Rechtschreibfehler findet, darf sie behalten oder an den Meistbietenden versteigern. / Everybody finding a misspelling is allowed to keep or sell it.
aker

WSUS Offline Update „Community Edition“
https://gitlab.com/wsusoffline/wsusoffline/-/releases
aker
 
Posts: 3999
Joined: 02.03.2011, 15:32

Re: hashdeep mit Multi-Threading

Postby boco » 16.02.2012, 10:49

Es gilt die Faustformel für den Parameter -j: die Zahl muss um 1 kleiner sein als die Anzahl der Prozessoren.
Natürlich vorausgesetzt, daß es mehr als eine CPU/Core ist. :mrgreen:
Microsoft update catalog: http://catalog.update.microsoft.com/v7/site/
Windows Install media download: https://support.microsoft.com/en-us/help/15088/windows-create-installation-media
boco
 
Posts: 2391
Joined: 24.11.2009, 17:00
Location: Germany

Re: hashdeep mit Multi-Threading

Postby Matjes » 16.02.2012, 11:02

@aker
jo :D
Gruß Matjes :)
Matjes
 
Posts: 76
Joined: 16.06.2010, 17:56

Re: hashdeep mit Multi-Threading

Postby Denniss » 09.05.2012, 18:53

Gibt es inzwischen eine Besserung mit dem Parameter -j0 ?
Ich habe den jetzt bei mir gesetzt da mir die Festplatte zu stark belastet wurde beim Abgleich der Dateien (große Partition, Dateien sind wohl über die ganze Partition verteilt).

Wird bei einem Audit-Fehler eigentlich der Name der fehlerhaften Datei(en) angegeben oder gibt es nur eine nichtssagende Fehlermeldung?
Denniss
 
Posts: 869
Joined: 01.08.2009, 10:51

Re: hashdeep mit Multi-Threading

Postby Matjes » 09.05.2012, 20:11

Hallo Denniss,

wenn dein Environment nicht startk durch gesetzte Variablen belastet ist, sollte es mit j0 funktionieren.

Bei stark belastetem Environment kommt es mit -j0 zum Absturz von hashdeep.
Fehler ist im Status Open.
http://sourceforge.net/tracker/?func=de ... tid=516778

Gruß Matjes :)
Matjes
 
Posts: 76
Joined: 16.06.2010, 17:56

Re: hashdeep mit Multi-Threading

Postby Gerby » 06.06.2012, 12:12

Denniss wrote:Gibt es inzwischen eine Besserung mit dem Parameter -j0 ?

In der neuen Version 4.1.1 ist der Fehler offensichtlich noch nicht behoben, da nicht erwähnt:
md5deep Changelog wrote:** Changes in version 4.1.1 (5 Jun 2012)

* New Features

* Bug Fixes

Fixed hashdeep bug for known files with commas in their names.
Cleaned up usage message

Der Tracker-Eintrag bestätigt das (Status: Open, Resolution: None).

Denniss wrote:Ich habe den jetzt bei mir gesetzt da mir die Festplatte zu stark belastet wurde beim Abgleich der Dateien (große Partition, Dateien sind wohl über die ganze Partition verteilt).


Jepp, hier und da ist mir das Festplattengerödel auch schon aufgefallen. Die Sache mit dem Multithreading bringt in solchen Fällen wohl eher Zeitnachteile als -vorteile. Auch die Festplatte wird dadurch ja mehr belastet. Eventuell ist es tatsächlich besser, auf das Multithreading zu verzichten.

Da der "-j0"-Parameter zum Abstellen des Multithreadings bei der 4-er-Version des hashdeep-Tools wie erwähnt hier und dort Probleme bringt, ist die Verwendung der letzten 3-er-Version 3.9.2 (noch ganz ohne Multithreading) denkbar; dann müsste halt auch der "-j"-Parameter überall rausfliegen. Oder gab's auch schon Probleme mit der 3-er-Version?

Das nur mal so als Einwurf in eine Diskussion.

Gruß
Gerby
Mach mit - der Übersichtlichkeit wegen! Füge Log-Auszüge als [Code] ein.
Make it clear! Insert log excerpts as [Code].
Gerby
 
Posts: 504
Joined: 11.09.2009, 15:57
Location: DE > SH > SE

Re: hashdeep mit Multi-Threading

Postby boco » 06.06.2012, 13:11

Man muß ganz klar zwei Szenarien unterscheiden. Nee, eigentlich drei:
1. Magnetische Festplatte älterer Bauart ohne NCQ (Native Command Queueing). Hier würde ich ganz klar Single-threading empfehlen, da dieses dem sequentiellen Lesen am nächsten kommt.

2. Magnetische Festplatte modernerer Bauart mit NCQ. Diese Platte optimiert die Anzahl der Bewegungen des Lese-/Schreibkopfs, indem die Reihenfolge der Lese-/Schreiboperationen umgestellt wird. Deutlich performanter bei Multi-threading, hier müßte man es testen.

3. SSD. Keine Frage, dieses Laufwerk hat keinerlei Probleme mit Multithreading.


Abschließend läßt sich sagen, bei herkömmlichen Konfigurationen ist immer noch die Platte der Flaschenhals. Eine möglichst sequentielle Bearbeitung der Daten ist wohl hier das Optimum.


WSUSUpdateAdmin: Trotzdem sollte doch zumindest hashdeep in der neuesten Version in WSUSOU Einzug finden, nicht? 8-)
Microsoft update catalog: http://catalog.update.microsoft.com/v7/site/
Windows Install media download: https://support.microsoft.com/en-us/help/15088/windows-create-installation-media
boco
 
Posts: 2391
Joined: 24.11.2009, 17:00
Location: Germany

Re: hashdeep mit Multi-Threading

Postby Gerby » 06.06.2012, 14:59

boco wrote:WSUSUpdateAdmin: Trotzdem sollte doch zumindest hashdeep in der neuesten Version in WSUSOU Einzug finden, nicht? 8-)

http://trac.wsusoffline.net/changeset/363/trunk ;-) (Oder wolltest Du einfach nur mit Torsten d'accord gehen?)

Falls auch von Torsten die Single-Thread-Lösung bevorzugt werden sollte, ist zur Zeit wohl noch die 3-er-Version von hashdeep in Hinsicht auf die Gewährleistung der Funktion die bessere Wahl (im Vergleich zur fehlerhaften j0-Implementierung oder zum j1-Parameter mit zwei Threads bei der 4-er-Version).
Mach mit - der Übersichtlichkeit wegen! Füge Log-Auszüge als [Code] ein.
Make it clear! Insert log excerpts as [Code].
Gerby
 
Posts: 504
Joined: 11.09.2009, 15:57
Location: DE > SH > SE

Re: hashdeep mit Multi-Threading

Postby boco » 07.06.2012, 01:59

http://trac.wsusoffline.net/changeset/363/trunk ;-) (Oder wolltest Du einfach nur mit Torsten d'accord gehen?)
Üblicherweise checke ich den Trac vor dem Forum (wegen Signatur und so). Deshalb kann sich das überschnitten haben. War zu dem Zeitpunkt noch nicht drin.
Davon abgesehen sollte man immer die neueste Version eines Tools verwenden (solange es keine Beta ist oder andere wichtige Gründe vorliegen). Der APPCRASH is natürlich übel, hoffentlich kommt der Macher mal in die Gänge...
Microsoft update catalog: http://catalog.update.microsoft.com/v7/site/
Windows Install media download: https://support.microsoft.com/en-us/help/15088/windows-create-installation-media
boco
 
Posts: 2391
Joined: 24.11.2009, 17:00
Location: Germany

PreviousNext

Return to Anregungen / Suggestions

Who is online

Users browsing this forum: No registered users and 188 guests