I recently took a Debugging class by John Robbins where he mentioned how he used the task manager to identify handle leaks in debugging one of the ASP.NET applications for a client. I had never used this feature of the task manager to understand what each process is holding on to. This made me curious and I tried it on my Windows XP machine at home. I launched the Windows task manager and added "handles", "page faults", and "GDI objects" to the task manager.

In particular, one program caught my eye - 1xConfig.exe. It had been holding more than 45,000 handles and the number was steadily increasing. I hadn’t shut down my laptop in a fairly long time and had been just hibernating it all this while, but that was no excuse for that process hogging resources like crazy. To give some perspective, Internet Explorer maintained only around 1000-2000 handles. Clearly, 1xConfig was holding on to more handles than it needed - its a major handle leak!

A quick search on the internet revealed that the program is part of the software that comes with Intel Pro Wireless Adapter. Some of the sites also mentioned about the handle leaks! I killed the process and everything still seemed to work alright.

Now I had to fix this somehow, because I knew it's going to again start hogging handles on system restart. I went to Dell's website to download an update of the Intel Wireleess Pro software. I have just installed it. Installation was quite seamless and did not require me to restart the computer. It has not launched the 1xConfig.exe process yet, but there is a dot1xcfg.exe, which might be a replacement for it.

A very simple technique, yet fairly powerful results!