Sunday, July 18, 2004 8:54 PM
by
jonathanh
"That looks like a GDI leak"
After reading KC Lemson's blog entry about her system slowing down due to wisptis.exe leaking GDI objects, I fired up Task Manager and started poking around (click View, Select Columns, and then add "GDI Objects" to follow along). Outlook and my web browser were both pretty chunky, with a few hundred GDI objects each, but since they're heavily graphical that's understandable - and they weren't actively leaking. However, one application stuck out like a sore thumb with over a thousand GDI objects allocated. The guilty party? Toshiba's tpwrtray.exe, for creating custom power schemes on this Portege 3500 tablet pc.
Just to be sure, I killed and restarted it, and then ran a little experiment. TPWRTRAY starts out with a measly 55 GDI objects allocated, but woe betide you if you ever actually want to interact with it. Just wave the mouse pointer across its system tray control five times and you're talking 577 GDI objects. Open and close its properties panel five times, and that figure grows to 1255 GDI objects. With 60 seconds of idle mouse-pointer-waving I took it to 4,000 GDI objects, and it was still hemorrhaging!
This has to be the easiest denial-of-service attack ever on a Toshiba laptop - no typing required, just wave that pointer over the tpwrtray control and wait for the GDI leak to bring Windows to a grinding halt...