Over the last couple of weeks, I’ve noticed an odd thing about my primary laptop (Sony Vaio Z Series, Core i5 540M, 8GB RAM, Win7 x64)
- It’s running hotter and the fan runs continuously
- The performance isn’t what it should be
- The battery life isn’t as good as it usually is.
Sound familiar? Perhaps your machines are also experiencing the following issue. I’ve posted a temporary workaround for this issue below, but here’s how I got there…
Hunting-down the issue
Here’s my Task Manager’s performance graph on my laptop while running no other client applications:
Switching to the Processes tab, hitting “Show processes for all users” and sorting by CPU usage shows that taskhost.exe is eating 25% of my CPU:
Interesting. But what is taskhost running? For this we need to open SysInternals’ Process Explorer (run elevated on Win7/Vista to get additional debug info). Scrolling through the list of running processes shows taskhost.exe eating 25% of the CPU:
Double-click taskhost.exe to see what threads are busy:
Hmmm … RacEngn is the culprit. So what is RacEngn? Hit the module button and hit the details tab on the DLL’s property page:
So, this is the Windows Reliability Analysis Calculation Engine.
Close the DLL’s properties page and, back in ProcExp, double-click the overworking thread. You’ll see something similar to this:
The RAC Engine appears to be stuck after calling RacSysprepSpecialize.
Note that the top of the stack indicates that the function is stuck in the kernel’s SeAccessCheckWithHint function, but this is a red-herring as this kernel function is the mechanism through which Process Explorer reads the thread’s stack.
Now, I know that the RAC Engine is running under taskhost.exe which is a Scheduled Task. Opening the Scheduled Tasks app and navigating to "Task Scheduler Library/Microsoft/Windows/RAC” I can see that the RAC Engine is running:
Right click this task and hit “End” and suddenly my machine’s CPU quietens, the fan turns off, and things return to normal:
For now, I’ve disabled the RAC engine’s task (right-click task and hit “Disable") until we can get to the bottom of this issue.
I posted some of these findings to the forum discussion where several others are also seeing this problem. I also sent this issue through to a Microsoft contact and will update this post with subsequent findings if and when I get some details/answers.
Apologies for not posting an update to this issue before now!
Microsoft looked into the problem described above and concluded that it was caused by a corrupt RACEngine data file and that I should delete the contents of %programdata%\Microsoft\RAC\StateData\. Since doing so, the problem has disappeared. Hope this helps someone.