[BUG][MINOR] No log notices when Service stops when temp/working0 dir out of space

Request Type: BUG / MINOR
MCEBuddy Version and Type (32bit or 64bit): 2.4.9 2018-03-09
Operating System and Type (32bit or 64bit): Win10x64
Summary of the problem or suggestion:
Lost my Temp Folder setting somewhere along the line in the config. My bad.
So MCEBuddy defaulted back (Temp Folder is blank) to C:\Program Files\MCEBuddy2x\working0.
I have my OS installed on a small SSD and point everything I can to another bigger drive.
e.g. F:\Recorded TV (where I point my HD Homerun to record to its own HDHomerun folder and have MCEBuddy monitor that and move converted files into its own peer folders.)

So my set my Temp Folder to F:\Recorded TV\MCEBuddyTemp and back in business.
For other readers: The Temp Folder setting is under Settings, General Settings, System Settings.

The problem: When the temp folder disk fills up, the service is crashing on my system with no entry in the mcebuddy log, just the windows event log. Because it crashes within a minute or so (when it starts to process the first file), I had to start the service and then the GUI right away, wait until it contacted the new service instance, and then use the STOP button on the GUI so that I could change the settings.

When the service crashed, the GUI could not contact the service to determine state, and NONE of the buttons on the GUI other than CLOSE were enabled. Specifically, the SETTINGS button was not enabled, so there was no way to “fix” the settings in that state. I don’t know if that’s a good thing or a bad thing, in terms of preserving settings (to recreate the behavior) when things go sideways. Your call. But it was a minor annoyance to figure out how to “catch” it before it crashed.

What was problematic was that the only indicator of failure was in the Windows Events log. You might have to trap that error, and gracefully shutdown after writing appropriate messages in the MCEBuddy (and conversion) logs. And maybe enable the settings button if the service cannot be contacted, not just shutdown the GUI.


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

The next thing in the log is when I manually restarted the service.

[mike808: last event log item after service started]

Information	17-Mar-2018   2:49 AM
MCEBuddy service started on port 23332

[mike808: I think this is the indicator something is wrong.]

Warning	17-Mar-2018   10:49 AM
MCEBuddy GUI: Unable to get Event Log Entries due to pipe error System.NullReferenceException: Object reference not set to an instance of an object.

[mike808: Here is where I manually restarted the service from the Services control.]

Information	17-Mar-2018   3:50 AM
MCEBuddy service OnStart called, version

at MCEBuddy.GUI.StatusForm.displayEventLogEntries()

Steps to replicate the bug:
Convert a big file with a too small TEMP/working dir.
Here is a short troubleshooting video.

Attach your log.

MCEBuddy does a space check (unless your disabled that option in the system settings page) and if there isn’t enough space it fails the conversion at the beginning with a not enough space error in the logs and conversion history page.

The problem has not returned after I moved Windows TEMP/TMP folders to the data drive as well as setting the MCEBuddy temp folders to the data drive.
The windows event log indicates that MCEBuddy GUI is getting disconnected from the named pipe it’s using to talk to the service when the service fails. i.e. the GUI still has a filehandle to talk to a process that isn’t there anymore, and thus, looks “unresponsive” to the GUI.