avernet
avernet

Reputation: 31753

IE hanging, using 100% of the CPU

I have a web application, which in the course of a normal interaction, hangs IE. By "IE being hung", I mean that IE doesn't respond anymore and using 100% of the CPU. The only to get out of this state is to kill the IE process. About the app:

I am wondering if anyone has seen this already, and if there are a few known cases that can get IE into this hung / using 100% of the CPU state.

Upvotes: 3

Views: 3567

Answers (3)

George V. Reilly
George V. Reilly

Reputation: 16323

Use WinDbg, http://www.microsoft.com/whdc/devtools/debugging/

Attach it to the IE process that has the problem.

The .symfix+ command will set your symbol path to point to the Microsoft symbol server and cache the debug symbols locally.

The !runaway command will enumerate all the stacks in the process and tell you which one is going berserk.

If you're lucky, you may see something recognizable, such as a regex replacement at the top of the stack. Or perhaps the layout engine has gone into an infinite loop. Both of these have happened to me in the past.

If the callstack doesn't make sense, use 'g' to make the process go, wait a few seconds, hit Ctrl+Break, then try !runaway again.

Once you've got the symbols locally, you can also use SysInternals' Process Explorer to look at a process's stacks. Configure the Symbols option in Process Explorer to point to your local symbol cache, something like c:\Program Files\Debugging Tools for Windows\sym.

Upvotes: 6

leppie
leppie

Reputation: 117280

Try attaching the script debugger (via Visual Studio, in my case), and see what is causing it.

Most likely it's a javascript running an infinite loop, or just looping too fast for what needs to be done per ajax request.

Upvotes: 1

Bjorn
Bjorn

Reputation: 71900

Have you tried tracing the problem? If the problem also happens in IE8 you could use console.log commands and their awesome new debugger/dev tool that's built in. Otherwise use the old dev toolbar for IE or alerts. Try to reduce the problem and then file a bug (and paste the code here please).

Upvotes: 0

Related Questions