Wednesday, January 02, 2008

A critical Media Center process has failed

I dont usually rant on here, but this one has got me all annoyed.

My Vista Media Center machine has been in 'production' in the house for a good 5 months now, and apart from a few annoyances (see below), it's been relativley plain sailing.

Until the christmas hols that is:

  • Just when it was time to book in all the rubbish xmas TV recordings over the festive season, I got the ominous 'A critical Media Center process has failed' message.

If you search on the GreenButton, and other popular forums, you'll pretty much see that people are tearing their hair out on this one - everything from new motherboards to repeated rebuilds to try and get rid of it.

Now, being from a SW engineering background, I'm not sure who in the ivory tower decided it was a good idea to present this as a modal dialog to the end-user on the 10-foot interface, rather than log something useful in the event logs, or even (gasp) 'report' the issue and get a fix for it, but here is story from my perspective, and what it led to:

  • Recordings.xml was about 1.5MB, and had about 2 years worth of series recordings, in fact it was moved over from the MCE2005 machine using Ian Dixons 'MCEBackup' utility, which works really well.
  • Disk space was down to about 20GB free, on a 250GB drive
  • About every 30 minutes, usually when using the Recorded TV page the message appeared, and the machine stuttered for a few minutes, then came back to life.
  • A number of error logs appeared in C:\ProgramData\Microsoft\ehome (433 of them)
  • The machine started recording two scheduled shows, and then 'stuck' - the shows were (alledgedly) still recording the next day.

I dont understand what actually caused this, but I remedied with the following steps. If you want to actually keep all those series settings that you have booked in, then use Ian's MCEBackup utility to back them up before you continue.

  1. Stop "Windows Media Center Scheduler Service" and "Windows Media Center Receiver Service". Services
  2. Delete Recordings.xml , and Recordings.xml.bak from C:\ProgramData\Microsoft\ehome\Recordings
  3. Restart the "Windows Media Center Service Launcher" service
  4. Restore the recordings if you backed 'em up.

I skipped the restore, and booked the ones I wanted to keep in again using the keyboard, I suspect that 'series bloat' is more than a contributing factor here.

Now, I think we are looking at a number of bugs here Microsoft:

  • The recording disk space limit in the settings menu doesnt appear to work all the time - MCE went 'over' it's disk space budget, and when it's done this, it appears to refuse to delete shows that are old (which is the intended mechanism to make disk space)
  • 'Something' is going on with the Recordings.xml file - given that this is a fairly simple 'dump' of the booked in recordings I'm not sure what.
  • finally, the crash reporting on my machine doesnt appear to be reporting anything - I doubt that it has reported the 433 crashes to the mother ship - if this due to the nature of the issue, then I suspect it might not be hugely understood back in Redmond.

(one of the 433 crash reports)

[Crash Information]ReportVersion=2MainBinary=C:\Windows\ehome\ehRec.exeMainBinaryVersion=6.0.6000.16386 (vista_rtm.061101-2205)CrashTime=11/20/2007 22:54:41 UTCException=System.NullReferenceExceptionExceptionMessage=Object reference not set to an instance of an object.
[Stack Trace]IP=0x000001ad RecordingObjects.RecordingScheduleItem.get_AlternateAirings()+0x7A :0,0IP=0x00000166 RecordingObjects.ConflictManager.FixAlternateStates(RecordingObjects.RecordingScheduleItem item)+0x43 :0,0IP=0x00000055 RecordingObjects.ConflictManager.FixAlternateStatesOnStateChange(RecordingObjects.RecordingScheduleItem item, ehiProxy.DVRSTATE oldState, ehiProxy.DVRSTATE newState)+0x29 :0,0IP=0x000001b7 RecordingObjects.RecordingScheduleItem.StatePostTransition(ehiProxy.DVRSTATE oldState, ehiProxy.DVRSTATE currentState)+0x115 :0,0IP=0x00000166 RecordingObjects.RecordingScheduleItem.set_State(ehiProxy.DVRSTATE value)+0x9B :0,0IP=0x00000967 RecordingObjects.RecordingScheduleItems.ConsistencyCheck(System.Object state)+0x38E :0,0

Its a real shame that this particular issue is not well understood and patched already, as it may even be spreading like rot across the MCE Vista community (!).

So, my feature request for 2008, is that there be an update to Windows Home Server, that incorporates Media Center 'server side' functionality - so that the machine can be used as a media center via the new v2 Media Center Extenders - this way the MC becomes more 'appliance' like, there are less pathces and updates required (because there is less 'clag' on the machine), and it's therefore more stable... it will be interesting if this becomes a reality .. I suspect (as others do) that this will be a future version.. 8-(

Hey ho, roll on Feb 1st when we can get our hands on a Linksys DMA2100 extender.... 8-)


Anonymous said...

Seems to work for me.

Thank you very much for the fix!


mart said...

No problem 8-)

Anonymous said...

Absolutely awesome!

Worked for me!


Anonymous said...

Worked like a charm. Thank you so much!

Yanyna said...

Thank You!!

BeezleBob said...

Cheers doooood! This worked for me. You're right - there is a problem with series bloat.

Anonymous said...

Thank a lot. I've been working on this for hours. Your solution worked within minutes. Can't the guys at Microsoft think of this(and post it).

Thanks again, Roy

Anonymous said...

thanks. It works great for me too.

Anonymous said...

Thanks for the fix.
Many users including myself affected with this problem and you are the only one who has com up with a fix. Was just about to reload Vista. Microsoft don't seem to acknowledge this is a serious bug in Vista.

Anonymous said...


Thanks for the fix,
the date is 28/12/08 and I still experienced this problem.

Your fix helped and now my media centre (in vista) is back to normal!!

After weeks of searching forums, green button etc, there was no comprehensive fix as you have posted.

Thanks again

Anonymous said...

Hours of searching the web with no luck, stumbled on your site and this fixed it. Thanks very much.


Anonymous said...

At last a fix that works!

Thank you


Anonymous said...

This problem occurred for me after I had moved a few recordings to an external hard drive. I usually record to my internal drive and move any recordings I want to keep over to the external. In my case, the external drive was off and I clicked on a program I wanted to record, which caused the error. Once I turned the external drive back on, the problem went away....sheesh!

Anonymous said...

Thanks, thanks, thanks. I've been fighting with problem for 6 months now and I refuse to take the Windows reinstall route, so finding your solution was fantastic and it worked a treat. Thanks again.

Tenor Gil said...

The information here allowed me to fix my problem. The services had been disabled. So this was not my problem, but the description helped me get going.