I have a web application which from time to time get IE in a hung state, where IE uses 100% of the CPU. The only way out is to terminate the IE process.
When I look at the stack trace of the thread which is hung in iexplore.exe, I see that the stack traverses mshtmled.dll. I am used to see mshtml.dll in those stack traces, but not mshtmled.dll.
The methods being called make you think there is a editor on the page (like CSelectionManager::SetEditContext
or CSelectionManager::EnsureEditContextClick
), but I have no HTML editor being used on the page (such as the FCK editor of the YUI RTE).
So I am really wondering: how is mshtmled.dll used by IE?
Trying to disable mshtmled.dll
@VonC suggested in the comments that I disable the mshtmled.dll through Manage Add-ons dialog, which you get from the Programs tab of the Internet Options. After disabling that dll and restarting IE, I can see that it is reported as disabled:
alt text http://img.skitch.com/20090226-c9e9ygek8i6a7di3jija2x317k.png
After this, I am however still able to reproduce the problem, and I do see (gasp!) mshtmled.dll being used in the stack trace of the hung thread:
alt text http://img.skitch.com/20090226-m3167dxb8iaax3wgy22eatruyp.png
Microsoft Hotfix
Microsoft has a hotfix to mshtmled.dll for a problem very similar to the one I am seeing. But this hotfix is most likely installed on the machines on which we can reproduce the problem since we have SP3. It looks to me like the problem I'm having here is of a similar nature to the one fixed. I am just mentioning this here in case someone finds this useful.