From

Thank you

Sorry

Microsoft thought it had the Windows XP update redlining problem solved in this month's Black Tuesday crop of patches. Instead, the problem's back this month with a vengeance. The Microsoft Update team has analyzed the latest manifestation, come up with an explanation, and has promised that a permanent solution will arrive "as soon as possible."

Windows Update team member Doug Neal has just posted a message to the Patch Management Mailing List that explains what's happening when Windows XP's Windows Update agent, wuauclt.exe (running in a SVCHOST wrapper), drives CPU utilization to 100 percent -- and can keep WinXP machines pegged at 100 percent for 15 minutes or longer.

The problem is caused by the Windows Update client evaluating an exceptionally long supersedence chain - something IE6 and IE7 have more than any other version of IE due to their time in market. Each 'link' in the chain doubles the CPU resources needed to evaluate it over the previous version. The chain is so long that the design stymies the WUA client.

In other words, when you run Windows Update, the program has to bang against Microsoft's internal database of patches and figure out which patches need to be applied and which ones have been superseded and can be ignored. Since IE6 and IE7, in particular, have been around since the dawn of time, that's an enormous pile of patches to sort through.

Reading between the lines of Neal's response, it occurs to me that 1) the method for traversing the tree of available patches is enormously inefficient ("doubles the CPU resources") and 2) there should be some way to pre-evaluate the most common chains and bypass supersedence checking entirely in many cases -- or at least minimize it.

Be that as it may, Microsoft's solution is to go in and crop the tree: remove dead branches that don't need to be pursued. As Neal explains it:

We thought this problem was one of extremely long supersedence chains in IE6/IE7 which we fixed with Tuesday's release. We're hearing from you and others that this didn't fix the problem... We're working to expire these exceptionally old, dated, unnecessary updates in the chain. The expirations for these didn't happen as planned.

Those of you who have written to me and expressed a Dexter-like rage at the people inside Microsoft who caused their machines to keep churning for hours on end might take note that Microsoft really did think it had the problem licked with this month's Black Tuesday patches.

Neal concludes by saying:

While I can't provide a date for when this will be done, we know it's an issue affecting customer PCs and we're working to get it out as soon as possible to halt the impact.

If it's any consolation, you can put away the butcher knife, roll up the plastic, and trust that a fix is coming before too long. But don't throw away the carving tools just yet, OK? We may need them.