20080825

How to handle a file

Occasionally, I come across a problem that, while annoying, isn't really going to be any kind of a show stopper.  I'll work at it for a while, then eventually decide that it's too much trouble, put it on one side and forget completely about it.  Until I notice that whatever it was still hasn't been resolved, then I'll start worrying at the bit for a while again... and so on and so on.

One of these problems is the inordinate number of file handles that one of my system processes seems to use up over time.  I'm referring to a process called 'audiodg', which is apparently associated with removing the DRM data that may be attached to various audio files before permitting other processes to play the file.  It's another puny attempt to control access to data.  (Hint to MS and various music publishers - someone, somewhere WILL crack whatever protections you use, and then it's all downhill from there on.  Why waste your time, our resources and everyone's patience chasing a goal that's unobtainable?)

Audiodg is run as a protected process, to stop all those nasty hackers from breaking whatever DRM the publishers have added (see above).  This means you can't easily see what it is up to.  However, when it is listed as holding in excess of 4 million file handles after a day or so running, I think questions of exactly what it is up to become irrelevant: what interests me is how to stop it.

Fortunately, the cure is very simple - stop and restart the audiosrv service.  This kills and recreates the audiodg process, with a nice clean no-handle instantiation.  It doesn't stay that way, but it does at least work reproducibly.

Give the nature of the beast, info is not easy to find.  I can't see anyone else complaining about this problem elsewhere, so perhaps there's something odd in my setup.  I had put it down to the SoundMAX audio driver, but I'm not so confidant that this is the real culprit - surely if that were the case someone else would have seen and reported this.  In the meantime, having just restarted the service, I'll probably forget all about the issue - until I notice the system running slowly and chewing up memory like there's no tomorrow again.

No comments: