Sunday, December 30, 2007
Reliability Monitor on a Media Center PC
When writing my prior entry examining my work TabletPC, I thought to take a look at what Reliability Monitor shows on my home PCs. Since I spent a lot of time starting early this morning hanging out in the living room with my 7-month-old, during a brief nap I screen-capped my Media Center PC's Reliability Monitor and pasted it into a WordPad document for later analysis. (I also confirmed that there's no good way to export the data to do something less time-consuming with it.)
Since this PC for the most part spends its entire life playing TV and, shall we say, downloaded TV, for my wife and I, its key application is ehShell.exe or the Media Center 10-foot interface. This PC has had a fresh install of Vista on it since May 26th so that is the timeframe we're working with. Here is the chart of failures:
Note that this is EVERY failure I've experienced since I put my first clean install of Vista on my Media Center PC. This PC is used almost every night to watch TV and has been on a daily reboot schedule for about six months. (It will be moved back to my office within a week as I have a Linksys DMA 2100 on order -- keep an eye on the blog for details. This will move the UI work off of this PC, and make for a MUCH quieter living room.)
Why does ehRecvr.exe crash more than ehShell? What does it even do? (I assume it is the headless service that talks to the tuners, records stuff, etc.) Seeing these stats, I do remember that frequently when I resume from standby I see that error on screen, and no real descriptive information is given. Poking around on Google (constrained by site:microsoft.com; searching any process name has become a hell of shady "spyware prevention" sites), I see that there is a hotfix for those who have more than one tuner (which I do) that patches Qdvd.dll and one related to MPEG-2 decoders. Both are that wonderful type of hotfix that require a call to Microsoft. A search against site:msdn.com shows this comment on Aaron Stebner's blog (which I subscribe to and heartily recommend); following that advice I looked for ehrecvr.log but found only a zero-byte file in C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp. I suppose these crashes will remain a mystery for now; hopefully leaving the Media Center running all the time instead of waking it up for use and letting it go back to sleep all the time, or using an extender instead of the direct UI, will reduce the problem.
Onto ehShell crashes, which are annoying because, well, you've just been booted out of the "TV" back to Windows. As per Aaron's suggestion, I found an ehshell.crash from 8:30 this morning. I happen to remember this crash because before I went to bed, I left the Media Center PC in the Video Library looking at my "TV" sharee on my primary home PC. This folder contains a lot of, uh, found TV shows encoded in a variety of ways, and occasionally my Media Center PC will crash when in this folder, attempting to index TV shows for which it may not have a codec. I resumed the PC this morning to find it in that folder, and the shell would not respond to anything. Maybe returning to a networked location that wasn't quite available yet (due perhaps to DHCP renewal delay) crapped it out? Regardless, ehshell.crash was pretty useless as all it said was "Generic failure from Win32 that did not SetLastError()" followed by a bunch of messages related to layout.
In summary, I have no idea what is causing my primary ehRecvr crash (perhaps old drivers for my tuner cards?), and I am pretty sure what causes the ehShell crashes (TV rips with esoteric codecs). Since the two crashes do not seem to occur together (according to Reliability Monitor, ehShell has not crashed since November 14th) I guess it is safe to say that, on average, my Media Center PC experiences a crash 10 times a month -- though the trend is downward lately (6 crashes per month for the last two months). Still, think about it: your TV crashing on you more than once a week, despite rebooting it EVERY DAY, is sort of like a joke you might have made 10 years ago if someone suggested that Microsoft was going to make software for TVs.
Links to this post: