Keine Log-Meldungen, wenn der Service stoppt, weil der temp/working0-Ordner voll ist

Anfragetyp: FEHLER / GERING
MCEBuddy-Version und -Typ (32-Bit oder 64-Bit): 2.4.9 2018-03-09
Betriebssystem und Typ (32-Bit oder 64-Bit): Win10x64
Zusammenfassung des Problems oder Vorschlags:
Irgendwann habe ich meinen Temp-Ordner in der Konfiguration verloren. Mein Fehler.
Daher fiel MCEBuddy auf den Standardwert zurück (Temp-Ordner ist leer) auf C:\Program Files\MCEBuddy2x\working0.
Mein Betriebssystem ist auf einer kleinen SSD installiert und ich lenke alles Mögliche auf ein größeres Laufwerk um.
z. B. F:\Recorded TV (darauf zeige ich HDHomeRun zur Aufnahme in seinen eigenen HDHomeRun-Ordner und lasse MCEBuddy das überwachen und die konvertierten Dateien in gleichgeordnete Ordner verschieben.)

Ich setzte also mein Temp-Verzeichnis auf F:\Recorded TV\MCEBuddyTemp und war wieder einsatzbereit.
Für andere Leser: Die Temp-Ordner-Einstellung findet sich unter Einstellungen, Allgemeine Einstellungen, Systemeinstellungen.

Das Problem: Wenn die Temp-Ordner-Partition voll wird, stürzt der Dienst auf meinem System ab, ohne Eintrag im MCEBuddy-Log – nur im Windows-Ereignisprotokoll. Da er innerhalb von etwa einer Minute abstürzt (wenn er die erste Datei verarbeitet), musste ich den Dienst starten, sofort die GUI öffnen, warten bis sie die neue Dienstinstanz kontaktiert hatte, und dann die STOPPTaste in der GUI klicken, damit ich die Einstellungen ändern konnte.

Wenn der Dienst abstürzte, konnte die GUI den Dienst nicht kontaktieren, um den Status zu ermitteln, und KEINER der Schaltflächen in der GUI war aktiviert – außer SCHLIEßEN. Insbesondere war die EINSTELLUNGEN-Schaltfläche deaktiviert, sodass sich die Einstellungen in diesem Zustand nicht „reparieren“ ließen. Ich weiß nicht, ob das gut oder schlecht ist, was die Bewahrung der Einstellungen (zur Reproduktion des Verhaltens) betrifft, wenn etwas schiefgeht – das überlasse ich euch. Es war jedoch ein kleines Ärgernis herauszufinden, wie man ihn „abfängt“, bevor er abstürzt.

Problematisch war, dass der einzige Hinweis auf den Fehler im Windows-Ereignisprotokoll stand. Ihr solltet diesen Fehler abfangen und nach entsprechenden Meldungen in den MCEBuddy- (und Konvertierungs-)Logs ordentlich herunterfahren. Und vielleicht die Einstellungen-Schaltfläche aktivieren, wenn der Dienst nicht kontaktiert werden kann, anstatt die GUI einfach zu schließen.

MCEBuddy-LOG

INFORMATION> 2018-03-17T10:49:13 MCEBuddy.Engine.QueueManager --> Monitor task HD HomeRun : Added new job to queue for F:\Recorded TV\HDHomeRun\Show\Show S10E05 20170826 [20180310-1100].mpg
2018-03-17T10:49:13 MCEBuddy.Engine.ConversionJob --> Starting Conversion Thread
INFORMATION> 2018-03-17T10:49:13 MCEBuddy.Engine.Core --> Job for F:\Recorded TV\HDHomeRun\Show\Show S10E05 20170826 [20180310-1100].mpg started using Conversion Task Convert to MKV - TV and Profile MKV High Quality
2018-03-17T10:49:13 MCEBuddy.Engine.Core --> Temp working path is C:\Program Files\MCEBuddy2x\working0
2018-03-17T10:49:13 MCEBuddy.Engine.Core --> Starting new conversions, allowing system sleep
INFORMATION> --> Extracting metadata from file F:\Recorded TV\HDHomeRun\Show\Show S10E06 20170902 [20180310-1130].mpg
INFORMATION> 2018-03-17T10:49:13 MCEBuddy.Engine.ConversionJob --> Creating log file : C:\Program Files\MCEBuddy2x\log\Show S10E05 20170826 [20180310-1100].mpg-Convert to MKV - TV-2018-03-17T10-49-13.7124134-05-00.log  

Das Nächste im Log ist, als ich den Dienst manuell neu startete.

EREIGNIS-LOG
[mike808: letzter Eintrag nach Dienststart]

Information	17.03.2018   02:49 Uhr
MCEBuddy-Dienst auf Port 23332 gestartet  

[mike808: Ich denke, das ist der Hinweis, dass etwas falsch läuft.]

Warnung	17.03.2018   10:49 Uhr
MCEBuddy GUI: Ereignisprotokoll-Einträge konnten wegen Pipe-Fehler nicht abgerufen werden System.NullReferenceException: Objektverweis nicht auf eine Objektinstanz festgelegt.  

[mike808: Hier habe ich den Dienst über die Dienste-Steuerung manuell neu gestartet.]

Information	17.03.2018   03:50 Uhr
MCEBuddy-Dienst OnStart aufgerufen, Version 2.4.9.0

bei MCEBuddy.GUI.StatusForm.displayEventLogEntries()

Schritte zum Reproduzieren des Fehlers:
Konvertiere eine große Datei mit einem zu kleinen TEMP-/Arbeitsordner.
Hier ist ein kurzes Fehlerbehebungs-Video.

Hängen Sie Ihr Protokoll an.

MCEBuddy führt eine Speicherplatzprüfung durch (es sei denn, Sie haben diese Option auf der Systemeinstellungsseite deaktiviert), und wenn nicht genügend Speicherplatz vorhanden ist, schlägt die Konversion mit einem Fehler „Nicht genügend Speicherplatz“ im Protokoll und auf der Konversionsverlaufsseite fehl.

Das Problem ist nicht mehr aufgetreten, nachdem ich die Windows-TEMP/TMP-Ordner auf die Daten-Festplatte verschoben und die MCEBuddy-Temp-Ordner ebenfalls auf die Daten-Festplatte gesetzt habe.
Das Windows-Ereignisprotokoll zeigt an, dass die MCEBuddy-GUI von der Named Pipe getrennt wird, über die sie mit dem Dienst kommuniziert, wenn der Dienst ausfällt. D.h. die GUI hat noch einen Dateihandle, um mit einem Prozess zu kommunizieren, der nicht mehr existiert, und wirkt daher für die GUI „nicht reagierend“.