Some anecdotical info on this issue, nothing conclusive unfortunately. A problem with Windows Update on a fresh Installation of Windows 7 Pro 64 Bit SP 1 led me here. The Computer would hang for more than an hour searching for updates with one core on a Core 2 Duo fully taken by svchost.exe -k netsvcs and the other core idling. Dumping a couple of that process' threads in procexp.exe, I found they were spending their time spinlocking in wuaueng.dll (Windows Update Engine, I guess). Here's one of the thread dump samples:
- Code: Select all
ntoskrnl.exe!KeWaitForMultipleObjects+0xc0a
ntoskrnl.exe!KeAcquireSpinLockAtDpcLevel+0x732
ntoskrnl.exe!KeWaitForSingleObject+0x19f
ntoskrnl.exe!_misaligned_access+0xba4
ntoskrnl.exe!_misaligned_access+0x1821
ntoskrnl.exe!_misaligned_access+0x1a97
hal.dll!HalReturnToFirmware+0x1189
hal.dll!KeQueryPerformanceCounter+0x74
ntoskrnl.exe!FsRtlAllocateExtraCreateParameterFromLookasideList+0x11b
ntoskrnl.exe!KeSynchronizeExecution+0x3a23
ntdll.dll!NtQueryPerformanceCounter+0xa
ntdll.dll!RtlQueryPerformanceFrequency+0x16
wuaueng.dll!DllInstall+0x1666e
wuaueng.dll!DllInstall+0x16407
wuaueng.dll!DllInstall+0x83e9
wuaueng.dll!DllInstall+0x6b27
wuaueng.dll!DllInstall+0x6b61
wuaueng.dll!DllInstall+0x68bb
wuaueng.dll!DllInstall+0x11582
wuaueng.dll!DllInstall+0x11ffe
wuaueng.dll!DllInstall+0x2a896
wuaueng.dll!DllInstall+0x274e2
wuaueng.dll!DllInstall+0x25c54
wuaueng.dll!DllInstall+0x6229
wuaueng.dll!DllInstall+0x591f
kernel32.dll!BaseThreadInitThunk+0xd
ntdll.dll!RtlUserThreadStart+0x21
There was nothing helpful in C:\Windows\WindowsUpdate.log or C:\Windows\Logs\CBS\CBS.log or eventvwr. I'm not a Windows admin and so I may have overlooked stuff.
I started searching the web for information on how Windows Update works but didn't find anything really enlightening.
An hour ago I gave the WSUS offline USB stick I had just created a try. There was a moment of disappointment when it stalled at the line:
12:45:36,76 - Listing ids of missing updates (please be patient, this will take a while)...
I decided to give it a fair chance of at least an hour. And yeah, after 25 minutes:
13:11:19,27 - Done.
And now update upon update is rolling, 136 in total. Great tool! Logging is so much better than with Windows Update. "Please be patient, this will take a while", sometimes that's all it needs. Plus, you have a forum that has already proven more helpful then the various Microsoft forums I've tried, and of course the source code. Thank you!